Browse Source

Sep 04: [FIX] Bug Fixed 'invoice_multi_approval'

13.0
Cybrosys Technologies 8 months ago
parent
commit
c045140299
  1. 2
      invoice_multi_approval/__manifest__.py
  2. 6
      invoice_multi_approval/doc/RELEASE_NOTES.md
  3. 89
      invoice_multi_approval/models/account_move.py

2
invoice_multi_approval/__manifest__.py

@ -21,7 +21,7 @@
############################################################################# #############################################################################
{ {
'name': "Invoice Multi level Approval", 'name': "Invoice Multi level Approval",
'version': '13.0.1.0.1', 'version': '13.0.1.0.2',
'summary': """This module add the multiple approval option for invoice, 'summary': """This module add the multiple approval option for invoice,
bill,refund and credit notes.""", bill,refund and credit notes.""",
'description': """This module add the multiple approval option for invoice, 'description': """This module add the multiple approval option for invoice,

6
invoice_multi_approval/doc/RELEASE_NOTES.md

@ -9,3 +9,9 @@
#### Version 13.0.1.0.1 #### Version 13.0.1.0.1
##### UPDT ##### UPDT
- Bug Fix-Fixed the issue where the feature did not work when duplicating a record. - Bug Fix-Fixed the issue where the feature did not work when duplicating a record.
#### 02.09.2024
#### Version 13.0.1.0.2
##### UPDT
- Bug Fix-Fixed the issue wherein there was a issue when making payment with bank internal transfer

89
invoice_multi_approval/models/account_move.py

@ -43,67 +43,38 @@ class AccountMove(models.Model):
@api.model_create_multi @api.model_create_multi
def create(self, vals): def create(self, vals):
record = super().create(vals) records = super().create(vals)
invoice_approval_id = self.env['invoice.approval'].search([]) invoice_approval_id = self.env['invoice.approval'].search([])
record.approval_ids = None
if invoice_approval_id.approve_customer_invoice and record.type == 'out_invoice':
for user in invoice_approval_id.invoice_approver_ids:
vals = {
'approver_id': user.id
}
record.approval_ids |= record.approval_ids.new(vals)
elif invoice_approval_id.approve_vendor_bill and record.type == 'in_invoice':
for user in invoice_approval_id.bill_approver_ids:
vals = {
'approver_id': user.id
}
record.approval_ids |= record.approval_ids.new(vals)
elif invoice_approval_id.approve_customer_credit and record.type == 'out_refund':
for user in invoice_approval_id.cust_credit_approver_ids:
vals = {
'approver_id': user.id
}
record.approval_ids |= record.approval_ids.new(vals)
elif invoice_approval_id.approve_vendor_credit and record.type == 'in_refund':
for user in invoice_approval_id.vend_credit_approver_ids:
vals = {
'approver_id': user.id
}
record.approval_ids |= record.approval_ids.new(vals)
return record
@api.onchange('partner_id') for record in records:
def _onchange_partner_id(self): record.approval_ids = None
"""This is the onchange function of the partner which loads the
persons for the approval to the approver table of the account.move""" if invoice_approval_id.approve_customer_invoice and record.type == 'out_invoice':
res = super(AccountMove, self)._onchange_partner_id() for user in invoice_approval_id.invoice_approver_ids:
invoice_approval_id = self.env['invoice.approval'].search([]) vals = {
self.approval_ids = None 'approver_id': user.id
if invoice_approval_id.approve_customer_invoice and self.type == 'out_invoice': }
for user in invoice_approval_id.invoice_approver_ids: record.approval_ids |= record.approval_ids.new(vals)
vals = { elif invoice_approval_id.approve_vendor_bill and record.type == 'in_invoice':
'approver_id': user.id for user in invoice_approval_id.bill_approver_ids:
} vals = {
self.approval_ids |= self.approval_ids.new(vals) 'approver_id': user.id
elif invoice_approval_id.approve_vendor_bill and self.type == 'in_invoice': }
for user in invoice_approval_id.bill_approver_ids: record.approval_ids |= record.approval_ids.new(vals)
vals = { elif invoice_approval_id.approve_customer_credit and record.type == 'out_refund':
'approver_id': user.id for user in invoice_approval_id.cust_credit_approver_ids:
} vals = {
self.approval_ids |= self.approval_ids.new(vals) 'approver_id': user.id
elif invoice_approval_id.approve_customer_credit and self.type == 'out_refund': }
for user in invoice_approval_id.cust_credit_approver_ids: record.approval_ids |= record.approval_ids.new(vals)
vals = { elif invoice_approval_id.approve_vendor_credit and record.type == 'in_refund':
'approver_id': user.id for user in invoice_approval_id.vend_credit_approver_ids:
} vals = {
self.approval_ids |= self.approval_ids.new(vals) 'approver_id': user.id
elif invoice_approval_id.approve_vendor_credit and self.type == 'in_refund': }
for user in invoice_approval_id.vend_credit_approver_ids: record.approval_ids |= record.approval_ids.new(vals)
vals = {
'approver_id': user.id return records
}
self.approval_ids |= self.approval_ids.new(vals)
return res
@api.depends('approval_ids.approver_id') @api.depends('approval_ids.approver_id')
def _compute_check_approve_ability(self): def _compute_check_approve_ability(self):

Loading…
Cancel
Save