[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)
This commit is contained in:
parent
dee969929a
commit
df6b37c472
|
@ -139,6 +139,13 @@
|
||||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||||
</record>
|
</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">
|
<record model="ir.rule" id="account_invoice_line_comp_rule">
|
||||||
<field name="name">Invoice Line company rule</field>
|
<field name="name">Invoice Line company rule</field>
|
||||||
<field name="model_id" ref="model_account_invoice_line"/>
|
<field name="model_id" ref="model_account_invoice_line"/>
|
||||||
|
|
|
@ -36,11 +36,11 @@ class account_subscription_generate(osv.osv_memory):
|
||||||
def action_generate(self, cr, uid, ids, context=None):
|
def action_generate(self, cr, uid, ids, context=None):
|
||||||
mod_obj = self.pool.get('ir.model.data')
|
mod_obj = self.pool.get('ir.model.data')
|
||||||
act_obj = self.pool.get('ir.actions.act_window')
|
act_obj = self.pool.get('ir.actions.act_window')
|
||||||
|
sub_line_obj = self.pool.get('account.subscription.line')
|
||||||
moves_created=[]
|
moves_created=[]
|
||||||
for data in self.read(cr, uid, ids, context=context):
|
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 = sub_line_obj.search(cr, uid, [('date', '<', data['date']), ('move_id', '=', False)], context=context)
|
||||||
line_ids = map(lambda x: x[0], cr.fetchall())
|
moves = sub_line_obj.move_create(cr, uid, line_ids, context=context)
|
||||||
moves = self.pool.get('account.subscription.line').move_create(cr, uid, line_ids, context=context)
|
|
||||||
moves_created.extend(moves)
|
moves_created.extend(moves)
|
||||||
result = mod_obj.get_object_reference(cr, uid, 'account', 'action_move_line_form')
|
result = mod_obj.get_object_reference(cr, uid, 'account', 'action_move_line_form')
|
||||||
id = result and result[1] or False
|
id = result and result[1] or False
|
||||||
|
|
Loading…
Reference in New Issue