Skip to content
Snippets Groups Projects
Commit 3432649e authored by Marco Folco's avatar Marco Folco
Browse files

[MOD] invoice refund

Modified domain, changed it to field definition instead of invoice_line_ids onchange
parent f643ea33
No related branches found
No related tags found
1 merge request!44[MOD] invoice refund
......@@ -20,11 +20,30 @@ _logger = logging.getLogger(__name__)
class AccountInvoiceRefund(models.TransientModel):
_inherit = "account.invoice.refund"
professional_id = fields.Many2one('res.partner','Professional')
descriptor_id = fields.Many2one('medical.benefit.descriptor','Descriptor')
professional_id = fields.Many2one('res.partner','Professional',domain=lambda x:x.get_domain_professional_id())
descriptor_id = fields.Many2one('medical.benefit.descriptor','Descriptor',domain=lambda x:x.get_domain_descriptor_id())
date_from = fields.Date('Date from')
date_to = fields.Date('Date to')
@api.multi
def get_domain_professional_id(self):
domain = []
invoice = self.env['account.invoice'].browse(self._context.get('active_id',False))
professionals = invoice.invoice_line_ids.mapped('professional_id')
if professionals:
domain.append(('id','in',professionals.ids))
return domain
@api.multi
def get_domain_descriptor_id(self):
domain = []
invoice = self.env['account.invoice'].browse(self._context.get('active_id',False))
descriptors = invoice.invoice_line_ids.mapped('descriptor_id')
if descriptors:
domain.append(('id','in',descriptors.ids))
return domain
@api.multi
def button_remove_all_lines(self):
self.write({'invoice_line_ids': [(5,0,0)]})
......@@ -55,6 +74,7 @@ class AccountInvoiceRefund(models.TransientModel):
for il in invoice_lines:
self.write({'invoice_line_ids': [(4,il.id)]})
self.descriptor_id = self.professional_id = self.date_from = self.date_to = False
return {
'context': self.env.context,
'view_type': 'form',
......@@ -71,13 +91,9 @@ class AccountInvoiceRefund(models.TransientModel):
def _get_invoice_line_domain(self):
invoice = self.env['account.invoice'].browse(self._context.get('active_id',False))
invoice_lines = invoice.invoice_line_ids.filtered(lambda x:x.benefit_id.state not in ['not_charged','charged','for_reinvoicing'] and x.benefit_id.invoice_id == invoice)
descriptors = invoice_lines.mapped('descriptor_id')
professionals = invoice_lines.mapped('professional_id')
return {
'domain':{
'invoice_line_ids': [('id','in',invoice_lines.ids)],
'descriptor_id': [('id','in',descriptors.ids)],
'professional_id': [('id','in',professionals.ids)],
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment