summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-09-12 09:46:14 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-09-12 09:46:14 +0700
commit82f0467cd3f014761fd35bd04eecc485ed8addda (patch)
tree75611274f899a1b2c38df55f713c4fba668dd950
parent8edde46e16d4d977e84a3681c03d1bfab8591a71 (diff)
push
-rwxr-xr-xindoteknik_custom/models/sale_order.py7
-rwxr-xr-xindoteknik_custom/views/sale_order.xml2
2 files changed, 6 insertions, 3 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index d389f6ae..abfbb799 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -113,10 +113,13 @@ class SaleOrder(models.Model):
def do_unreserve(self):
user_id = self.env.user.id
- if user_id != self.user_id.id:
+ if user_id != self.user_id.id and user_id != self.helper_by_id.id:
raise UserError(_("Only the user who created the picking can unreserve it."))
- self.unreserve_id.with_context({'darimana': 'sale.order'}).do_unreserve()
+ if self.unreserve_id and self.unreserve_id.state == 'assigned':
+ self.unreserve_id.with_context({'darimana': 'sale.order'}).do_unreserve()
+ else:
+ raise UserError(_("Picking not found."))
def _compute_date_kirim(self):
for rec in self:
diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml
index 54c01594..68116544 100755
--- a/indoteknik_custom/views/sale_order.xml
+++ b/indoteknik_custom/views/sale_order.xml
@@ -14,7 +14,7 @@
<button name="do_unreserve"
string="Unreserve Picking"
type="object"
- attrs="{'invisible': [('state', 'not in', ['draft', 'cancel', 'done'])]}"
+ attrs="{'invisible': [('state', 'in', ['draft', 'cancel', 'done'])]}"
/>
<button name="sale_order_approve"
string="Ask Approval"