[IMP] account_analytic_plan: improved useability: one should be able to use same distribution for a sale and for a purchase => analytic journal on analytic distribution should only be used to add filters, it's now not required anymore: if we want to set a distribution as useable for all kind of operations we just have to not put any analytic journal on it. The anlytic movement is always created with the analytic journal set on the financial journal related. TODO: add domains

bzr revid: qdp-launchpad@tinyerp.com-20100312101425-6d73zb8l2ing4dbv
This commit is contained in:
qdp
2010-03-12 11:14:25 +01:00
parent 33aa498fbf
commit 14e0a4ed89
@@ -85,7 +85,7 @@ class account_analytic_plan_instance(osv.osv):
_columns={
'name':fields.char('Analytic Distribution',size=64),
'code':fields.char('Distribution Code',size=16),
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal', required=True),
'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'),
@@ -284,6 +284,9 @@ class account_move_line(osv.osv):
super(account_move_line, self).create_analytic_lines(cr, uid, ids, context)
for line in self.browse(cr, uid, ids, context):
if line.analytics_id:
if not line.journal_id.analytic_journal_id:
raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (line.journal_id.name,))
toremove = self.pool.get('account.analytic.line').search(cr, uid, [('move_id','=',line.id)], context=context)
if toremove:
line.unlink(cr, uid, toremove, context=context)
@@ -300,7 +303,7 @@ class account_move_line(osv.osv):
'amount': amt,
'general_account_id': line.account_id.id,
'move_id': line.id,
'journal_id': line.analytics_id.journal_id.id,
'journal_id': line.journal_id.analytic_journal_id.id,
'ref': line.ref,
}
ali_id=self.pool.get('account.analytic.line').create(cr,uid,al_vals)