Files
odoo_source/addons/repair/wizard/repair_make_invoice.py
T
Haresh Shyara 5f6b0a7bc5 [IMP] repair: renamed model names xmlid
- Also rename file references with new one.
- model renamed
	mrp.repair to repair.order
	mrp.repair.line -> repair.line
	mrp.repair.fee -> repair.fee
	mrp.repair.cancel -> repair.cancel
	mrp.repair.make_invoice -> repair.order.make_invoice
2018-01-10 15:30:50 +01:00

37 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class MakeInvoice(models.TransientModel):
_name = 'repair.order.make_invoice'
_description = 'Make Invoice'
group = fields.Boolean('Group by partner invoice address')
@api.multi
def make_invoices(self):
if not self._context.get('active_ids'):
return {'type': 'ir.actions.act_window_close'}
new_invoice = {}
for wizard in self:
repairs = self.env['repair.order'].browse(self._context['active_ids'])
new_invoice = repairs.action_invoice_create(group=wizard.group)
# We have to udpate the state of the given repairs, otherwise they remain 'to be invoiced'.
# Note that this will trigger another call to the method 'action_invoice_create',
# but that second call will not do anything, since the repairs are already invoiced.
repairs.action_repair_invoice_create()
return {
'domain': [('id', 'in', list(new_invoice.values()))],
'name': 'Invoices',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'account.invoice',
'view_id': False,
'views': [(self.env.ref('account.invoice_tree').id, 'tree'), (self.env.ref('account.invoice_form').id, 'form')],
'context': "{'type':'out_invoice'}",
'type': 'ir.actions.act_window'
}