From 4b2091e8c988049f7db2f58885d785729bd55afe Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 20 Apr 2016 00:17:17 -0700 Subject: [PATCH] [FIX] account: demo data invoice line without required name [IMP] account: d'ont create journal items for invoice lines with quantity 0 (not amount because of tax) [IMP] crm: usability kanban view and schedule an activity [FIX] crm: schedule an activity bug when no activity yet [IMP] website: app for website (not a menu in website admin) --- addons/account/demo/account_invoice_demo.yml | 24 ++++++------------ addons/account/models/account_invoice.py | 2 ++ addons/crm/crm_lead.py | 10 +++----- addons/crm/crm_lead_view.xml | 9 +++++-- addons/crm/wizard/crm_activity_log.py | 2 +- addons/crm/wizard/crm_activity_log_views.xml | 15 +++++++++-- addons/website/data/data.xml | 3 +-- addons/website/views/res_config.xml | 3 --- .../website_event/static/description/icon.png | Bin 2946 -> 1240 bytes 9 files changed, 36 insertions(+), 32 deletions(-) diff --git a/addons/account/demo/account_invoice_demo.yml b/addons/account/demo/account_invoice_demo.yml index a03fdc6818f..be9471405d5 100644 --- a/addons/account/demo/account_invoice_demo.yml +++ b/addons/account/demo/account_invoice_demo.yml @@ -10,12 +10,10 @@ type: 'out_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-01' invoice_line_ids: - - name: '' - product_id: product.consu_delivery_02 + - product_id: product.consu_delivery_02 price_unit: 642.0 quantity: 5 - - name: '' - product_id: product.consu_delivery_03 + - product_id: product.consu_delivery_03 price_unit: 280.0 quantity: 5.0 - @@ -27,12 +25,10 @@ type: 'out_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-08' invoice_line_ids: - - name: '' - product_id: product.consu_delivery_03 + - product_id: product.consu_delivery_03 price_unit: 50.0 quantity: 3 - - name: '' - product_id: product.consu_delivery_01 + - product_id: product.consu_delivery_01 price_unit: 25 quantity: 20 - @@ -44,12 +40,10 @@ type: 'out_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-08' invoice_line_ids: - - name: '' - product_id: product.consu_delivery_01 + - product_id: product.consu_delivery_01 price_unit: 90.0 quantity: 5 - - name: '' - product_id: product.consu_delivery_03 + - product_id: product.consu_delivery_03 price_unit: 15.0 quantity: 5.0 - @@ -69,13 +63,11 @@ type: 'in_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-01' invoice_line_ids: - - name: '' - price_unit: 10.0 + - price_unit: 10.0 quantity: 1.0 product_id: product.product_delivery_01 uom_id: product.product_uom_unit - - name: '' - price_unit: 4.0 + - price_unit: 4.0 quantity: 1.0 product_id: product.product_order_01 uom_id: product.product_uom_unit diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index f8661ac7e3e..bf13bdc64c3 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -620,6 +620,8 @@ class AccountInvoice(models.Model): def invoice_line_move_line_get(self): res = [] for line in self.invoice_line_ids: + if line.quantity==0: + continue tax_ids = [] for tax in line.invoice_line_tax_ids: tax_ids.append((4, tax.id, None)) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 211e31d9b7c..8d576958f58 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -114,18 +114,16 @@ class crm_lead(FormatAddress, osv.osv): } def _compute_kanban_state(self, cr, uid, ids, fields, args, context=None): - """ Very interesting kanban state color. This makes complete sense. Or - not. """ result = {} today = date.today() for lead in self.browse(cr, uid, ids, context=context): - result[lead.id] = 'grey' + result[lead.id] = 'red' if lead.date_action: lead_date = datetime.strptime(lead.date_action, tools.DEFAULT_SERVER_DATE_FORMAT).date() - if lead_date > today: + if lead_date >= today: result[lead.id] = 'green' elif lead_date < today: - result[lead.id] = 'red' + result[lead.id] = 'grey' return result def _compute_day(self, cr, uid, ids, fields, args, context=None): @@ -174,7 +172,7 @@ class crm_lead(FormatAddress, osv.osv): select=True, track_visibility='onchange', help='When sending mails, the default email address is taken from the sales team.'), 'kanban_state': fields.function( _compute_kanban_state, string='Activity State', type="selection", - selection=[('grey', 'Normal'), ('red', 'Blocked'), ('green', 'Ready for next stage')]), + selection=[('grey', 'No next activity planned'), ('red', 'Next activity late'), ('green', 'Next activity is planned')]), 'create_date': fields.datetime('Creation Date', readonly=True), 'email_cc': fields.text('Global CC', help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'description': fields.text('Notes'), diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index d0f78e9cf40..0e6b43ab9d1 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -284,11 +284,16 @@
- + + + +
diff --git a/addons/crm/wizard/crm_activity_log.py b/addons/crm/wizard/crm_activity_log.py index bc3eb778ff5..b4303e8d8cf 100644 --- a/addons/crm/wizard/crm_activity_log.py +++ b/addons/crm/wizard/crm_activity_log.py @@ -12,7 +12,7 @@ class ActivityLog(models.TransientModel): _rec_name = 'title_action' next_activity_id = fields.Many2one('crm.activity', 'Activity') - last_activity_id = fields.Many2one('crm.activity', 'Previous Activity') + last_activity_id = fields.Many2one('crm.activity', 'Previous Activity', default=False) recommended_activity_id = fields.Many2one("crm.activity", "Recommended Activities") title_action = fields.Char('Summary') note = fields.Html('Note') diff --git a/addons/crm/wizard/crm_activity_log_views.xml b/addons/crm/wizard/crm_activity_log_views.xml index 73988958124..b5daaea2e03 100644 --- a/addons/crm/wizard/crm_activity_log_views.xml +++ b/addons/crm/wizard/crm_activity_log_views.xml @@ -51,7 +51,7 @@

