diff --git a/addons/account/__terp__.py b/addons/account/__terp__.py index eb9786c9d63..2679bc5e515 100644 --- a/addons/account/__terp__.py +++ b/addons/account/__terp__.py @@ -70,6 +70,6 @@ ], 'installable': True, 'active': False, - 'certificate': '80331923549', + 'certificate': '0080331923549', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index eafc2c3f605..7f86f86420d 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -113,7 +113,7 @@ class account_move_line(osv.osv): account = journal_obj.default_debit_account_id - if account and ((not fields) or ('debit' in fields) or ('credit' in fields)) and 'partner_id' in data: + if account and ((not fields) or ('debit' in fields) or ('credit' in fields)) and 'partner_id' in data and (data['partner_id']): part = self.pool.get('res.partner').browse(cr, uid, data['partner_id']) account = self.pool.get('account.fiscal.position').map_account(cr, uid, part and part.property_account_position or False, account.id) account = self.pool.get('account.account').browse(cr, uid, account) @@ -707,6 +707,7 @@ class account_move_line(osv.osv): return result def unlink(self, cr, uid, ids, context={}, check=True): + print "CC" self._update_check(cr, uid, ids, context) result = False for line in self.browse(cr, uid, ids, context): diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index ab8678439fb..cdc0786c6eb 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -1309,7 +1309,7 @@ - + Entry Lines account.move.line form tree,form diff --git a/addons/account/report/invoice.rml b/addons/account/report/invoice.rml index c38a1b39623..3542841e7b4 100644 --- a/addons/account/report/invoice.rml +++ b/addons/account/report/invoice.rml @@ -326,7 +326,7 @@ [[ l.name ]] - [[ ', '.join([lt.name for lt in l.invoice_line_tax_id]) ]] + [[ ', '.join([ lt.description or '' for lt in l.invoice_line_tax_id ]) ]] [[ formatLang(l.quantity)]] @@ -489,7 +489,7 @@ - [[ t.name ]] + [[ lt.description and lt.description + ' - ' + t.name or t.name ]] [[ formatLang(t.base) ]] diff --git a/addons/account_analytic_analysis/__terp__.py b/addons/account_analytic_analysis/__terp__.py index b45b828c2a8..89c9c6741f0 100644 --- a/addons/account_analytic_analysis/__terp__.py +++ b/addons/account_analytic_analysis/__terp__.py @@ -43,6 +43,6 @@ Add menu to show relevant information for each manager.""", 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '42927202589', + 'certificate': '0042927202589', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_default/__terp__.py b/addons/account_analytic_default/__terp__.py index ae3e599119d..cea4b3b981e 100644 --- a/addons/account_analytic_default/__terp__.py +++ b/addons/account_analytic_default/__terp__.py @@ -41,6 +41,6 @@ Allows to automatically select analytic accounts based on criterions: 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '74229833581', + 'certificate': '0074229833581', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_plans/__terp__.py b/addons/account_analytic_plans/__terp__.py index 722bf2727d3..97d22b33fe4 100644 --- a/addons/account_analytic_plans/__terp__.py +++ b/addons/account_analytic_plans/__terp__.py @@ -66,6 +66,6 @@ for one account entry. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '36417675373', + 'certificate': '0036417675373', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_balance/__terp__.py b/addons/account_balance/__terp__.py index 05de61e62ae..165e1e75aaa 100644 --- a/addons/account_balance/__terp__.py +++ b/addons/account_balance/__terp__.py @@ -47,6 +47,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '81928745309', + 'certificate': '0081928745309', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_budget/__terp__.py b/addons/account_budget/__terp__.py index bcb1ab7ffd6..2b6e84089a5 100644 --- a/addons/account_budget/__terp__.py +++ b/addons/account_budget/__terp__.py @@ -58,6 +58,6 @@ Three reports are available: 'demo_xml': ['crossovered_budget_demo.xml'], 'installable': True, 'active': False, - 'certificate': '43819694157', + 'certificate': '0043819694157', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_chart/__terp__.py b/addons/account_chart/__terp__.py index bb3aee9760c..4733043cc5b 100644 --- a/addons/account_chart/__terp__.py +++ b/addons/account_chart/__terp__.py @@ -33,6 +33,6 @@ 'update_xml': [], 'demo_xml': [], 'installable': True, - 'certificate': '73332443901', + 'certificate': '0073332443901', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_date_check/__terp__.py b/addons/account_date_check/__terp__.py index 9f38a0c5305..6a4741f916b 100644 --- a/addons/account_date_check/__terp__.py +++ b/addons/account_date_check/__terp__.py @@ -42,6 +42,6 @@ period !" 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '66174843389', + 'certificate': '0066174843389', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_followup/__terp__.py b/addons/account_followup/__terp__.py index ba384eb5360..d626ccdd459 100644 --- a/addons/account_followup/__terp__.py +++ b/addons/account_followup/__terp__.py @@ -51,6 +51,6 @@ 'demo_xml': ['followup_demo.xml'], 'installable': True, 'active': False, - 'certificate': '72481076453', + 'certificate': '0072481076453', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_invoice_layout/__terp__.py b/addons/account_invoice_layout/__terp__.py index 05389645833..c1e28ad8713 100644 --- a/addons/account_invoice_layout/__terp__.py +++ b/addons/account_invoice_layout/__terp__.py @@ -48,6 +48,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '57235078173', + 'certificate': '0057235078173', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_payment/__terp__.py b/addons/account_payment/__terp__.py index 348b9b1ce08..812bd319306 100644 --- a/addons/account_payment/__terp__.py +++ b/addons/account_payment/__terp__.py @@ -49,6 +49,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '61703998541', + 'certificate': '0061703998541', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_report/__terp__.py b/addons/account_report/__terp__.py index 1d1ac5ca605..0aed736ec78 100644 --- a/addons/account_report/__terp__.py +++ b/addons/account_report/__terp__.py @@ -42,6 +42,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '50976406925', + 'certificate': '0050976406925', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_reporting/__terp__.py b/addons/account_reporting/__terp__.py index 4f98660da09..eff79429153 100644 --- a/addons/account_reporting/__terp__.py +++ b/addons/account_reporting/__terp__.py @@ -39,6 +39,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '72305016797', + 'certificate': '0072305016797', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_tax_include/__terp__.py b/addons/account_tax_include/__terp__.py index 9e8c138cd41..db8143735f1 100644 --- a/addons/account_tax_include/__terp__.py +++ b/addons/account_tax_include/__terp__.py @@ -38,6 +38,6 @@ This module implement the modification on the invoice form. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '70514190381', + 'certificate': '0070514190381', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_voucher/__terp__.py b/addons/account_voucher/__terp__.py index 20c6e7c885a..dca0f4075f2 100755 --- a/addons/account_voucher/__terp__.py +++ b/addons/account_voucher/__terp__.py @@ -49,6 +49,6 @@ Basic Accounting, plus new things that are available: 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '37580727101', + 'certificate': '0037580727101', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/analytic_journal_billing_rate/__terp__.py b/addons/analytic_journal_billing_rate/__terp__.py index 882ef832758..2290900f99a 100644 --- a/addons/analytic_journal_billing_rate/__terp__.py +++ b/addons/analytic_journal_billing_rate/__terp__.py @@ -40,6 +40,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '30271787965', + 'certificate': '0030271787965', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/analytic_user_function/__terp__.py b/addons/analytic_user_function/__terp__.py index ae5231cb84e..786919785b3 100644 --- a/addons/analytic_user_function/__terp__.py +++ b/addons/analytic_user_function/__terp__.py @@ -40,6 +40,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '82277138269', + 'certificate': '0082277138269', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/auction/__terp__.py b/addons/auction/__terp__.py index e2e7cd53e11..99e2b87718b 100644 --- a/addons/auction/__terp__.py +++ b/addons/auction/__terp__.py @@ -42,6 +42,6 @@ 'demo_xml': ['auction_demo.xml'], 'installable': True, 'active': False, - 'certificate': '39333102717', + 'certificate': '0039333102717', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/audittrail/__terp__.py b/addons/audittrail/__terp__.py index ccd86944270..122bd6dc789 100644 --- a/addons/audittrail/__terp__.py +++ b/addons/audittrail/__terp__.py @@ -39,6 +39,6 @@ 'demo_xml': ['audittrail_demo.xml'], 'installable': True, 'active': False, - 'certificate': '62572348749', + 'certificate': '0062572348749', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_contact/__terp__.py b/addons/base_contact/__terp__.py index f50bfdef95a..e02191c703f 100644 --- a/addons/base_contact/__terp__.py +++ b/addons/base_contact/__terp__.py @@ -51,6 +51,6 @@ 'demo_xml': ['base_contact_demo.xml'], 'installable': True, 'active': False, - 'certificate': '31287885469', + 'certificate': '0031287885469', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_contact/base_contact_demo.xml b/addons/base_contact/base_contact_demo.xml index fe6266e6bba..c92d6294ab5 100644 --- a/addons/base_contact/base_contact_demo.xml +++ b/addons/base_contact/base_contact_demo.xml @@ -4,7 +4,7 @@ - + PA diff --git a/addons/base_iban/__terp__.py b/addons/base_iban/__terp__.py index d677b401dba..b4de833c77b 100644 --- a/addons/base_iban/__terp__.py +++ b/addons/base_iban/__terp__.py @@ -35,6 +35,6 @@ This module install the base for IBAN bank accounts. 'update_xml': ['base_iban_view.xml'], 'installable': True, 'active': False, - 'certificate': '50014379549', + 'certificate': '0050014379549', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_iban/base_iban.py b/addons/base_iban/base_iban.py index aebaa940a9a..2d91e1d5b4c 100644 --- a/addons/base_iban/base_iban.py +++ b/addons/base_iban/base_iban.py @@ -38,13 +38,13 @@ class res_partner_bank(osv.osv): def create(self, cr, uid, vals, context={}): #overwrite to format the iban number correctly - if vals.has_key('iban'): + if 'iban' in vals and vals['iban']: vals['iban'] = _format_iban(vals['iban']) return super(res_partner_bank, self).create(cr, uid, vals, context) def write(self, cr, uid, ids, vals, context={}): #overwrite to format the iban number correctly - if vals.has_key('iban'): + if 'iban' in vals and vals['iban']: vals['iban'] = _format_iban(vals['iban']) return super(res_partner_bank, self).write(cr, uid, ids, vals, context) diff --git a/addons/base_module_merge/__terp__.py b/addons/base_module_merge/__terp__.py index 6d7b4d97fe1..4a2a004753d 100644 --- a/addons/base_module_merge/__terp__.py +++ b/addons/base_module_merge/__terp__.py @@ -41,6 +41,6 @@ 'update_xml': ['base_module_merge_wizard.xml'], 'demo_xml': [], 'installable': True, - 'certificate': '35756279709', + 'certificate': '0035756279709', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_publish/__terp__.py b/addons/base_module_publish/__terp__.py index af3afdfad0b..400409c6ebc 100644 --- a/addons/base_module_publish/__terp__.py +++ b/addons/base_module_publish/__terp__.py @@ -43,6 +43,6 @@ to call this button when you want to release a new version of your module. 'update_xml': ['base_module_publish_wizard.xml'], 'demo_xml': [], 'installable': True, - 'certificate': '67939821245', + 'certificate': '0067939821245', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_record/__terp__.py b/addons/base_module_record/__terp__.py index aaf16cc283f..8c6edb399a3 100644 --- a/addons/base_module_record/__terp__.py +++ b/addons/base_module_record/__terp__.py @@ -51,6 +51,6 @@ How to use it: 'update_xml': ['security/ir.model.access.csv', 'base_module_record_wizard.xml'], 'demo_xml': [], 'installable': True, - 'certificate': '83134865813', + 'certificate': '0083134865813', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_record/base_module_record.py b/addons/base_module_record/base_module_record.py index fa9c8a6b51f..9cfa5058031 100644 --- a/addons/base_module_record/base_module_record.py +++ b/addons/base_module_record/base_module_record.py @@ -182,7 +182,7 @@ class base_module_record(osv.osv): val = str(val) val = val and ('"""%s"""' % val.replace('\\', '\\\\').replace('"', '\"')) or 'False' - field.setAttribute(u"eval", val) + field.setAttribute(u"eval", val.decode('utf-8')) record.appendChild(field) return record_list, noupdate @@ -324,8 +324,8 @@ class base_module_record(osv.osv): data.appendChild(res) elif rec[0]=='assert': pass - res = doc.toprettyxml(indent="\t") - return doc.toprettyxml(indent="\t").encode('utf8') + + return doc.toprettyxml(indent="\t").encode('utf-8') base_module_record() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_report_creator/__terp__.py b/addons/base_report_creator/__terp__.py index d95ebf3ef09..32e6c4e0c25 100644 --- a/addons/base_report_creator/__terp__.py +++ b/addons/base_report_creator/__terp__.py @@ -44,6 +44,6 @@ the "Dashboard" menu. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '31285794149', + 'certificate': '0031285794149', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_report_designer/__terp__.py b/addons/base_report_designer/__terp__.py index 38c9eb12b42..c66be0ec379 100644 --- a/addons/base_report_designer/__terp__.py +++ b/addons/base_report_designer/__terp__.py @@ -37,6 +37,6 @@ OpenOffice. 'demo_xml': ['base_report_data.xml'], 'installable': True, 'active': False, - 'certificate': '56379010493', + 'certificate': '0056379010493', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_setup/__terp__.py b/addons/base_setup/__terp__.py index d4499f2e093..0d20c3a01c6 100644 --- a/addons/base_setup/__terp__.py +++ b/addons/base_setup/__terp__.py @@ -46,6 +46,6 @@ 'demo_xml': ['base_setup_demo.xml'], 'installable': True, 'active': True, - 'certificate': '86711085869', + 'certificate': '0086711085869', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_vat/__terp__.py b/addons/base_vat/__terp__.py index a4e15b75188..86e2af8a555 100644 --- a/addons/base_vat/__terp__.py +++ b/addons/base_vat/__terp__.py @@ -31,6 +31,6 @@ 'update_xml': ['base_vat_data.xml'], 'installable': True, 'active': False, - 'certificate': '84849360989', + 'certificate': '0084849360989', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board/__terp__.py b/addons/board/__terp__.py index fe03a113ea3..4477c45ae82 100644 --- a/addons/board/__terp__.py +++ b/addons/board/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '76912305725', + 'certificate': '0076912305725', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_account/__terp__.py b/addons/board_account/__terp__.py index e44cc0b45c5..64f80fba8d1 100644 --- a/addons/board_account/__terp__.py +++ b/addons/board_account/__terp__.py @@ -48,6 +48,6 @@ 'demo_xml': ['board_account_demo.xml'], 'installable': True, 'active': False, - 'certificate': '76016921229', + 'certificate': '0076016921229', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_association/__terp__.py b/addons/board_association/__terp__.py index 58557ed5a97..9c838590a04 100644 --- a/addons/board_association/__terp__.py +++ b/addons/board_association/__terp__.py @@ -34,6 +34,6 @@ This module implements a dashboard for associations. 'demo_xml': ['board_association_demo.xml'], 'installable': True, 'active': False, - 'certificate': '79647781773', + 'certificate': '0079647781773', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_auction/__terp__.py b/addons/board_auction/__terp__.py index e7e49542632..7d44ae3c827 100644 --- a/addons/board_auction/__terp__.py +++ b/addons/board_auction/__terp__.py @@ -35,6 +35,6 @@ 'demo_xml': ['board_auction_demo.xml'], 'installable': True, 'active': False, - 'certificate': '49187078189', + 'certificate': '0049187078189', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_crm_configuration/__terp__.py b/addons/board_crm_configuration/__terp__.py index eb6e0a435d1..a00a88a5048 100644 --- a/addons/board_crm_configuration/__terp__.py +++ b/addons/board_crm_configuration/__terp__.py @@ -40,6 +40,6 @@ This module implements a dashboard for CRM that includes: 'demo_xml': ['board_crm_demo.xml'], 'installable': True, 'active': False, - 'certificate': '71599098909', + 'certificate': '0071599098909', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_document/__terp__.py b/addons/board_document/__terp__.py index 17e44ae48d7..19114430437 100644 --- a/addons/board_document/__terp__.py +++ b/addons/board_document/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': ['board_document_demo.xml'], 'installable': True, 'active': False, - 'certificate': '44628458429', + 'certificate': '0044628458429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_manufacturing/__terp__.py b/addons/board_manufacturing/__terp__.py index 41e0d37bcdf..8a3c14fba3e 100644 --- a/addons/board_manufacturing/__terp__.py +++ b/addons/board_manufacturing/__terp__.py @@ -38,6 +38,6 @@ 'demo_xml': ['board_manufacturing_demo.xml'], 'installable': True, 'active': False, - 'certificate': '30407612797', + 'certificate': '0030407612797', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_project/__terp__.py b/addons/board_project/__terp__.py index d89aecab86e..5b37f5bb323 100644 --- a/addons/board_project/__terp__.py +++ b/addons/board_project/__terp__.py @@ -47,6 +47,6 @@ This module implements a dashboard for project member that includes: 'demo_xml': ['board_project_demo.xml'], 'installable': True, 'active': False, - 'certificate': '39350482013', + 'certificate': '0039350482013', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_sale/__terp__.py b/addons/board_sale/__terp__.py index 0546c03b50f..e5a1ae51f72 100644 --- a/addons/board_sale/__terp__.py +++ b/addons/board_sale/__terp__.py @@ -39,6 +39,6 @@ This module implements a dashboard for salesman that includes: 'demo_xml': ['board_sale_demo.xml'], 'installable': True, 'active': False, - 'certificate': '46503501021', + 'certificate': '0046503501021', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/__terp__.py b/addons/crm/__terp__.py index 34927ec17a3..29450cc9e71 100644 --- a/addons/crm/__terp__.py +++ b/addons/crm/__terp__.py @@ -57,6 +57,6 @@ between mails and Open ERP.""", 'demo_xml': ['crm_demo.xml'], 'installable': True, 'active': False, - 'certificate': '79056041421', + 'certificate': '0079056041421', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/crm.py b/addons/crm/crm.py index b0ca8c8aef3..4364965cce6 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -181,7 +181,7 @@ class crm_case_section(osv.osv): 'object': True }) return True - + def name_get(self, cr, uid, ids, context={}): if not len(ids): return [] @@ -295,7 +295,7 @@ class crm_case_rule(osv.osv): except (ValueError, KeyError, TypeError): return False return True - + _constraints = [ (_check_mail, 'Error: The mail is not well formated', ['act_mail_body']), ] @@ -505,7 +505,7 @@ class crm_case(osv.osv): action_ids = newactions level -= 1 return True - + def format_body(self, body): return tools.ustr(body.encode('ascii', 'replace')) @@ -614,11 +614,11 @@ class crm_case(osv.osv): # Send an email tools.email_send( - src, - dest, + src, + dest, "Reminder: [%s] %s" % (str(case.id), case.name, ), self.format_body(body), - reply_to=case.section_id.reply_to, + reply_to=case.section_id.reply_to, tinycrm=str(case.id), attach=attach_to_send ) @@ -646,6 +646,9 @@ class crm_case(osv.osv): if not case.email_from: raise osv.except_osv(_('Error!'), _('You must put a Partner eMail to use this action!')) + if not case.description: + raise osv.except_osv(_('Error!'), + _('Can not send mail with empty body,you should have description in the body')) self.__history(cr, uid, cases, _('Send'), history=True, email=False) for case in cases: self.write(cr, uid, [case.id], { @@ -655,15 +658,15 @@ class crm_case(osv.osv): }) emails = [case.email_from] + (case.email_cc or '').split(',') emails = filter(None, emails) - body = case.description + body = case.description or '' if case.user_id.signature: body += '\n\n%s' % (case.user_id.signature) tools.email_send( - case.user_id.address_id.email, + case.user_id.address_id.email, emails, - '['+str(case.id)+'] '+case.name, + '['+str(case.id)+'] '+case.name, self.format_body(body), - reply_to=case.section_id.reply_to, + reply_to=case.section_id.reply_to, tinycrm=str(case.id) ) return True diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index 103682624b9..feb9fd79d23 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -34,7 +34,7 @@ - + - + diff --git a/addons/crm_profiling/__terp__.py b/addons/crm_profiling/__terp__.py index 37629b2071e..6ea05a5fd34 100644 --- a/addons/crm_profiling/__terp__.py +++ b/addons/crm_profiling/__terp__.py @@ -45,6 +45,6 @@ 'demo_xml': ['crm_profiling_demo.xml'], 'installable': True, 'active': False, - 'certificate': '33984979005', + 'certificate': '0033984979005', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_vertical/__terp__.py b/addons/crm_vertical/__terp__.py index 44e8113a165..34453baad14 100644 --- a/addons/crm_vertical/__terp__.py +++ b/addons/crm_vertical/__terp__.py @@ -33,6 +33,6 @@ 'update_xml': [], 'demo_xml': [], 'installable': True, - 'certificate': '59915476845', + 'certificate': '0059915476845', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/delivery/__terp__.py b/addons/delivery/__terp__.py index 1aec98e6f6f..856404465dc 100644 --- a/addons/delivery/__terp__.py +++ b/addons/delivery/__terp__.py @@ -38,6 +38,6 @@ 'demo_xml': ['delivery_demo.xml'], 'installable': True, 'active': False, - 'certificate': '33981912253', + 'certificate': '0033981912253', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document/__terp__.py b/addons/document/__terp__.py index c6a772f5287..f7e326bbc65 100644 --- a/addons/document/__terp__.py +++ b/addons/document/__terp__.py @@ -43,6 +43,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '70515416461', + 'certificate': '0070515416461', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document_ics/__terp__.py b/addons/document_ics/__terp__.py index 0a9a626d3cc..d5adf71e88f 100644 --- a/addons/document_ics/__terp__.py +++ b/addons/document_ics/__terp__.py @@ -34,6 +34,6 @@ 'demo_xml': ['document_demo.xml'], 'installable': True, 'active': False, - 'certificate': '71242387229', + 'certificate': '0071242387229', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event/__terp__.py b/addons/event/__terp__.py index 2cd05130736..49cfe71a53b 100644 --- a/addons/event/__terp__.py +++ b/addons/event/__terp__.py @@ -51,6 +51,6 @@ 'demo_xml': ['event_demo.xml'], 'installable': True, 'active': False, - 'certificate': '83059161581', + 'certificate': '0083059161581', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event_project/__terp__.py b/addons/event_project/__terp__.py index 741f9796509..cd846203c75 100644 --- a/addons/event_project/__terp__.py +++ b/addons/event_project/__terp__.py @@ -36,6 +36,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '69726863885', + 'certificate': '0069726863885', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/google_map/__terp__.py b/addons/google_map/__terp__.py index 6b6b15b0838..9d5df2f8aed 100644 --- a/addons/google_map/__terp__.py +++ b/addons/google_map/__terp__.py @@ -36,6 +36,6 @@ url widget.""", 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '29498930765', + 'certificate': '0029498930765', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr/__terp__.py b/addons/hr/__terp__.py index efdd3d961af..0fc937404e3 100644 --- a/addons/hr/__terp__.py +++ b/addons/hr/__terp__.py @@ -49,6 +49,6 @@ 'demo_xml': ['hr_demo.xml', 'hr_department_demo.xml'], 'installable': True, 'active': False, - 'certificate': '86710558965', + 'certificate': '0086710558965', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_attendance/__terp__.py b/addons/hr_attendance/__terp__.py index 6afa17c958c..5f59acab357 100644 --- a/addons/hr_attendance/__terp__.py +++ b/addons/hr_attendance/__terp__.py @@ -38,6 +38,6 @@ 'demo_xml': ['hr_attendance_demo.xml'], 'installable': True, 'active': False, - 'certificate': '63495605613', + 'certificate': '0063495605613', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_contract/__terp__.py b/addons/hr_contract/__terp__.py index a253d60109e..2afd71a042a 100644 --- a/addons/hr_contract/__terp__.py +++ b/addons/hr_contract/__terp__.py @@ -45,6 +45,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '46298028637', + 'certificate': '0046298028637', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_expense/__terp__.py b/addons/hr_expense/__terp__.py index 8c08af34e70..fd7ad9d2530 100644 --- a/addons/hr_expense/__terp__.py +++ b/addons/hr_expense/__terp__.py @@ -51,9 +51,9 @@ 'hr_expense_report.xml', 'process/hr_expense_process.xml' ], - 'demo_xml': ['hr_expense_demo.xml', 'hr.expense.expense.csv'], + 'demo_xml': ['hr.expense.expense.csv'], 'installable': True, 'active': False, - 'certificate': '62479841789', + 'certificate': '0062479841789', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_expense/hr.expense.expense.csv b/addons/hr_expense/hr.expense.expense.csv index 56cc2cd0056..9cf0cf7d2aa 100644 --- a/addons/hr_expense/hr.expense.expense.csv +++ b/addons/hr_expense/hr.expense.expense.csv @@ -1,4 +1,3 @@ name,ref,employee_id,line_ids/date_value,line_ids/name,line_ids/analytic_account,line_ids/unit_quantity,line_ids/ref,line_ids/unit_amount September Expenses,09/06,Fabien Pinckaers,2006-09-05,Travel by Car - Customer Seagate 2 - Double,Thymbra,130.0,,0.22 -,,,2006-09-05,Travel by Car - Trainging,Trainings,100.0,,0.22 ,,,2006-09-05,Basic PC - Server for Seagate,Seagate P2,1.0,S1234435,300.0 diff --git a/addons/hr_expense/hr_expense_demo.xml b/addons/hr_expense/hr_expense_demo.xml deleted file mode 100644 index 1168fd29679..00000000000 --- a/addons/hr_expense/hr_expense_demo.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/addons/hr_holidays/__terp__.py b/addons/hr_holidays/__terp__.py index 948df531ceb..c8d7e445c9b 100644 --- a/addons/hr_holidays/__terp__.py +++ b/addons/hr_holidays/__terp__.py @@ -41,6 +41,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '86579209325', + 'certificate': '0086579209325', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet/__terp__.py b/addons/hr_timesheet/__terp__.py index c17deafa743..56bca69936a 100644 --- a/addons/hr_timesheet/__terp__.py +++ b/addons/hr_timesheet/__terp__.py @@ -50,6 +50,6 @@ to set up a management by affair. 'demo_xml': ['hr_timesheet_demo.xml'], 'installable': True, 'active': False, - 'certificate': '71405533469', + 'certificate': '0071405533469', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet_invoice/__terp__.py b/addons/hr_timesheet_invoice/__terp__.py index 899c466bdf7..34cb8b8a16d 100644 --- a/addons/hr_timesheet_invoice/__terp__.py +++ b/addons/hr_timesheet_invoice/__terp__.py @@ -42,6 +42,6 @@ reports, eso.""", 'demo_xml': ['hr_timesheet_invoice_demo.xml'], 'installable': True, 'active': False, - 'certificate': '56091842381', + 'certificate': '0056091842381', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet_sheet/__terp__.py b/addons/hr_timesheet_sheet/__terp__.py index 006569b4c0e..129592adfaa 100644 --- a/addons/hr_timesheet_sheet/__terp__.py +++ b/addons/hr_timesheet_sheet/__terp__.py @@ -57,6 +57,6 @@ The validation can be configured in te company: 'demo_xml': ['hr_timesheet_sheet_demo.xml'], 'installable': True, 'active': False, - 'certificate': '73297700829', + 'certificate': '0073297700829', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/idea/__terp__.py b/addons/idea/__terp__.py index 37b6d0c52ab..a30d2854d32 100644 --- a/addons/idea/__terp__.py +++ b/addons/idea/__terp__.py @@ -38,6 +38,6 @@ ], 'demo_xml': [], 'installable': True, - 'certificate': '71515601309', + 'certificate': '0071515601309', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_be/__init__.py b/addons/l10n_be/__init__.py index f5dd0969f16..c652b702c26 100644 --- a/addons/l10n_be/__init__.py +++ b/addons/l10n_be/__init__.py @@ -20,6 +20,7 @@ # ############################################################################## +import company import wizard # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_be/__terp__.py b/addons/l10n_be/__terp__.py index 05c87181e45..910df2d39e2 100644 --- a/addons/l10n_be/__terp__.py +++ b/addons/l10n_be/__terp__.py @@ -58,6 +58,6 @@ 'account.report.report.csv' ], 'installable': True, - 'certificate': '31977724637', + 'certificate': '0031977724637', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_be/account_pcmn_belgium.xml b/addons/l10n_be/account_pcmn_belgium.xml index ccae720c08b..b5d183565c9 100644 --- a/addons/l10n_be/account_pcmn_belgium.xml +++ b/addons/l10n_be/account_pcmn_belgium.xml @@ -6628,6 +6628,16 @@ + + + Cocontractants 0% + NSCS 0 + + percent + + + sale + TVA 0% @@ -6638,16 +6648,6 @@ sale - - - Cocontractants 0% - NSS 0 - - percent - - - sale - TVA 6% @@ -6655,7 +6655,7 @@ percent - + @@ -6669,7 +6669,7 @@ percent - + @@ -6683,7 +6683,7 @@ percent - + @@ -6705,7 +6705,7 @@ Biens et Services Divers Déductibles 0% (1) - + percent @@ -6715,7 +6715,7 @@ Biens et Services Divers Déductibles 0% (2) - + percent @@ -6724,7 +6724,7 @@ Marchandises Déductibles 0% - NSGSD 0 + NSTF 0 percent @@ -6744,23 +6744,12 @@ Marchandises Déductibles 0% (2) - + percent purchase - - - - Cocontractants 0% - NSS 0 - - percent - - - sale - Biens et Services Divers Déductibles 6% @@ -6776,7 +6765,7 @@ Biens et Services Divers Déductibles 6% (1) percent - + @@ -6788,7 +6777,7 @@ Biens et Services Divers Déductibles 6% (2) - + percent @@ -6809,7 +6798,7 @@ Biens et Services Divers Déductibles 12% (1) percent - + @@ -6821,7 +6810,7 @@ Biens et Services Divers Déductibles 12% (2) - + percent @@ -6842,7 +6831,7 @@ Biens Déductibles 21% (1) percent - + @@ -6854,7 +6843,7 @@ Biens Déductibles 21% (2) - + percent @@ -6875,7 +6864,7 @@ Services Divers Déductibles 21% (1) percent - + @@ -6887,7 +6876,7 @@ Services Divers Déductibles 21% (2) - + percent @@ -6910,7 +6899,7 @@ Marchandises Déductibles 6% (1) percent - + @@ -6922,7 +6911,7 @@ Marchandises Déductibles 6% (2) - + percent @@ -6943,7 +6932,7 @@ Marchandises Déductibles 12% (1) percent - + @@ -6955,7 +6944,7 @@ Marchandises Déductibles 12% (2) - + percent @@ -6976,7 +6965,7 @@ Marchandises Déductibles 21% (1) percent - + @@ -6988,7 +6977,7 @@ Marchandises Déductibles 21% (2) - + percent @@ -6999,9 +6988,9 @@ - VAT 0% Exportations + TVA 0% Exportations ISEXP 0 - + percent @@ -7028,9 +7017,9 @@ - VAT 0% Intracommunautaire + TVA 0% Intracommunautaire VI 0 - + percent @@ -7052,7 +7041,7 @@ Biens Déductibles 21% (1) percent - + @@ -7063,10 +7052,13 @@ Biens Déductibles 21% (2) - + percent + + + purchase @@ -7075,7 +7067,7 @@ Biens Déductibles 21% (3) - + percent @@ -7096,7 +7088,7 @@ Marchandises Déductibles 21% (1) percent - + @@ -7107,10 +7099,13 @@ Marchandises Déductibles 21% (2) - + percent + + + purchase @@ -7119,7 +7114,7 @@ Marchandises Déductibles 21% (3) - + percent @@ -7140,10 +7135,10 @@ Services Divers Déductibles 21% (1) percent - + - + purchase @@ -7151,10 +7146,13 @@ Services Divers Déductibles 21% (2) - + percent + + - + + purchase @@ -7163,7 +7161,7 @@ Services Divers Déductibles 21% (3) - + percent diff --git a/addons/l10n_be/company.py b/addons/l10n_be/company.py new file mode 100644 index 00000000000..3538f6e0dfd --- /dev/null +++ b/addons/l10n_be/company.py @@ -0,0 +1,43 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved +# $Id$ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import osv + +class res_company(osv.osv): + _inherit = "res.company" + _description = 'res.company' + + + def _get_default_ad(self, addresses): + city = post_code = address = "" + for ads in addresses: + if ads.type == 'default': + city = ads.city + post_code = ads.zip + if ads.street: + address = ads.street + if ads.street2: + address += " " + ads.street2 + return city, post_code, address +res_company() + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_be/fiscal_templates.xml b/addons/l10n_be/fiscal_templates.xml index 99a564b1a37..ff7b0e82f49 100644 --- a/addons/l10n_be/fiscal_templates.xml +++ b/addons/l10n_be/fiscal_templates.xml @@ -91,11 +91,6 @@ - - - - - diff --git a/addons/l10n_be/wizard/account_vat_declaration.py b/addons/l10n_be/wizard/account_vat_declaration.py index 1dfd85aa52f..a6123d7c5c7 100644 --- a/addons/l10n_be/wizard/account_vat_declaration.py +++ b/addons/l10n_be/wizard/account_vat_declaration.py @@ -25,6 +25,8 @@ import datetime import pooler import base64 +from tools.translate import _ + form_fyear = """
@@ -48,6 +50,7 @@ fields = { 'readonly': True,}, } + class wizard_vat_declaration(wizard.interface): def _create_xml(self, cr, uid, data, context): @@ -58,7 +61,7 @@ class wizard_vat_declaration(wizard.interface): user_cmpny = obj_company.name vat_no=obj_company.partner_id.vat if not vat_no: - raise wizard.except_wizard('Data Insufficient','No VAT Number Associated with Main Company!') + raise wizard.except_wizard(_('Data Insufficient'),_('No VAT Number Associated with Main Company!')) tax_ids = pool_obj.get('account.tax.code').search(cr,uid,[]) ctx = context.copy() @@ -69,30 +72,33 @@ class wizard_vat_declaration(wizard.interface): if not obj_company.partner_id.address: address=post_code=city='' - for ads in obj_company.partner_id.address: - if ads.type=='default': - if ads.zip_id: - city=ads.zip_id.city - post_code=ads.zip_id.name - if ads.street: - address=ads.street - if ads.street2: - address +=ads.street2 + city, post_code, address = pooler.get_pool(cr.dbname).get('res.company')._get_default_ad(obj_company.partner_id.address) obj_fyear = pool_obj.get('account.fiscalyear') year_id = obj_fyear.find(cr, uid) current_year = obj_fyear.browse(cr,uid,year_id).name - month=time.strftime('%m') period_code = pool_obj.get('account.period').browse(cr, uid, data['form']['period']).code + send_ref = user_cmpny if period_code: send_ref = send_ref + period_code data_of_file='\n' - data_of_file +='\n\t\n\t\t'+str(vat_no)+'\n\t\t'+str(obj_company.name)+'\n\t\t
'+str(address)+'
' - data_of_file +='\n\t\t'+str(post_code)+'\n\t\t'+str(city)+'\n\t\t'+send_ref+'\n\t
' - data_of_file +='\n\t\n\t\t1\n\t\t'+str(vat_no)+'\n\t\t\n\t\t\t'+str(month)+'\n\t\t\t'+str(current_year[-4:])+'\n\t\t\n\t\t' + data_of_file +='\n\t\n\t\t'+str(vat_no)+'\n\t\t'+str(obj_company.name)+'\n\t\t
'+address+'
' + data_of_file +='\n\t\t'+post_code+'\n\t\t'+city+'\n\t\t'+send_ref+'\n\t
' + data_of_file +='\n\t\n\t\t1\n\t\t'+str(vat_no)+'\n\t\t\n\t\t\t' + + starting_month = pool_obj.get('account.period').browse(cr, uid, data['form']['period']).date_start[5:7] + ending_month = pool_obj.get('account.period').browse(cr, uid, data['form']['period']).date_stop[5:7] + if starting_month != ending_month: + #starting month and ending month of selected period are not the same + #it means that the accounting isn't based on periods of 1 month but on quarters + quarter = str(((int(starting_month) - 1) / 3) + 1) + data_of_file += ''+quarter+'\n\t\t\t' + else: + data_of_file += ''+starting_month+'\n\t\t\t' + data_of_file += ''+str(current_year[-4:])+'\n\t\t\n\t\t' data_of_file +='\n\t\t\n\t\t\t' for item in tax_info: diff --git a/addons/l10n_be/wizard/partner_vat_listing.py b/addons/l10n_be/wizard/partner_vat_listing.py index cac723612ae..e259d194608 100644 --- a/addons/l10n_be/wizard/partner_vat_listing.py +++ b/addons/l10n_be/wizard/partner_vat_listing.py @@ -76,8 +76,7 @@ class wizard_vat(wizard.interface): # obj_company=pooler.get_pool(cr.dbname).get('res.company').browse(cr,uid,1) # vat_company=obj_company.partner_id.vat -#TODO: can be improved if we replace this test => add a new field on res_partner for cases when a partner has a number and is not subjected to the VAT... have to see if this situation could happen - p_id_list=pooler.get_pool(cr.dbname).get('res.partner').search(cr,uid,[('vat','!=',False)]) + p_id_list=pooler.get_pool(cr.dbname).get('res.partner').search(cr,uid,[('vat_subjected','!=',False)]) if not p_id_list: raise wizard.except_wizard('Data Insufficient!','No partner has a VAT Number asociated with him.') diff --git a/addons/l10n_chart_uk_minimal/__terp__.py b/addons/l10n_chart_uk_minimal/__terp__.py index 3b714b16986..b4881867bb8 100644 --- a/addons/l10n_chart_uk_minimal/__terp__.py +++ b/addons/l10n_chart_uk_minimal/__terp__.py @@ -76,6 +76,6 @@ ], 'demo_xml': [], 'installable': True, - 'certificate': '64392144797', + 'certificate': '0064392144797', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr/__terp__.py b/addons/l10n_fr/__terp__.py index 6d9bccc590d..b3a1f507ce1 100644 --- a/addons/l10n_fr/__terp__.py +++ b/addons/l10n_fr/__terp__.py @@ -51,7 +51,7 @@ Credits: Sistheo Zeekom CrysaLEAD "security/ir.model.access.csv", ], "demo_xml" : [], - "certificate" : "435321693876313629", + "certificate" : "00435321693876313629", "active": False, "installable": True } diff --git a/addons/l10n_lu/__terp__.py b/addons/l10n_lu/__terp__.py index 62d39d81e67..169d95df3fc 100644 --- a/addons/l10n_lu/__terp__.py +++ b/addons/l10n_lu/__terp__.py @@ -44,6 +44,6 @@ This module installs: ], 'demo_xml': ['account.report.report.csv'], 'installable': True, - 'certificate': '78164766621', + 'certificate': '0078164766621', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/membership/__terp__.py b/addons/membership/__terp__.py index 54dce054fad..dfc6774da2f 100644 --- a/addons/membership/__terp__.py +++ b/addons/membership/__terp__.py @@ -49,6 +49,6 @@ invoice and send propositions for membership renewal. 'demo_xml': ['membership_demo.xml'], 'installable': True, 'active': False, - 'certificate': '42907796381', + 'certificate': '0042907796381', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp/__terp__.py b/addons/mrp/__terp__.py index 47d2a6a2836..508b66a7878 100644 --- a/addons/mrp/__terp__.py +++ b/addons/mrp/__terp__.py @@ -75,6 +75,6 @@ 'demo_xml': ['mrp_demo.xml', 'mrp_order_point.xml'], 'installable': True, 'active': False, - 'certificate': '32052481373', + 'certificate': '0032052481373', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_jit/__terp__.py b/addons/mrp_jit/__terp__.py index 399419d0d82..944971b97e7 100644 --- a/addons/mrp_jit/__terp__.py +++ b/addons/mrp_jit/__terp__.py @@ -42,6 +42,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '86634760061', + 'certificate': '0086634760061', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_operations/__terp__.py b/addons/mrp_operations/__terp__.py index ed7f848fe5f..c53269f5b7c 100644 --- a/addons/mrp_operations/__terp__.py +++ b/addons/mrp_operations/__terp__.py @@ -64,6 +64,6 @@ 'demo_xml': ['mrp_operation_data.xml'], 'installable': True, 'active': False, - 'certificate': '56233813133', + 'certificate': '0056233813133', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_repair/__terp__.py b/addons/mrp_repair/__terp__.py index 380e02a6c67..5db51c15ce4 100644 --- a/addons/mrp_repair/__terp__.py +++ b/addons/mrp_repair/__terp__.py @@ -47,6 +47,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '60814381277', + 'certificate': '0060814381277', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_subproduct/__terp__.py b/addons/mrp_subproduct/__terp__.py index 80181422a55..fe005926185 100644 --- a/addons/mrp_subproduct/__terp__.py +++ b/addons/mrp_subproduct/__terp__.py @@ -41,6 +41,6 @@ With this module: 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '50060616733', + 'certificate': '0050060616733', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/point_of_sale/__terp__.py b/addons/point_of_sale/__terp__.py index 46e6f519b08..f597c98b0b2 100644 --- a/addons/point_of_sale/__terp__.py +++ b/addons/point_of_sale/__terp__.py @@ -50,6 +50,6 @@ Main features : ], 'demo_xml': [], 'installable': True, - 'certificate': '48272150909', + 'certificate': '0048272150909', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/process/__terp__.py b/addons/process/__terp__.py index b76360ee420..68671b965d1 100644 --- a/addons/process/__terp__.py +++ b/addons/process/__terp__.py @@ -36,6 +36,6 @@ This module allows you to manage your process for the end-users. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '55447636669', + 'certificate': '0055447636669', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/product/__terp__.py b/addons/product/__terp__.py index 568471df253..276696ace37 100644 --- a/addons/product/__terp__.py +++ b/addons/product/__terp__.py @@ -64,6 +64,6 @@ 'demo_xml': ['product_demo.xml'], 'installable': True, 'active': False, - 'certificate': '68861431437', + 'certificate': '0068861431437', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index a03c7afcc86..572cd331007 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -213,7 +213,7 @@ - + Products" ir.actions.act_window product.product form diff --git a/addons/product_margin/__terp__.py b/addons/product_margin/__terp__.py index 0096c61abe6..5be94a6bb95 100644 --- a/addons/product_margin/__terp__.py +++ b/addons/product_margin/__terp__.py @@ -36,6 +36,6 @@ the report has several options to help you get the data you need. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '64392591773', + 'certificate': '0064392591773', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_accounting/__terp__.py b/addons/profile_accounting/__terp__.py index 73f6f984624..ace96c34b35 100644 --- a/addons/profile_accounting/__terp__.py +++ b/addons/profile_accounting/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '38455352045', + 'certificate': '0038455352045', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_association/__terp__.py b/addons/profile_association/__terp__.py index 7a7efca044b..c4344c51458 100644 --- a/addons/profile_association/__terp__.py +++ b/addons/profile_association/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '78696047261', + 'certificate': '0078696047261', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_auction/__terp__.py b/addons/profile_auction/__terp__.py index 997087a1049..c08dfbf0149 100644 --- a/addons/profile_auction/__terp__.py +++ b/addons/profile_auction/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '65280135565', + 'certificate': '0065280135565', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_crm/__terp__.py b/addons/profile_crm/__terp__.py index bbee7356313..6f0944baff5 100644 --- a/addons/profile_crm/__terp__.py +++ b/addons/profile_crm/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '73301264221', + 'certificate': '0073301264221', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_manufacturing/__terp__.py b/addons/profile_manufacturing/__terp__.py index 167343d05de..7bf367bfed7 100644 --- a/addons/profile_manufacturing/__terp__.py +++ b/addons/profile_manufacturing/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '27737506213', + 'certificate': '0027737506213', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_service/__terp__.py b/addons/profile_service/__terp__.py index 828722a2389..a69f3228b9e 100644 --- a/addons/profile_service/__terp__.py +++ b/addons/profile_service/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '30405502077', + 'certificate': '0030405502077', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project/__terp__.py b/addons/project/__terp__.py index 01059dc193e..e865e966052 100644 --- a/addons/project/__terp__.py +++ b/addons/project/__terp__.py @@ -45,6 +45,6 @@ works done on tasks, eso. It is able to render planning, order tasks, eso. 'demo_xml': ['project_demo.xml'], 'installable': True, 'active': False, - 'certificate': '75116868317', + 'certificate': '0075116868317', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_gtd/__terp__.py b/addons/project_gtd/__terp__.py index 272c7e69a12..f68555d35e5 100644 --- a/addons/project_gtd/__terp__.py +++ b/addons/project_gtd/__terp__.py @@ -49,6 +49,6 @@ performing those tasks. 'demo_xml': ['project_gtd_demo.xml'], 'installable': True, 'active': False, - 'certificate': '43525236301', + 'certificate': '0043525236301', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_mrp/__terp__.py b/addons/project_mrp/__terp__.py index f1da23862e1..784814414cf 100644 --- a/addons/project_mrp/__terp__.py +++ b/addons/project_mrp/__terp__.py @@ -40,6 +40,6 @@ created by sales orders. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '31976495453', + 'certificate': '0031976495453', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_retro_planning/__terp__.py b/addons/project_retro_planning/__terp__.py index 14cb39754e8..d3a6bd1d9c1 100644 --- a/addons/project_retro_planning/__terp__.py +++ b/addons/project_retro_planning/__terp__.py @@ -34,6 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '57235475485', + 'certificate': '0057235475485', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_timesheet/__terp__.py b/addons/project_timesheet/__terp__.py index d764fc80684..8b86f54382c 100644 --- a/addons/project_timesheet/__terp__.py +++ b/addons/project_timesheet/__terp__.py @@ -38,6 +38,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '75123647453', + 'certificate': '0075123647453', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase/__terp__.py b/addons/purchase/__terp__.py index f66c1d75dbe..88b92b4f853 100644 --- a/addons/purchase/__terp__.py +++ b/addons/purchase/__terp__.py @@ -47,6 +47,6 @@ 'demo_xml': ['purchase_demo.xml'], 'installable': True, 'active': False, - 'certificate': '57234283549', + 'certificate': '0057234283549', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase_analytic_plans/__terp__.py b/addons/purchase_analytic_plans/__terp__.py index c639aa1eb66..ddb2063e89e 100644 --- a/addons/purchase_analytic_plans/__terp__.py +++ b/addons/purchase_analytic_plans/__terp__.py @@ -36,6 +36,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '62176518909', + 'certificate': '0062176518909', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_account/__terp__.py b/addons/report_account/__terp__.py index 2b568ce08b0..af3c7a0726c 100644 --- a/addons/report_account/__terp__.py +++ b/addons/report_account/__terp__.py @@ -34,6 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '61754222813', + 'certificate': '0061754222813', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_analytic/__terp__.py b/addons/report_analytic/__terp__.py index 0d072fcf1ef..5827f019e3b 100644 --- a/addons/report_analytic/__terp__.py +++ b/addons/report_analytic/__terp__.py @@ -34,6 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '59950675429', + 'certificate': '0059950675429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_analytic_line/__terp__.py b/addons/report_analytic_line/__terp__.py index 905eca096eb..b9c97e2a7d3 100644 --- a/addons/report_analytic_line/__terp__.py +++ b/addons/report_analytic_line/__terp__.py @@ -34,6 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '75179053853', + 'certificate': '0075179053853', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_analytic_planning/__terp__.py b/addons/report_analytic_planning/__terp__.py index 73a71fc0bca..53cc8548e16 100644 --- a/addons/report_analytic_planning/__terp__.py +++ b/addons/report_analytic_planning/__terp__.py @@ -38,6 +38,6 @@ 'demo_xml': ['report_account_analytic.planning.csv'], 'installable': True, 'active': False, - 'certificate': '34901836973', + 'certificate': '0034901836973', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_crm/__terp__.py b/addons/report_crm/__terp__.py index 35ea350abf8..4023b1c331e 100644 --- a/addons/report_crm/__terp__.py +++ b/addons/report_crm/__terp__.py @@ -35,6 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '30422968285', + 'certificate': '0030422968285', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_document/__terp__.py b/addons/report_document/__terp__.py index d6ae3bccef3..5b4e7e7d86f 100644 --- a/addons/report_document/__terp__.py +++ b/addons/report_document/__terp__.py @@ -37,6 +37,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '68012774557', + 'certificate': '0068012774557', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_intrastat/__terp__.py b/addons/report_intrastat/__terp__.py index f23feae9786..aa4f4f33c20 100644 --- a/addons/report_intrastat/__terp__.py +++ b/addons/report_intrastat/__terp__.py @@ -38,6 +38,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '56982189085', + 'certificate': '0056982189085', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_mrp/__terp__.py b/addons/report_mrp/__terp__.py index 4e75a21e41d..3b60a05e3cc 100644 --- a/addons/report_mrp/__terp__.py +++ b/addons/report_mrp/__terp__.py @@ -34,6 +34,6 @@ 'update_xml': ['security/ir.model.access.csv', 'report_mrp_view.xml'], 'demo_xml': [], 'installable': True, - 'certificate': '71582896029', + 'certificate': '0071582896029', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_project/__terp__.py b/addons/report_project/__terp__.py index c88f64c45e2..b0ca49e7724 100644 --- a/addons/report_project/__terp__.py +++ b/addons/report_project/__terp__.py @@ -35,6 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '86804423149', + 'certificate': '0086804423149', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_purchase/__terp__.py b/addons/report_purchase/__terp__.py index 5cc72c7de17..8a578ab6b2d 100644 --- a/addons/report_purchase/__terp__.py +++ b/addons/report_purchase/__terp__.py @@ -35,6 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '73370750365', + 'certificate': '0073370750365', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_sale/__terp__.py b/addons/report_sale/__terp__.py index 6f8f4408c49..dc9c29b71f8 100644 --- a/addons/report_sale/__terp__.py +++ b/addons/report_sale/__terp__.py @@ -48,6 +48,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '59949739573', + 'certificate': '0059949739573', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_task/__terp__.py b/addons/report_task/__terp__.py index 4784e0d6c87..2554f26ae85 100644 --- a/addons/report_task/__terp__.py +++ b/addons/report_task/__terp__.py @@ -32,6 +32,6 @@ 'update_xml': ['security/ir.model.access.csv', 'report_task_view.xml'], 'installable': True, 'active': False, - 'certificate': '27671328157', + 'certificate': '0027671328157', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_timesheet/__terp__.py b/addons/report_timesheet/__terp__.py index bdf3189755f..fc993c31311 100644 --- a/addons/report_timesheet/__terp__.py +++ b/addons/report_timesheet/__terp__.py @@ -35,6 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '78701510301', + 'certificate': '0078701510301', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale/__terp__.py b/addons/sale/__terp__.py index 3f1a147e541..e9fb423c7fc 100644 --- a/addons/sale/__terp__.py +++ b/addons/sale/__terp__.py @@ -62,6 +62,6 @@ 'demo_xml': ['sale_demo.xml'], 'installable': True, 'active': False, - 'certificate': '58103601429', + 'certificate': '0058103601429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_analytic_plans/__terp__.py b/addons/sale_analytic_plans/__terp__.py index 09583f59f11..6e3dcc13120 100644 --- a/addons/sale_analytic_plans/__terp__.py +++ b/addons/sale_analytic_plans/__terp__.py @@ -36,6 +36,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '66055860861', + 'certificate': '0066055860861', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_crm/__terp__.py b/addons/sale_crm/__terp__.py index e950030db95..a3d44af6e4b 100644 --- a/addons/sale_crm/__terp__.py +++ b/addons/sale_crm/__terp__.py @@ -46,6 +46,6 @@ crm_configuration modules. 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '64360130141', + 'certificate': '0064360130141', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_delivery_report/__terp__.py b/addons/sale_delivery_report/__terp__.py index 32084e730eb..63feb917531 100644 --- a/addons/sale_delivery_report/__terp__.py +++ b/addons/sale_delivery_report/__terp__.py @@ -35,6 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '803459507494914221', + 'certificate': '00803459507494914221', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_journal/__terp__.py b/addons/sale_journal/__terp__.py index b03479be8b8..9f65ca73bc2 100644 --- a/addons/sale_journal/__terp__.py +++ b/addons/sale_journal/__terp__.py @@ -61,6 +61,6 @@ 'demo_xml': ['sale_journal_demo.xml'], 'installable': True, 'active': False, - 'certificate': '77661619085', + 'certificate': '0077661619085', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/scrum/__terp__.py b/addons/scrum/__terp__.py index 3915aa5e57a..c66d5da2315 100644 --- a/addons/scrum/__terp__.py +++ b/addons/scrum/__terp__.py @@ -60,6 +60,6 @@ 'demo_xml': ['scrum_demo.xml'], 'installable': True, 'active': False, - 'certificate': '84121063261', + 'certificate': '0084121063261', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock/__terp__.py b/addons/stock/__terp__.py index fff0e892b82..8fadaa1f360 100644 --- a/addons/stock/__terp__.py +++ b/addons/stock/__terp__.py @@ -59,6 +59,6 @@ Thanks to the double entry management, the inventory controlling is powerful and 'demo_xml': ['stock_demo.xml'], 'installable': True, 'active': False, - 'certificate': '55421559965', + 'certificate': '0055421559965', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_invoice_directly/__terp__.py b/addons/stock_invoice_directly/__terp__.py index e89b1b2d56d..1f76f651c01 100644 --- a/addons/stock_invoice_directly/__terp__.py +++ b/addons/stock_invoice_directly/__terp__.py @@ -37,6 +37,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '81385081261', + 'certificate': '0081385081261', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_location/__terp__.py b/addons/stock_location/__terp__.py index 42b9f52eeb0..f6a7803ea71 100644 --- a/addons/stock_location/__terp__.py +++ b/addons/stock_location/__terp__.py @@ -44,6 +44,6 @@ This module may be useful for different purposes: 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '46505115101', + 'certificate': '0046505115101', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_no_autopicking/__terp__.py b/addons/stock_no_autopicking/__terp__.py index 31a01a2ae93..c6661258f1b 100644 --- a/addons/stock_no_autopicking/__terp__.py +++ b/addons/stock_no_autopicking/__terp__.py @@ -40,6 +40,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '75124168925', + 'certificate': '0075124168925', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/subscription/__terp__.py b/addons/subscription/__terp__.py index 97e2f7cef54..4e2ec06fe45 100644 --- a/addons/subscription/__terp__.py +++ b/addons/subscription/__terp__.py @@ -33,6 +33,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '29454782573', + 'certificate': '0029454782573', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/warning/__terp__.py b/addons/warning/__terp__.py index 09c6cdc854e..342ddfd21c2 100644 --- a/addons/warning/__terp__.py +++ b/addons/warning/__terp__.py @@ -32,6 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, - 'certificate': '80334018749', + 'certificate': '0080334018749', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/wiki/__terp__.py b/addons/wiki/__terp__.py index 6ed97909ded..1a1844c861f 100644 --- a/addons/wiki/__terp__.py +++ b/addons/wiki/__terp__.py @@ -23,6 +23,6 @@ 'demo_xml': ['data/wiki_faq.xml'], 'installable': True, 'active': False, - 'certificate': '86363630317', + 'certificate': '0086363630317', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: