diff options
| -rwxr-xr-x | base_accounting_kit/models/credit_limit.py | 82 |
1 files changed, 34 insertions, 48 deletions
diff --git a/base_accounting_kit/models/credit_limit.py b/base_accounting_kit/models/credit_limit.py index ceef4d7..f7ca002 100755 --- a/base_accounting_kit/models/credit_limit.py +++ b/base_accounting_kit/models/credit_limit.py @@ -77,21 +77,13 @@ class SaleOrder(models.Model): continue all_order_amount = 0 - paid_invoice_amount = 0 + outstanding_invoice_amount = 0 outstanding_amount = 0 # this is only outstanding per user, must add outstanding parent partners = [] parent_id = 0 if rec.partner_id.parent_id: - # partners = self.env['res.partner'].search([ - # '&', - # ('active', '=', True), - # ('type', '=', 'contact'), - # '|', - # ('parent_id', '=', rec.partner_id.parent_id.id), - # ('id', '=', rec.partner_id.id), - # ]) parent_id = rec.partner_id.parent_id else: parent_id = rec.partner_id @@ -102,37 +94,23 @@ class SaleOrder(models.Model): if partner.type != 'contact': continue print(partner.name) - # all_order_ids = self.env['sale.order'].search([ - # ('state', 'in', ['sale', 'done']), - # ('partner_id', '=', partner.id), - # ('id', '!=', rec.id) - # ]) - paid_invoice_ids = self.env['account.move'].search([ + outstanding_invoice_ids = self.env['account.move'].search([ # ('payment_state', '=', 'paid'), ('partner_id', '=', partner.id), ('move_type', '=', 'out_invoice'), ('amount_residual_signed', '>', 0), ('state', '=', 'posted') ]) - # amount_residual_signed - # if all_order_ids: - # # print("-----check here-----") - # for order in all_order_ids: - # # print(order.name) - # # print(order.amount_total) - # all_order_amount += order.amount_total - - if paid_invoice_ids: + if outstanding_invoice_ids: print("-----check invoice here-----") - for invoice in paid_invoice_ids: + for invoice in outstanding_invoice_ids: print(invoice.name) print(invoice.amount_total) - paid_invoice_amount += invoice.amount_total + outstanding_invoice_amount += invoice.amount_total - # outstanding_amount = all_order_amount - paid_invoice_amount - outstanding_amount = paid_invoice_amount + outstanding_amount = outstanding_invoice_amount rec.outstanding_amount = outstanding_amount has_due = fields.Boolean() @@ -226,30 +204,38 @@ class AccountMove(models.Model): if not rec.id: continue - all_order_amount = 0 - paid_invoice_amount = 0 - outstanding_amount = 0 - - all_order_ids = self.env['sale.order'].search([ - ('state','in',['sale','done']), - ('partner_id','=',rec.partner_id.id) - ]) + outstanding_invoice_amount = 0 + partners = [] + parent_id = 0 + if rec.partner_id.parent_id: + parent_id = rec.partner_id.parent_id + else: + parent_id = rec.partner_id + partners += parent_id.child_ids + partners.append(parent_id) - paid_invoice_ids = self.env['account.move'].search([ - ('payment_state','=','paid'), - ('partner_id','=',rec.partner_id.id), - ('move_type','=','out_invoice') - ]) + for partner in partners: + if partner.type != 'contact': + continue + print(partner.name) - if all_order_ids: - for order in all_order_ids: - all_order_amount += order.amount_total + outstanding_invoice_ids = self.env['account.move'].search([ + # ('payment_state', '=', 'paid'), + ('partner_id', '=', partner.id), + ('move_type', '=', 'out_invoice'), + ('amount_residual_signed', '>', 0), + ('state', '=', 'posted') + ]) - if paid_invoice_ids: - for invoice in paid_invoice_ids: - paid_invoice_amount += invoice.amount_total + if outstanding_invoice_ids: + print("-----check invoice here-----") + for invoice in outstanding_invoice_ids: + print(invoice.name) + print(invoice.amount_total) + outstanding_invoice_amount += invoice.amount_total - outstanding_amount = all_order_amount - paid_invoice_amount + # outstanding_amount = all_order_amount - paid_invoice_amount + outstanding_amount = outstanding_invoice_amount rec.outstanding_amount = outstanding_amount def action_post(self): |