Recommended activities:

+ domain="[('preceding_activity_ids', '=', last_activity_id)]"/>
@@ -71,4 +71,15 @@ new - \ No newline at end of file + + + + Schedule an Activity + ir.actions.act_window + crm.activity.log + form + + new + + + diff --git a/addons/website/data/data.xml b/addons/website/data/data.xml index 84c7e5877f3..dd9f3b5fc84 100644 --- a/addons/website/data/data.xml +++ b/addons/website/data/data.xml @@ -87,14 +87,13 @@ self - Website website,static/description/icon.png - + open diff --git a/addons/website/views/res_config.xml b/addons/website/views/res_config.xml index b3e63f089b2..cb899adc937 100644 --- a/addons/website/views/res_config.xml +++ b/addons/website/views/res_config.xml @@ -155,9 +155,6 @@ - - - diff --git a/addons/website_event/static/description/icon.png b/addons/website_event/static/description/icon.png index edc5baaa9b078a26c006350714f754ec01fee0b9..e966c247ec598d4172020a2df9a98e5b68f3e93d 100644 GIT binary patch delta 1227 zcmV;+1T_1C7uX3QiBL{Q4GJ0x0000DNk~Le0000`0000`2m=5B0J+ZspOGOSe*ykb zOjJeJ%bBU5c&VUxsi1h*%bC~9nb*si*UOoypm?dEc&MLvtfP9)!jjs}o2a08+RmHD zyN%b&nb*sisi1iO|Nqy^nD+DN*vy-#pLW*Dm+CBGr=NGLqI%83 zlKlJm#=xcd`1Z!Yrp&>StfG3Xqk7B0k<`bN;Mu&&zmW0l+|I(1*2$KvqkGlKmCwVI z&B2nZqIuTIm8zn7*vy>Q%$eBBndIHS`}+C){QBM2y2rq#$HAuE*~!_?f19nOd!?Lm z)yb6E&6=m4b>H00%fXTF>)84E_sqeP)5nzB&!OVkwD|b+q?>X1_weuQ+}X~a;@iFC z+`i-7zWVz2)yR|O-oMkwljGaDL(W^0{Nll|oTZB?Z7gG@x8ScIJ-dn-F_ulJUnwsEgJ;`&Q$bG?!{6E0&b@pn+m-A zs2T4uzDoo5veJ|&^zt(UKI6e18hAK##S#W7PPzn$9cMN0v{7TVl>D3Iz8*X3!{G6y zrW`y#Jajq?o`=e;KVzwo};Lr3&U5ygxl_( zgSh)lm~p3!e>Vt}w7h6$^iy?97~nVpCsh}SdMCp(!LfuTR{h^};g&~9Hs5e{Q zx?}s=1r8wDvf2W-ZNOag2ypgF3v3j5fwL@djt}~v5Bi`F4pVS}6}@kRjcNDacnC1~ zI%wBDc&B75?b4!mF!<)}Ji8Z*tq`-iJ*3=uDS>eb2r6pJnqf=-iKQsotS2?BZx9rwSZF%qEphnH<11^*7xK2V*H37uo;-002ovPDHLkV1gLs--`eM literal 2946 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