From 62d3ab394166e42365b5a2b6b08d712da2a29114 Mon Sep 17 00:00:00 2001 From: niv Date: Fri, 15 Oct 2010 17:46:03 +0200 Subject: [PATCH 1/3] [ADD] Added possibility to set a default account tax to new products. bzr revid: niv@niv-laptop-20101015154603-mm39x167qtoitgxd --- addons/account/account.py | 25 +++++++++++++++++++++++++ addons/account/account_view.xml | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index 5de913c45a7..0afd89a48a3 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2537,7 +2537,22 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Bank Accounts', required=True), 'code_digits':fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"), 'seq_journal':fields.boolean('Separated Journal Sequences', help="Check this box if you want to use a different sequence for each created journal. Otherwise, all will use the same sequence."), + "sale_tax": fields.many2one("account.tax.template", "Sale Tax"), + "purchase_tax": fields.many2one("account.tax.template", "Purchase Tax"), } + def onchange_chart_template_id(self, cr, uid, ids, chart_template_id=False, context=None): + res = {} + res['value'] = {} + res['value']["sale_tax"] = False + res['value']["purchase_tax"] = False + if chart_template_id: + ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id" + , "=", chart_template_id)], order="sequence") + if len(ids) > 0: + id=ids[0] + res['value']["sale_tax"] = id + res['value']["purchase_tax"] = id + return res def _get_chart(self, cr, uid, context={}): ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context) @@ -2553,6 +2568,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): def execute(self, cr, uid, ids, context=None): obj_multi = self.browse(cr, uid, ids[0]) + obj_acc = self.pool.get('account.account') obj_acc_tax = self.pool.get('account.tax') obj_journal = self.pool.get('account.journal') @@ -2591,6 +2607,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): tax_code_template_ref[tax_code_template.id] = new_tax_code #create all the tax + tax_template_to_tax = {} for tax in obj_multi.chart_template_id.tax_template_ids: #create it vals_tax = { @@ -2619,8 +2636,10 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'type_tax_use': tax.type_tax_use } new_tax = obj_acc_tax.create(cr, uid, vals_tax) + tax_template_to_tax[tax.id] = new_tax #as the accounts have not been created yet, we have to wait before filling these fields todo_dict[new_tax] = { + 'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False, 'account_paid_id': tax.account_paid_id and tax.account_paid_id.id or False, } @@ -2842,6 +2861,12 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'position_id': new_fp, } obj_ac_fp.create(cr, uid, vals_acc) + + ir_values = self.pool.get('ir.values') + ir_values.set(cr, uid, key='default', key2=False, name="taxes_id", company=obj_multi.company_id.id + , models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.sale_tax.id]]) + ir_values.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=obj_multi.company_id.id + , models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.purchase_tax.id]]) wizard_multi_charts_accounts() diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 49de367122b..ce0985ab7ec 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -2412,8 +2412,11 @@ - + + +
From e5fb3a0780c8ce5b0fbd9373c167d782c0914db5 Mon Sep 17 00:00:00 2001 From: niv Date: Mon, 18 Oct 2010 11:37:58 +0200 Subject: [PATCH 2/3] [FIX] Fixed incorrect merge bzr revid: niv@niv-laptop-20101018093758-j99jast7cjx934s2 --- addons/account/account_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 2a7af0b9e5b..ce2053e69a3 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -2415,7 +2415,7 @@ - + From 58407193d73a068e94529c49bc684019ad0b6835 Mon Sep 17 00:00:00 2001 From: cpa-openerp Date: Mon, 25 Oct 2010 12:26:25 +0530 Subject: [PATCH 3/3] [FIX] PRODUCT : fixed name_search for proper operator supplied. bzr revid: cpa@tinyerp.com-20101025065625-x6m4m80fvddwr1b3 --- addons/product/product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/product/product.py b/addons/product/product.py index 60a8cf97783..b43f40b1cbc 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -492,7 +492,7 @@ class product_product(osv.osv): if not context: context={} if name: - ids = self.search(cr, user, [('default_code','=',name)]+ args, limit=limit, context=context) + ids = self.search(cr, user, [('default_code',operator,name)]+ args, limit=limit, context=context) if not len(ids): ids = self.search(cr, user, [('ean13','=',name)]+ args, limit=limit, context=context) if not len(ids):