diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml index 9a2383de45b37a3fd36c90fefa2a72c01480ea34..65d3e95be54e42085e38c6d0af7c12682564cd7a 100644 --- a/addons/account/security/account_security.xml +++ b/addons/account/security/account_security.xml @@ -139,6 +139,13 @@ <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> </record> + <record id="account_subscription_line_comp_rule" model="ir.rule"> + <field name="name">Account subscription line company rule</field> + <field name="model_id" ref="model_account_subscription_line"/> + <field name="global" eval="True"/> + <field name="domain_force">['|',('subscription_id.model_id.company_id','=',False),('subscription_id.model_id.company_id','child_of',[user.company_id.id])]</field> + </record> + <record model="ir.rule" id="account_invoice_line_comp_rule"> <field name="name">Invoice Line company rule</field> <field name="model_id" ref="model_account_invoice_line"/> diff --git a/addons/account/wizard/account_subscription_generate.py b/addons/account/wizard/account_subscription_generate.py index f5babc4fd874b752d53fd29c4c003331cfeabc97..65604446e9f35111fbf73183be9919dad67effe1 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