From 01b2fc531d349418ea4b53170688b909c7ea6e8c Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Wed, 31 Jul 2024 10:38:10 +0700 Subject: add margin validation --- indoteknik_api/controllers/api_v1/sale_order.py | 15 +++++++++++++-- indoteknik_custom/models/sale_order.py | 4 ++-- indoteknik_custom/views/mail_template_efaktur.xml | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index b35da7a2..ee173d29 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -163,7 +163,11 @@ class SaleOrder(controller.Controller): data = {} sale_order = request.env['sale.order'].search(domain) if sale_order: - sale_order.approval_status = 'pengajuan1' + if sale_order._requires_approval_margin_leader(): + sale_order.approval_status = 'pengajuan2' + elif sale_order._requires_approval_margin_manager(): + sale_order.approval_status = 'pengajuan1' + data = request.env['sale.order'].api_v1_single_response( sale_order, context='with_detail') @@ -198,7 +202,10 @@ class SaleOrder(controller.Controller): sale_order.web_approval = 'cust_%s' % partner.web_role if sale_order.web_approval in ['cust_procurement', 'cust_director']: - sale_order.approval_status = 'pengajuan1' + if sale_order._requires_approval_margin_leader(): + sale_order.approval_status = 'pengajuan2' + elif sale_order._requires_approval_margin_manager(): + sale_order.approval_status = 'pengajuan1' return self.response('success') @@ -448,6 +455,10 @@ class SaleOrder(controller.Controller): sale_order.apply_voucher() cart_ids = [x['cart_id'] for x in carts] + if sale_order._requires_approval_margin_leader(): #jika ada error tambahkan kondisi if params['value']['type'] == 'sale_order': + sale_order.approval_status = 'pengajuan2' + elif sale_order._requires_approval_margin_manager(): + sale_order.approval_status = 'pengajuan1' # user_cart.browse(cart_ids).unlink() return self.response({ 'id': sale_order.id, diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 3f23f65d..376ae20a 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -661,10 +661,10 @@ class SaleOrder(models.Model): return False def _requires_approval_margin_leader(self): - return self.total_percent_margin <= 15 and not self.env.user.is_leader + return self.total_percent_margin <= 13 and not self.env.user.is_leader def _requires_approval_margin_manager(self): - return self.total_percent_margin <= 22 and not self.env.user.is_leader and not self.env.user.is_sales_manager + return self.total_percent_margin <= 20 and not self.env.user.is_leader and not self.env.user.is_sales_manager def _create_approval_notification(self, approval_role): title = 'Warning' diff --git a/indoteknik_custom/views/mail_template_efaktur.xml b/indoteknik_custom/views/mail_template_efaktur.xml index d0e7b39a..b0637691 100644 --- a/indoteknik_custom/views/mail_template_efaktur.xml +++ b/indoteknik_custom/views/mail_template_efaktur.xml @@ -7,7 +7,7 @@ Faktur Pajak Invoice ${object.name} pajak@indoteknik.co.id pajak@indoteknik.co.id - sales@indoteknik.com + sales@indoteknik.com,pajak@indoteknik.co.id ${object.partner_id.email|safe}

Dengan Hormat Bpk/Ibu ${object.partner_id.name},

-- cgit v1.2.3