diff options
| author | atp (Open ERP) <atp@tinyerp.co.in> | 2010-06-22 10:45:44 +0530 |
|---|---|---|
| committer | atp (Open ERP) <atp@tinyerp.co.in> | 2010-06-22 10:45:44 +0530 |
| commit | b0efd26edd9f4e2aa75424b787ea46d2be15cd04 (patch) | |
| tree | e78cdb693e62a5c9a17f77a395eec51fb34becbf /addons/account_analytic_plans | |
| parent | 46bb1ea51be702758d68a5f69db32c82dbccf9bd (diff) | |
| parent | 2319190c5a20cb8095f85cacca89a33164ba93d7 (diff) | |
[MERGE]: merge with lp:~openerp-dev/openobject-addons/trunk-dev-addons2
bzr revid: atp@tinyerp.co.in-20100622051544-c7hig73zk2at66cy
Diffstat (limited to 'addons/account_analytic_plans')
3 files changed, 38 insertions, 31 deletions
diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index db441d0931f..a1bcd6201c1 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -83,20 +83,22 @@ class account_analytic_plan_instance(osv.osv): _name='account.analytic.plan.instance' _description = 'Analytic Plan Instance' _columns={ - 'name':fields.char('Analytic Distribution',size=64), - 'code':fields.char('Distribution Code',size=16), + 'name':fields.char('Analytic Distribution', size=64), + 'code':fields.char('Distribution Code', size=16), 'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal' ), - 'account_ids':fields.one2many('account.analytic.plan.instance.line','plan_id','Account Id'), - 'account1_ids':one2many_mod2('account.analytic.plan.instance.line','plan_id','Account1 Id'), - 'account2_ids':one2many_mod2('account.analytic.plan.instance.line','plan_id','Account2 Id'), - 'account3_ids':one2many_mod2('account.analytic.plan.instance.line','plan_id','Account3 Id'), - 'account4_ids':one2many_mod2('account.analytic.plan.instance.line','plan_id','Account4 Id'), - 'account5_ids':one2many_mod2('account.analytic.plan.instance.line','plan_id','Account5 Id'), - 'account6_ids':one2many_mod2('account.analytic.plan.instance.line','plan_id','Account6 Id'), + 'account_ids':fields.one2many('account.analytic.plan.instance.line', 'plan_id', 'Account Id'), + 'account1_ids':one2many_mod2('account.analytic.plan.instance.line', 'plan_id', 'Account1 Id'), + 'account2_ids':one2many_mod2('account.analytic.plan.instance.line', 'plan_id', 'Account2 Id'), + 'account3_ids':one2many_mod2('account.analytic.plan.instance.line', 'plan_id', 'Account3 Id'), + 'account4_ids':one2many_mod2('account.analytic.plan.instance.line', 'plan_id', 'Account4 Id'), + 'account5_ids':one2many_mod2('account.analytic.plan.instance.line', 'plan_id', 'Account5 Id'), + 'account6_ids':one2many_mod2('account.analytic.plan.instance.line', 'plan_id', 'Account6 Id'), 'plan_id':fields.many2one('account.analytic.plan', "Model's Plan"), } def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False): + if context is None: + context = {} if context.get('journal_id', False): journal = self.pool.get('account.journal').browse(cr, user, [context['journal_id']], context=context)[0] analytic_journal = journal.analytic_journal_id and journal.analytic_journal_id.id or False @@ -184,21 +186,21 @@ class account_analytic_plan_instance(osv.osv): def create(self, cr, uid, vals, context=None): if context and 'journal_id' in context: - journal= self.pool.get('account.journal').browse(cr,uid,context['journal_id']) + journal= self.pool.get('account.journal').browse(cr, uid, context['journal_id']) pids = self.pool.get('account.analytic.plan.instance').search(cr, uid, [('name','=',vals['name']),('code','=',vals['code']),('plan_id','<>',False)]) if pids: raise osv.except_osv(_('Error'), _('A model having this name and code already exists !')) - res = self.pool.get('account.analytic.plan.line').search(cr,uid,[('plan_id','=',journal.plan_id.id)]) + res = self.pool.get('account.analytic.plan.line').search(cr, uid, [('plan_id','=',journal.plan_id.id)]) for i in res: total_per_plan = 0 - item = self.pool.get('account.analytic.plan.line').browse(cr,uid,i) + item = self.pool.get('account.analytic.plan.line').browse(cr, uid, i) temp_list=['account1_ids','account2_ids','account3_ids','account4_ids','account5_ids','account6_ids'] for l in temp_list: if vals.has_key(l): for tempo in vals[l]: - if self.pool.get('account.analytic.account').search(cr,uid,[('parent_id','child_of',[item.root_analytic_id.id]),('id','=',tempo[2]['analytic_account_id'])]): + if self.pool.get('account.analytic.account').search(cr, uid, [('parent_id','child_of',[item.root_analytic_id.id]),('id','=',tempo[2]['analytic_account_id'])]): total_per_plan += tempo[2]['rate'] if total_per_plan < item.min_required or total_per_plan > item.max_required: raise osv.except_osv(_('Value Error') ,_('The Total Should be Between %s and %s') % (str(item.min_required), str(item.max_required))) @@ -206,13 +208,13 @@ class account_analytic_plan_instance(osv.osv): return super(account_analytic_plan_instance, self).create(cr, uid, vals, context) def write(self, cr, uid, ids, vals, context={}, check=True, update_check=True): - this = self.browse(cr,uid,ids[0]) + this = self.browse(cr, uid, ids[0]) if this.plan_id and not vals.has_key('plan_id'): #this instance is a model, so we have to create a new plan instance instead of modifying it #copy the existing model temp_id = self.copy(cr, uid, this.id, None, context) #get the list of the invoice line that were linked to the model - list = self.pool.get('account.invoice.line').search(cr,uid,[('analytics_id','=',this.id)]) + list = self.pool.get('account.invoice.line').search(cr, uid, [('analytics_id','=',this.id)]) #make them link to the copy self.pool.get('account.invoice.line').write(cr, uid, list, {'analytics_id':temp_id}, context) @@ -230,8 +232,8 @@ class account_analytic_plan_instance_line(osv.osv): _name='account.analytic.plan.instance.line' _description = 'Analytic Instance Line' _columns={ - 'plan_id':fields.many2one('account.analytic.plan.instance','Plan Id'), - 'analytic_account_id':fields.many2one('account.analytic.account','Analytic Account', required=True), + 'plan_id':fields.many2one('account.analytic.plan.instance', 'Plan Id'), + 'analytic_account_id':fields.many2one('account.analytic.account', 'Analytic Account', required=True), 'rate':fields.float('Rate (%)', required=True), } _defaults = { @@ -252,7 +254,7 @@ class account_journal(osv.osv): _inherit='account.journal' _name='account.journal' _columns = { - 'plan_id':fields.many2one('account.analytic.plan','Analytic Plans'), + 'plan_id':fields.many2one('account.analytic.plan', 'Analytic Plans'), } account_journal() @@ -260,7 +262,7 @@ class account_invoice_line(osv.osv): _inherit='account.invoice.line' _name='account.invoice.line' _columns = { - 'analytics_id':fields.many2one('account.analytic.plan.instance','Analytic Distribution'), + 'analytics_id':fields.many2one('account.analytic.plan.instance', 'Analytic Distribution'), } def create(self, cr, uid, vals, context=None): @@ -286,7 +288,7 @@ class account_move_line(osv.osv): _inherit='account.move.line' _name='account.move.line' _columns = { - 'analytics_id':fields.many2one('account.analytic.plan.instance','Analytic Distribution'), + 'analytics_id':fields.many2one('account.analytic.plan.instance', 'Analytic Distribution'), } def _default_get_move_form_hook(self, cursor, user, data): @@ -355,7 +357,7 @@ class account_invoice(osv.osv): ref = inv.reference else: ref = self._convert_ref(cr, uid, inv.number) - obj_move_line=self.pool.get('account.analytic.plan.instance').browse(cr,uid,il['analytics_id']) + obj_move_line=self.pool.get('account.analytic.plan.instance').browse(cr, uid, il['analytics_id']) amount_calc=cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, il['price'], context={'date': inv.date_invoice}) * sign qty=il['quantity'] il['analytic_lines']=[] diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml index 55afe582445..656b9105210 100644 --- a/addons/account_analytic_plans/account_analytic_plans_view.xml +++ b/addons/account_analytic_plans/account_analytic_plans_view.xml @@ -129,10 +129,10 @@ src_model="account.analytic.plan" id="account_analytic_instance_model_open"/> - <menuitem - name="Analytic Distribution's models" parent="account.account_def_analytic_journal" - id="menu_account_analytic_plan_instance_action" - action="account_analytic_plan_instance_action"/> +<!-- <menuitem--> +<!-- name="Analytic Distribution's models" parent="account.account_def_analytic_journal"--> +<!-- id="menu_account_analytic_plan_instance_action"--> +<!-- action="account_analytic_plan_instance_action"/>--> <record model="ir.ui.view" id="account_analytic_plan_instance_line_form"> <field name="name">account.analytic.plan.instance.line.form</field> @@ -192,11 +192,16 @@ <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record> - - <menuitem - parent="account.account_analytic_def_account" - id="menu_account_analytic_plan_action" - action="account_analytic_plan_form_action"/> + + <menuitem + parent="account.menu_analytic" + name="Multi Plans" + id="menu_account_analytic_multi_plan_action" + /> + <menuitem + parent="menu_account_analytic_multi_plan_action" + id="menu_account_analytic_plan_action" + action="account_analytic_plan_form_action"/> <record model="ir.ui.view" id="account_analytic_plan_line_form"> <field name="name">account.analytic.plan.line.form</field> diff --git a/addons/account_analytic_plans/wizard/analytic_plan_create_model.py b/addons/account_analytic_plans/wizard/analytic_plan_create_model.py index aafaf986b51..dc108d1700a 100644 --- a/addons/account_analytic_plans/wizard/analytic_plan_create_model.py +++ b/addons/account_analytic_plans/wizard/analytic_plan_create_model.py @@ -37,7 +37,7 @@ class analytic_plan_create_model(osv.osv_memory): raise osv.except_osv(_('Error'), _('No analytic plan defined !')) plan_obj.write(cr, uid, [context['active_id']], {'plan_id':pids[0]}) - model_data_ids = mod_obj.search(cr,uid,[('model', '=', 'ir.ui.view'),('name', '=', 'view_analytic_plan_create_model')], context=context) + model_data_ids = mod_obj.search(cr, uid, [('model', '=', 'ir.ui.view'),('name', '=', 'view_analytic_plan_create_model')], context=context) resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id'] return { 'name': _('Distribution Model Saved'), |
