[FIX] sale: action_view_invoice
When clicking on button "invoices" in a SO, the invoice linked was opened without the action in url. So when refreshing the browser, a supplier invoice was displayed instaed of a customer invoice. opw:695844
This commit is contained in:
@@ -299,29 +299,16 @@ class SaleOrder(models.Model):
|
||||
|
||||
@api.multi
|
||||
def action_view_invoice(self):
|
||||
invoice_ids = self.mapped('invoice_ids')
|
||||
imd = self.env['ir.model.data']
|
||||
action = imd.xmlid_to_object('account.action_invoice_tree1')
|
||||
list_view_id = imd.xmlid_to_res_id('account.invoice_tree')
|
||||
form_view_id = imd.xmlid_to_res_id('account.invoice_form')
|
||||
|
||||
result = {
|
||||
'name': action.name,
|
||||
'help': action.help,
|
||||
'type': action.type,
|
||||
'views': [[list_view_id, 'tree'], [form_view_id, 'form'], [False, 'graph'], [False, 'kanban'], [False, 'calendar'], [False, 'pivot']],
|
||||
'target': action.target,
|
||||
'context': action.context,
|
||||
'res_model': action.res_model,
|
||||
}
|
||||
if len(invoice_ids) > 1:
|
||||
result['domain'] = "[('id','in',%s)]" % invoice_ids.ids
|
||||
elif len(invoice_ids) == 1:
|
||||
result['views'] = [(form_view_id, 'form')]
|
||||
result['res_id'] = invoice_ids.ids[0]
|
||||
invoices = self.mapped('invoice_ids')
|
||||
action = self.env.ref('account.action_invoice_tree1').read()[0]
|
||||
if len(invoices) > 1:
|
||||
action['domain'] = [('id', 'in', invoices.ids)]
|
||||
elif len(invoices) == 1:
|
||||
action['views'] = [(self.env.ref('account.invoice_form').id, 'form')]
|
||||
action['res_id'] = invoices.ids[0]
|
||||
else:
|
||||
result = {'type': 'ir.actions.act_window_close'}
|
||||
return result
|
||||
action = {'type': 'ir.actions.act_window_close'}
|
||||
return action
|
||||
|
||||
@api.multi
|
||||
def action_invoice_create(self, grouped=False, final=False):
|
||||
|
||||
Reference in New Issue
Block a user