diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-05-18 01:50:35 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-05-18 01:50:35 +0700 |
| commit | 434bf64f3229b12ec938671d74446389cb0455aa (patch) | |
| tree | 8f4410c7a683c0fdc4ad6b3abd94e136518b5088 | |
| parent | 434260b95902e088820c3b5d14d7a565f01a21c1 (diff) | |
<miqdad> prevent sales member or sales manager to change payment term when so/approved
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 8a57b9c0..bfb38f6d 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -1032,12 +1032,6 @@ class SaleOrder(models.Model): line_no += 1 line.line_no = line_no - def write(self, vals): - if 'carrier_id' in vals: - for picking in self.picking_ids: - if picking.state == 'assigned': - picking.carrier_id = self.carrier_id - def calculate_so_status(self): so_state = ['sale'] sales = self.search([ @@ -1154,8 +1148,13 @@ class SaleOrder(models.Model): helper_ids_str = self.env['ir.config_parameter'].sudo().get_param('sale.order.user_helper_ids') return helper_ids_str.split(', ') - def write(self, values): - if 'payment_term_id' in values: + def write(self, vals): + if 'carrier_id' in vals: + for picking in self.picking_ids: + if picking.state == 'assigned': + picking.carrier_id = self.carrier_id + + if 'payment_term_id' in vals: if self.state not in ['cancel', 'draft'] and self.approval_status == 'approved': if self.env.user.has_group('sales_team.group_sale_salesman') or self.env.user.has_group( 'sales_team.group_sale_manager'): @@ -1163,9 +1162,9 @@ class SaleOrder(models.Model): helper_ids = self._get_helper_ids() if str(self.env.user.id) in helper_ids: - values['helper_by_id'] = self.env.user.id + vals['helper_by_id'] = self.env.user.id - return super(SaleOrder, self).write(values) + return super(SaleOrder, self).write(vals) def check_due(self): """To show the due amount and warning stage""" |
