From f80e95677fc8144e09830f619a08814928cf3fad Mon Sep 17 00:00:00 2001 From: Mqdd Date: Sat, 10 Jan 2026 11:55:51 +0700 Subject: matiin validasi approval pimpinan PO --- indoteknik_custom/models/purchase_order.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index a114743f..7557045f 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -1079,18 +1079,18 @@ class PurchaseOrder(models.Model): ) % order.name) def button_confirm(self): - if self.env.user.id != 7 and not self.env.user.is_leader: # Pimpinan - if '/PJ/' in self.name: - price_change_detected = any(line.price_unit_before for line in self.order_line) - if price_change_detected: - if self.total_percent_margin <= 15.0: - raise UserError("Approval Pimpinan diperlukan jika terdapat perubahan Unit Price pada PO Line dan Memiliki Margin <= 15%") - else: - low_margin_match_so = self.order_sales_match_line.filtered( - lambda match: match.so_header_margin <= 15.0 - ) - if low_margin_match_so: - raise UserError("Approval Pimpinan diperlukan jika pada PO Line yang Matches SO item memiliki header margin SO <= 15%") + # if self.env.user.id != 7 and not self.env.user.is_leader: # Pimpinan + # if '/PJ/' in self.name: + # price_change_detected = any(line.price_unit_before for line in self.order_line) + # if price_change_detected: + # if self.total_percent_margin <= 15.0: + # raise UserError("Approval Pimpinan diperlukan jika terdapat perubahan Unit Price pada PO Line dan Memiliki Margin <= 15%") + # else: + # low_margin_match_so = self.order_sales_match_line.filtered( + # lambda match: match.so_header_margin <= 15.0 + # ) + # if low_margin_match_so: + # raise UserError("Approval Pimpinan diperlukan jika pada PO Line yang Matches SO item memiliki header margin SO <= 15%") # else: # is_po_manual = '/A/' not in self.name and '/MO/' not in self.name # if is_po_manual: -- cgit v1.2.3 From b352a2c5f5899f7e8e46fbf728fb387efdda0fb7 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Sat, 10 Jan 2026 12:01:05 +0700 Subject: balikin approval pimpinan PO --- indoteknik_custom/models/purchase_order.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 7557045f..a114743f 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -1079,18 +1079,18 @@ class PurchaseOrder(models.Model): ) % order.name) def button_confirm(self): - # if self.env.user.id != 7 and not self.env.user.is_leader: # Pimpinan - # if '/PJ/' in self.name: - # price_change_detected = any(line.price_unit_before for line in self.order_line) - # if price_change_detected: - # if self.total_percent_margin <= 15.0: - # raise UserError("Approval Pimpinan diperlukan jika terdapat perubahan Unit Price pada PO Line dan Memiliki Margin <= 15%") - # else: - # low_margin_match_so = self.order_sales_match_line.filtered( - # lambda match: match.so_header_margin <= 15.0 - # ) - # if low_margin_match_so: - # raise UserError("Approval Pimpinan diperlukan jika pada PO Line yang Matches SO item memiliki header margin SO <= 15%") + if self.env.user.id != 7 and not self.env.user.is_leader: # Pimpinan + if '/PJ/' in self.name: + price_change_detected = any(line.price_unit_before for line in self.order_line) + if price_change_detected: + if self.total_percent_margin <= 15.0: + raise UserError("Approval Pimpinan diperlukan jika terdapat perubahan Unit Price pada PO Line dan Memiliki Margin <= 15%") + else: + low_margin_match_so = self.order_sales_match_line.filtered( + lambda match: match.so_header_margin <= 15.0 + ) + if low_margin_match_so: + raise UserError("Approval Pimpinan diperlukan jika pada PO Line yang Matches SO item memiliki header margin SO <= 15%") # else: # is_po_manual = '/A/' not in self.name and '/MO/' not in self.name # if is_po_manual: -- cgit v1.2.3 From ba1b0ca10182a734dfa99a52270c95c73e4b8522 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Tue, 13 Jan 2026 10:01:20 +0700 Subject: add category description for website --- indoteknik_api/controllers/api_v1/category.py | 15 ++++++++++++++- indoteknik_custom/models/product_public_category.py | 1 + indoteknik_custom/views/product_public_category.xml | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/indoteknik_api/controllers/api_v1/category.py b/indoteknik_api/controllers/api_v1/category.py index 7d66ad01..4514c2a0 100644 --- a/indoteknik_api/controllers/api_v1/category.py +++ b/indoteknik_api/controllers/api_v1/category.py @@ -250,4 +250,17 @@ class Category(controller.Controller): category = category.parent_frontend_id categories.reverse() - return self.response(categories, headers=[('Cache-Control', 'max-age=3600, public')]) \ No newline at end of file + return self.response(categories, headers=[('Cache-Control', 'max-age=3600, public')]) + + @http.route(prefix + 'category//short-desc', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_category_short_desc(self, id, **kw): + category = request.env['product.public.category'].browse(id) + + if not category.exists(): + return self.response(code=400, description='Category not found') + + return self.response({ + "id": category.id, + "short_desc": category.short_desc or "" + }, headers=[('Cache-Control', 'max-age=600, public')]) diff --git a/indoteknik_custom/models/product_public_category.py b/indoteknik_custom/models/product_public_category.py index 1039ec52..dadcb181 100755 --- a/indoteknik_custom/models/product_public_category.py +++ b/indoteknik_custom/models/product_public_category.py @@ -15,6 +15,7 @@ class ProductPublicCategory(models.Model): child_frontend_id = fields.One2many('product.public.category', 'parent_frontend_id', string='Children Frontend Categories') child_frontend_id2 = fields.Many2many('product.public.category', relation='website_categories_child_frontend_rel', column1='website_categories_homepage_id', column2='product_public_category_id', string='Category Level 3') sequence_frontend = fields.Integer(help="Gives the sequence order when displaying a list of product categories.", index=True) + short_desc = fields.Char(string='Short Description') # @api.model # def _onchange_child_frontend_id2(self, parent): diff --git a/indoteknik_custom/views/product_public_category.xml b/indoteknik_custom/views/product_public_category.xml index a45e0a2e..c2ee154d 100755 --- a/indoteknik_custom/views/product_public_category.xml +++ b/indoteknik_custom/views/product_public_category.xml @@ -22,6 +22,7 @@ + -- cgit v1.2.3 From b99d9b8b770f6ae24e9de87e50b66868052d0de5 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Tue, 13 Jan 2026 15:56:45 +0700 Subject: filter brand --- indoteknik_custom/models/commision.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 441dd54f..983c07fe 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -489,7 +489,10 @@ class CustomerCommision(models.Model): raise UserError('Line sudah ada, tidak bisa di generate ulang') if self.commision_type == 'fee': - self._generate_customer_commision_fee() + if self.brand_ids: + self._generate_customer_commision_rebate() + else: + self._generate_customer_commision_fee() else: self._generate_customer_commision_rebate() -- cgit v1.2.3