diff options
| -rwxr-xr-x | indoteknik_custom/models/purchase_order.py | 18 | ||||
| -rw-r--r-- | indoteknik_custom/models/shipment_group.py | 8 | ||||
| -rw-r--r-- | indoteknik_custom/models/vendor_approval.py | 6 | ||||
| -rw-r--r-- | indoteknik_custom/views/shipment_group.xml | 7 |
4 files changed, 33 insertions, 6 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index c5ba5792..cbfd4acd 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -827,11 +827,23 @@ class PurchaseOrder(models.Model): self.check_different_vendor_so_po() # self.check_data_vendor() - if self.amount_untaxed >= 50000000 and not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'): - raise UserError("Hanya Merchandiser yang bisa approve") + if self.amount_untaxed >= 50000000 and not self.env.user.id == 21: + raise UserError("Hanya Rafly Hanggara yang bisa approve") if self.total_percent_margin < self.total_so_percent_margin and not self.env.user.has_group('indoteknik_custom.group_role_merchandiser') and not self.env.user.is_leader: - raise UserError("Beda Margin dengan Sales, harus approval Merchandise") + self.env.user.notify_danger( + title='WARNING!!!', + message='Beda Margin dengan Sale Order', + sticky=True + ) + + if len(self.order_sales_match_line) == 0 and not self.env.user.has_group('indoteknik_custom.group_role_merchandiser') and not self.env.user.is_leader: + self.env.user.notify_danger( + title='WARNING!!!', + message='Tidak ada matches SO', + sticky=True + ) + if not self.from_apo: if not self.matches_so and not self.env.user.has_group('indoteknik_custom.group_role_merchandiser') and not self.env.user.is_leader: raise UserError("Tidak ada link dengan SO, harus approval Merchandise") diff --git a/indoteknik_custom/models/shipment_group.py b/indoteknik_custom/models/shipment_group.py index 48a3fa21..87d222a6 100644 --- a/indoteknik_custom/models/shipment_group.py +++ b/indoteknik_custom/models/shipment_group.py @@ -17,6 +17,14 @@ class ShipmentGroup(models.Model): carrier_id = fields.Many2one('delivery.carrier', string='Ekspedisi') total_colly_line = fields.Float(string='Total Colly', compute='_compute_total_colly_line') + def sync_api_shipping(self): + for rec in self.shipment_line: + if rec.shipment_id.carrier_id == 173: + rec.picking_id.action_get_kgx_pod() + + if rec.shipment_id.carrier_id == 151: + rec.picking_id.track_envio_shipment() + @api.depends('shipment_line.total_colly') def _compute_total_colly_line(self): for rec in self: diff --git a/indoteknik_custom/models/vendor_approval.py b/indoteknik_custom/models/vendor_approval.py index 01d2e6a2..62fd5368 100644 --- a/indoteknik_custom/models/vendor_approval.py +++ b/indoteknik_custom/models/vendor_approval.py @@ -45,7 +45,7 @@ class VendorApproval(models.Model): def action_approve(self): for rec in self: self.check_state_so() - if not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'): + if not self.env.user.has_group('indoteknik_custom.group_role_purchasing'): raise UserError('Hanya Merchandiser yang bisa approve') # Set state menjadi 'done' @@ -65,8 +65,8 @@ class VendorApproval(models.Model): def action_reject(self): for rec in self: self.check_state_so() - if not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'): - raise UserError('Hanya Merchandiser yang bisa cancel') + if not self.env.user.has_group('indoteknik_custom.group_role_purchasing'): + raise UserError('Hanya Procurement yang bisa cancel') rec.state = 'cancel' diff --git a/indoteknik_custom/views/shipment_group.xml b/indoteknik_custom/views/shipment_group.xml index a4f82e27..ea202ee2 100644 --- a/indoteknik_custom/views/shipment_group.xml +++ b/indoteknik_custom/views/shipment_group.xml @@ -30,6 +30,13 @@ <field name="name">shipment.group.form</field> <field name="model">shipment.group</field> <field name="arch" type="xml"> + <header> + <button name="sync_api_shipping" + string="Sync API" + type="object" + attrs="{'invisible': [('carrier_id', 'not in', [151, 173])]}" + /> + </header> <form> <sheet> <group> |
