forked from Yaltik/golem
check if there is a membership invoice to add activities invoice lines
This commit is contained in:
parent
6054b3ac87
commit
709f73a7d1
@ -82,13 +82,21 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
|
|||||||
""" Create invoice and lines """
|
""" Create invoice and lines """
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
partner = self.member_id.partner_id
|
partner = self.member_id.partner_id
|
||||||
invoice = self.env['account.invoice'].create({
|
#check if there is a draft invoice for the current customer
|
||||||
'partner_id': partner.id,
|
member_line = partner.member_lines.filtered(
|
||||||
'account_id': partner.property_account_receivable_id.id,
|
lambda ml: (ml.membership_id.membership_season_id.is_default and
|
||||||
'fiscal_position_id': partner.property_account_position_id.id
|
ml.account_invoice_id.state == 'draft')
|
||||||
})
|
)
|
||||||
|
if member_line:
|
||||||
|
invoice = member_line[0].account_invoice_id
|
||||||
|
else:
|
||||||
|
invoice = self.env['account.invoice'].create({
|
||||||
|
'partner_id': partner.id,
|
||||||
|
'account_id': partner.property_account_receivable_id.id,
|
||||||
|
'fiscal_position_id': partner.property_account_position_id.id
|
||||||
|
})
|
||||||
for line in self.line_ids:
|
for line in self.line_ids:
|
||||||
product = line.activity_id.product_id
|
product = line.activity_id.product_id.product_variant_id
|
||||||
invoice_line = self._create_invoice_line(product, line.price, invoice)
|
invoice_line = self._create_invoice_line(product, line.price, invoice)
|
||||||
line.registration_id.invoice_line_id = invoice_line.id
|
line.registration_id.invoice_line_id = invoice_line.id
|
||||||
return invoice
|
return invoice
|
||||||
|
Loading…
Reference in New Issue
Block a user