summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/approval_unreserve.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-10-16 15:47:07 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-10-16 15:47:07 +0700
commit8914f55dba0a2d4a1e992c9d0635ae993950bcf1 (patch)
treef41be6b8474db4f61e0122c68614a191829e39cf /indoteknik_custom/models/approval_unreserve.py
parentd7f4569c5d2dcda1316ca4ef37fed53f467df9df (diff)
parenta1b2542ebc2d527d07edbcbaab467152a46f1d33 (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.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: