summaryrefslogtreecommitdiff
path: root/addons/account_analytic_plans
diff options
context:
space:
mode:
authoratp (Open ERP) <atp@tinyerp.co.in>2010-06-22 10:45:44 +0530
committeratp (Open ERP) <atp@tinyerp.co.in>2010-06-22 10:45:44 +0530
commitb0efd26edd9f4e2aa75424b787ea46d2be15cd04 (patch)
treee78cdb693e62a5c9a17f77a395eec51fb34becbf /addons/account_analytic_plans
parent46bb1ea51be702758d68a5f69db32c82dbccf9bd (diff)
parent2319190c5a20cb8095f85cacca89a33164ba93d7 (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')
-rw-r--r--addons/account_analytic_plans/account_analytic_plans.py44
-rw-r--r--addons/account_analytic_plans/account_analytic_plans_view.xml23
-rw-r--r--addons/account_analytic_plans/wizard/analytic_plan_create_model.py2
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'),