summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/approval_unreserve.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/approval_unreserve.py')
-rw-r--r--indoteknik_custom/models/approval_unreserve.py7
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: