summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/approval_unreserve.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-09-13 10:25:03 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-09-13 10:25:03 +0700
commitb473179e5adde097bc9ec43ee4566b850937f1ed (patch)
tree692846858d335ac67fa3881c390188144f3c2090 /indoteknik_custom/models/approval_unreserve.py
parent5c6098158ab0f82437aa24e947a66b78b21b6bd7 (diff)
unreserve
Diffstat (limited to 'indoteknik_custom/models/approval_unreserve.py')
-rw-r--r--indoteknik_custom/models/approval_unreserve.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/indoteknik_custom/models/approval_unreserve.py b/indoteknik_custom/models/approval_unreserve.py
index a8f9fd3b..8c232d9c 100644
--- a/indoteknik_custom/models/approval_unreserve.py
+++ b/indoteknik_custom/models/approval_unreserve.py
@@ -22,6 +22,7 @@ class ApprovalUnreserve(models.Model):
request_date = fields.Date(string="Request Date", default=fields.Date.today, tracking=True)
approved_by = fields.Many2one('res.users', string="Approved By", readonly=True, tracking=True)
picking_id = fields.Many2one('stock.picking', string="Picking", tracking=True)
+ user_id = fields.Many2one('res.users', string="User", readonly=True, tracking=True)
rejection_reason = fields.Text(string="Rejection Reason", tracking=True)
@api.constrains('picking_id')
@@ -40,6 +41,8 @@ class ApprovalUnreserve(models.Model):
'move_id': move.id
})
+ self.user_id = self.picking_id.sale_id.user_id.id
+
@api.model
def create(self, vals):
if vals.get('number', 'New') == 'New':
@@ -50,6 +53,9 @@ class ApprovalUnreserve(models.Model):
self.write({'state': 'waiting_approval'})
def action_approve(self):
+ if self.env.user.id != self.user_id.id:
+ raise UserError("Hanya Sales nya yang bisa approve.")
+
if self.state != 'waiting_approval':
raise UserError("Approval can only be done in 'Waiting for Approval' state")
self.write({
@@ -60,6 +66,9 @@ class ApprovalUnreserve(models.Model):
self._trigger_unreserve()
def action_reject(self, reason):
+ if self.env.user.id != self.user_id.id:
+ raise UserError("Hanya Sales nya yang bisa reject.")
+
if self.state != 'waiting_approval':
raise UserError("Rejection can only be done in 'Waiting for Approval' state")
self.write({