diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-07-31 10:38:10 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-07-31 10:38:10 +0700 |
| commit | 01b2fc531d349418ea4b53170688b909c7ea6e8c (patch) | |
| tree | f050c3090ec63a2dcc3950b1f5f47c9d3db599e0 | |
| parent | 102d8c691a231aa7a15a522deb44b4eb2b0f4e31 (diff) | |
add margin validation
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 15 | ||||
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 4 | ||||
| -rw-r--r-- | 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 @@ <field name="subject">Faktur Pajak Invoice ${object.name}</field> <field name="email_from">pajak@indoteknik.co.id</field> <field name="reply_to">pajak@indoteknik.co.id</field> - <field name="email_cc">sales@indoteknik.com</field> + <field name="email_cc">sales@indoteknik.com,pajak@indoteknik.co.id</field> <field name="email_to">${object.partner_id.email|safe}</field> <field name="body_html" type="html"> <p>Dengan Hormat Bpk/Ibu ${object.partner_id.name},</p> |
