diff --git a/easy_my_coop/models/account_invoice.py b/easy_my_coop/models/account_invoice.py index acb64e6..28c8783 100644 --- a/easy_my_coop/models/account_invoice.py +++ b/easy_my_coop/models/account_invoice.py @@ -16,7 +16,7 @@ class account_invoice(models.Model): def _prepare_refund(self, invoice, date_invoice=None, date=None, description=None, journal_id=None): values = super(account_invoice, self)._prepare_refund( - invoice, date_invoice, date, + invoice, date_invoice, date, description, journal_id) values['release_capital_request'] = self.release_capital_request @@ -24,16 +24,15 @@ class account_invoice(models.Model): def set_cooperator_effective(self, effective_date): # flag the partner as a effective member - obj_sequence = self.env['ir.sequence'] - mail_template_id = 'easy_my_coop.email_template_certificat' # if not yet cooperator we generate a cooperator number if self.partner_id.member is False and self.partner_id.old_member is False: sequence_id = self.env.ref('easy_my_coop.sequence_subscription', False) sub_reg_num = sequence_id.next_by_id() - self.partner_id.write({'member': True, 'old_member': False, - 'cooperator_register_number': int(sub_reg_num)}) + self.partner_id.write({ + 'member': True, 'old_member': False, + 'cooperator_register_number': int(sub_reg_num)}) elif self.partner_id.old_member: self.partner_id.write({'member': True, 'old_member': False}) else: @@ -42,24 +41,25 @@ class account_invoice(models.Model): sub_reg_operation = sequence_operation.next_by_id() for line in self.invoice_line_ids: - sub_reg = self.env['subscription.register'].create( - {'name': sub_reg_operation, - 'register_number_operation': int(sub_reg_operation), - 'partner_id': self.partner_id.id, - 'quantity': line.quantity, - 'share_product_id': line.product_id.id, - 'share_unit_price': line.price_unit, - 'date': effective_date, - 'type': 'subscription'}) - self.env['share.line'].create({'share_number': line.quantity, - 'share_product_id': line.product_id.id, - 'partner_id': self.partner_id.id, - 'share_unit_price': line.price_unit, - 'effective_date': effective_date}) - - email_template_obj = self.env['mail.template'] + self.env['subscription.register'].create({ + 'name': sub_reg_operation, + 'register_number_operation': int(sub_reg_operation), + 'partner_id': self.partner_id.id, + 'quantity': line.quantity, + 'share_product_id': line.product_id.id, + 'share_unit_price': line.price_unit, + 'date': effective_date, + 'type': 'subscription'}) + + self.env['share.line'].create({ + 'share_number': line.quantity, + 'share_product_id': line.product_id.id, + 'partner_id': self.partner_id.id, + 'share_unit_price': line.price_unit, + 'effective_date': effective_date + }) + certificat_email_template = self.env.ref(mail_template_id, False) - #certificat_email_template = email_template_obj.search([('name', '=', mail_template_name)])[0] # we send the email with the certificat in attachment certificat_email_template.send_mail(self.partner_id.id, False) @@ -73,16 +73,16 @@ class account_invoice(models.Model): @api.multi def confirm_paid(self): for invoice in self: - #self.env.cr.commit() super(account_invoice, invoice).confirm_paid() - # we check if there is an open refund for this invoice. in this case we - # don't run the process_subscription function as the invoice has been - # reconciled with a refund and not a payment. - refund = self.search([('type', '=', 'out_refund'), ('origin', '=', invoice.move_name)]) + # we check if there is an open refund for this invoice. in this + # case we don't run the process_subscription function as the + # invoice has been reconciled with a refund and not a payment. + refund = self.search([('type', '=', 'out_refund'), + ('origin', '=', invoice.move_name)]) if invoice.partner_id.cooperator and invoice.release_capital_request \ - and invoice.type == 'out_invoice' and not refund: - # take the effective date from the payment. + and invoice.type == 'out_invoice' and not refund: + # take the effective date from the payment. # by default the confirmation date is the payment date effective_date = datetime.now().strftime("%d/%m/%Y") @@ -94,6 +94,6 @@ class account_invoice(models.Model): invoice.post_process_confirm_paid(effective_date) # if there is a open refund we mark the subscription as cancelled elif invoice.partner_id.cooperator and invoice.release_capital_request \ - and invoice.type == 'out_invoice' and refund: + and invoice.type == 'out_invoice' and refund: invoice.subscription_request.state = 'cancelled' return True