diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2024-10-16 15:47:07 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2024-10-16 15:47:07 +0700 |
| commit | 8914f55dba0a2d4a1e992c9d0635ae993950bcf1 (patch) | |
| tree | f41be6b8474db4f61e0122c68614a191829e39cf /indoteknik_custom/models/approval_unreserve.py | |
| parent | d7f4569c5d2dcda1316ca4ef37fed53f467df9df (diff) | |
| parent | a1b2542ebc2d527d07edbcbaab467152a46f1d33 (diff) | |
Merge branch 'production' into feature/generate_url
Diffstat (limited to 'indoteknik_custom/models/approval_unreserve.py')
| -rw-r--r-- | indoteknik_custom/models/approval_unreserve.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/indoteknik_custom/models/approval_unreserve.py b/indoteknik_custom/models/approval_unreserve.py index 88409c37..07ddda1f 100644 --- a/indoteknik_custom/models/approval_unreserve.py +++ b/indoteknik_custom/models/approval_unreserve.py @@ -31,12 +31,12 @@ class ApprovalUnreserve(models.Model): if not self.picking_id: raise ValidationError("Picking is required") - stock_move = self.env['stock.move'].search([('picking_id', '=', self.picking_id.id), ('state', '=', 'assigned')]) + stock_move = self.env['stock.move'].search([('picking_id', '=', self.picking_id.id), ('state', 'in', ['assigned', 'partially_available'])]) if not stock_move: raise ValidationError("Picking is not found") - for move in stock_move: + for move in stock_move: self.approval_line.create({ 'approval_id': self.id, 'move_id': move.id @@ -68,7 +68,7 @@ class ApprovalUnreserve(models.Model): if not move: raise UserError("Product tidak ada di destination picking") - qty_unreserve = line.unreserve_qty + move.forecast_availability + qty_unreserve = line.unreserve_qty + move.reserved_availability if move.product_uom_qty < qty_unreserve: raise UserError("Quantity yang di unreserve melebihi quantity yang ada") @@ -86,6 +86,7 @@ class ApprovalUnreserve(models.Model): }) # Trigger the unreserve function self._trigger_unreserve() + self.picking_id.check_state_reserve() def action_reject(self, reason): if self.env.user.id != self.user_id.id: |
