From 6307329e981bb004d78568651cd2f342aa0f1f15 Mon Sep 17 00:00:00 2001 From: youssef Date: Tue, 9 Oct 2018 14:36:24 +0100 Subject: [PATCH] move membership from the legal_guardian to the minor --- golem_member_minor/models/golem_membership.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/golem_member_minor/models/golem_membership.py b/golem_member_minor/models/golem_membership.py index aa5b808..512ab0e 100644 --- a/golem_member_minor/models/golem_membership.py +++ b/golem_member_minor/models/golem_membership.py @@ -19,7 +19,6 @@ """ GOLEM Membership """ from odoo import models, fields, api -from odoo.addons import decimal_precision as dp class GolemMembershipInvoice(models.TransientModel): @@ -41,16 +40,21 @@ class GolemMembershipInvoice(models.TransientModel): } @api.multi def membership_invoice(self): - """ Create invoice and redirect to partner invoice list """ + """ Add partners concerned to invoice and move membership from legal guardian to minor """ self.ensure_one() + record = self[0] res = super(GolemMembershipInvoice, self).membership_invoice() - if self.src_member_id and self.src_member_id.is_minor: + if record.src_member_id and record.src_member_id.is_minor: + #gettin invoice_id from action's domain already declared invoice_id = (res['domain'][0][2] if res['domain'][0][2] else False) if invoice_id: - self.env['account.invoice'].browse(invoice_id).partner_ids = [ - (6, 0, [self.partner_id.id, - self.src_member_id.partner_id.id])] - self.src_member_id.partner_id.membership_state = self.partner_id.membership_state - self.partner_id.membership_state = 'none' + invoice = self.env['account.invoice'].browse(invoice_id) + invoice.is_minor_invoice = True + invoice.partner_ids = [(6, 0, [record.partner_id.id, + record.src_member_id.partner_id.id])] + # move the created membership from legal guardian to the minor + membership_line = record.partner_id.member_lines[0] + membership_line.copy({'partner': record.src_member_id.partner_id.id}) + membership_line.unlink() return res