diff options
| -rw-r--r-- | indoteknik_custom/models/approval_payment_term.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/views/approval_payment_term.xml | 8 |
2 files changed, 17 insertions, 2 deletions
diff --git a/indoteknik_custom/models/approval_payment_term.py b/indoteknik_custom/models/approval_payment_term.py index 4cd9ea36..291e8e37 100644 --- a/indoteknik_custom/models/approval_payment_term.py +++ b/indoteknik_custom/models/approval_payment_term.py @@ -33,6 +33,13 @@ class ApprovalPaymentTerm(models.Model): approve_date = fields.Datetime('Approve Date') state = fields.Selection([('waiting_approval', 'Waiting Approval'), ('approved', 'Approved'), ('rejected', 'Rejected')], default='waiting_approval', tracking=True) reason_reject = fields.Selection([('reason1', 'Reason 1'), ('reason2', 'Reason 2'), ('reason3', 'Reason 3')], string='Reason Reject', tracking=True) + sale_order_id = fields.Many2one('sale.order', string='Sale Order', copy=False, tracking=True) + total = fields.Float(string='Total', compute='_compute_total') + + @api.depends('sale_order_id') + def _compute_total(self): + for rec in self: + rec.total = rec.sale_order_id.amount_total @api.constrains('partner_id') @@ -48,11 +55,11 @@ class ApprovalPaymentTerm(models.Model): user = self.env.user is_it = user.has_group('indoteknik_custom.group_role_it') - if (not user.id ==7 and user.id == 19) or is_it: + if (not user.id ==7 and user.id == 19 and not self.approve_sales_manager) or is_it: self.approve_sales_manager = True return - if (not user.id ==7 and user.id == 688) or is_it: + if (not user.id ==7 and user.id == 688 and not self.approve_finance) or is_it: self.approve_finance = True return diff --git a/indoteknik_custom/views/approval_payment_term.xml b/indoteknik_custom/views/approval_payment_term.xml index 44bd99f8..008582f5 100644 --- a/indoteknik_custom/views/approval_payment_term.xml +++ b/indoteknik_custom/views/approval_payment_term.xml @@ -13,7 +13,13 @@ <field name="approve_sales_manager" optional="hide"/> <field name="approve_finance" optional="hide"/> <field name="approve_leader" optional="hide"/> + <field name="create_date" optional="hide"/> <field name="create_uid" optional="hide"/> + <field name="sale_order_id" optional="hide"/> + <field name="total" optional="hide"/> + <field name="state" widget="badge" decoration-danger="state == 'rejected'" + decoration-success="state == 'approved'" + decoration-info="state == 'waiting_approval'"/> </tree> </field> </record> @@ -56,6 +62,8 @@ <field name="approve_sales_manager" readonly="1"/> <field name="approve_finance" readonly="1"/> <field name="approve_leader" readonly="1"/> + <field name="sale_order_id"/> + <field name="total"/> </group> </group> </sheet> |
