From: dhr-odoo Date: Wed, 25 Jun 2014 10:07:02 +0000 (+0200) Subject: [FIX] account: add multicompany rule to account.subscription.line X-Git-Tag: 8.0.0~25^2~24^2~97^2 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=df6b37c472772ef8911671b54caee1769cf77706;p=odoo%2Fodoo.git [FIX] account: add multicompany rule to account.subscription.line The wizard to generate recurring entries did not respect multicompany rules as the request was done in plain sql. Add ir.rule and use the orm (opw 607782) --- diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml index 9a2383d..65d3e95 100644 --- a/addons/account/security/account_security.xml +++ b/addons/account/security/account_security.xml @@ -139,6 +139,13 @@ ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])] + + Account subscription line company rule + + + ['|',('subscription_id.model_id.company_id','=',False),('subscription_id.model_id.company_id','child_of',[user.company_id.id])] + + Invoice Line company rule diff --git a/addons/account/wizard/account_subscription_generate.py b/addons/account/wizard/account_subscription_generate.py index f5babc4..6560444 100644 --- a/addons/account/wizard/account_subscription_generate.py +++ b/addons/account/wizard/account_subscription_generate.py @@ -36,11 +36,11 @@ class account_subscription_generate(osv.osv_memory): def action_generate(self, cr, uid, ids, context=None): mod_obj = self.pool.get('ir.model.data') act_obj = self.pool.get('ir.actions.act_window') + sub_line_obj = self.pool.get('account.subscription.line') moves_created=[] for data in self.read(cr, uid, ids, context=context): - cr.execute('select id from account_subscription_line where date<%s and move_id is null', (data['date'],)) - line_ids = map(lambda x: x[0], cr.fetchall()) - moves = self.pool.get('account.subscription.line').move_create(cr, uid, line_ids, context=context) + line_ids = sub_line_obj.search(cr, uid, [('date', '<', data['date']), ('move_id', '=', False)], context=context) + moves = sub_line_obj.move_create(cr, uid, line_ids, context=context) moves_created.extend(moves) result = mod_obj.get_object_reference(cr, uid, 'account', 'action_move_line_form') id = result and result[1] or False