summaryrefslogtreecommitdiff
path: root/fixco_custom/models/account_move_line.py
blob: f03d6e64644d9a2b2ad3f9d89e64b4e5edb18f7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from odoo import models, api, fields, _
from odoo.exceptions import AccessError, UserError, ValidationError

class AccountMoveLine(models.Model):
    _inherit = "account.move.line"

    qty_outstanding = fields.Float(string='Qty Outstanding', compute='_compute_qty_outstanding')

    def _compute_qty_outstanding(self):
        for line in self:
            qty_received = line.purchase_line_id.qty_received
            qty_billed = line.purchase_line_id.qty_invoiced
            line.qty_outstanding = qty_received - qty_billed

    @api.onchange('quantity')
    def _onchange_quantity(self):
        for line in self:
            if line.move_id.move_type == 'in_invoice' and line.id.origin:
                if line and line.quantity > line.qty_outstanding and line.qty_outstanding > 0:
                    raise UserError(_("Quantity Tidak Boleh Melebihi Qty Outstanding"))