From 8952e591e6673b5e198f94a8e20598765a5b616a Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Mon, 27 Oct 2025 10:53:00 +0700 Subject: validation product category null --- indoteknik_custom/models/purchase_order.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index e79417aa..5a28c485 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -1123,6 +1123,8 @@ class PurchaseOrder(models.Model): if not self.not_update_purchasepricelist: self.add_product_to_pricelist() for line in self.order_line: + if not line.product_id.public_categ_ids: + raise UserError("Product %s kategorinya kosong" % line.product_id.name) if not line.product_id.purchase_ok: raise UserError("Terdapat barang yang tidak bisa diproses") # Validasi pajak -- cgit v1.2.3 From a1eb9a300b03e2aa3a2925dc0c6340cfd97f5270 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Mon, 27 Oct 2025 13:09:56 +0700 Subject: push --- indoteknik_custom/models/purchase_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 5a28c485..534d8122 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -1043,7 +1043,7 @@ class PurchaseOrder(models.Model): # test = line.product_uom_qty # test2 = line.product_id.plafon_qty # test3 = test2 + line.product_uom_qty - if line.product_uom_qty > line.product_id.plafon_qty + line.product_uom_qty and not self.env.user.id == 21: + if line.product_uom_qty > line.product_id.plafon_qty + line.product_uom_qty and self.env.user.id not in [21, 7]: raise UserError('Product '+line.product_id.name+' melebihi plafon, harus Approval Rafly') def check_different_vendor_so_po(self): -- cgit v1.2.3 From 0bb7e8ff5eafa5dbc218d547999876bb11e05c69 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Mon, 3 Nov 2025 16:14:12 +0700 Subject: push --- indoteknik_custom/models/purchase_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 534d8122..c2b15078 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -1123,7 +1123,7 @@ class PurchaseOrder(models.Model): if not self.not_update_purchasepricelist: self.add_product_to_pricelist() for line in self.order_line: - if not line.product_id.public_categ_ids: + if line.product_id.type == 'product' and not line.product_id.categ_id: raise UserError("Product %s kategorinya kosong" % line.product_id.name) if not line.product_id.purchase_ok: raise UserError("Terdapat barang yang tidak bisa diproses") -- cgit v1.2.3 From 89fe1e885966d46b1e96829d3ecc1c009e0514b8 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Wed, 5 Nov 2025 18:15:14 +0700 Subject: disable show description for PO altama --- indoteknik_custom/models/purchase_order.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index c2b15078..b9211276 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -118,9 +118,18 @@ class PurchaseOrder(models.Model): show_description = fields.Boolean( string='Show Description', - default=True + compute='_compute_show_description' ) - + + @api.depends('show_description') + def _compute_show_description(self): + for order in self: + # Show desc false for altama only + if order.partner_id == 5571: + order.show_description = False + else: + order.show_description = True + @api.onchange('show_description') def onchange_show_description(self): if self.show_description == True: -- cgit v1.2.3 From 3ff3ddc67d4664871314462fb184a6fe369f3a63 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Wed, 5 Nov 2025 18:54:45 +0700 Subject: disable show description for PO altama --- indoteknik_custom/models/purchase_order.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index b9211276..8772dea9 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -118,17 +118,17 @@ class PurchaseOrder(models.Model): show_description = fields.Boolean( string='Show Description', - compute='_compute_show_description' + compute='_compute_show_description', + default=True ) - @api.depends('show_description') + @api.depends('partner_id') def _compute_show_description(self): for order in self: - # Show desc false for altama only - if order.partner_id == 5571: + if order.partner_id.id == 5571: order.show_description = False else: - order.show_description = True + order.show_description = order.show_description @api.onchange('show_description') def onchange_show_description(self): -- cgit v1.2.3 From 449a3f3a3acaeb0b950f57daee1067d70d483d90 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Thu, 6 Nov 2025 15:04:16 +0700 Subject: show desc false altama --- indoteknik_custom/models/purchase_order.py | 8 -------- 1 file changed, 8 deletions(-) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 8772dea9..4475e777 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -118,17 +118,9 @@ class PurchaseOrder(models.Model): show_description = fields.Boolean( string='Show Description', - compute='_compute_show_description', default=True ) - @api.depends('partner_id') - def _compute_show_description(self): - for order in self: - if order.partner_id.id == 5571: - order.show_description = False - else: - order.show_description = order.show_description @api.onchange('show_description') def onchange_show_description(self): -- cgit v1.2.3 From 0e026757427842dc865a5cbf17f2e3d85a30875c Mon Sep 17 00:00:00 2001 From: Miqdad Date: Mon, 17 Nov 2025 17:10:38 +0700 Subject: prevent schedule action --- indoteknik_custom/models/purchase_order.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indoteknik_custom/models/purchase_order.py') diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 4475e777..3312e7fd 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -7,6 +7,8 @@ from pytz import timezone, utc import io import base64 from odoo.tools import lazy_property +import socket + try: from odoo.tools.misc import xlsxwriter except ImportError: @@ -121,6 +123,11 @@ class PurchaseOrder(models.Model): default=True ) + @staticmethod + def is_local_env(): + hostname = socket.gethostname().lower() + keywords = ['andri', 'miqdad', 'fin', 'stephan', 'hafid', 'nathan'] + return any(keyword in hostname for keyword in keywords) @api.onchange('show_description') def onchange_show_description(self): @@ -1140,6 +1147,9 @@ class PurchaseOrder(models.Model): break if send_email: + if self.is_local_env(): + _logger.warning("📪 Local environment detected — skip sending email reminders.") + return self._send_mail() if self.revisi_po: -- cgit v1.2.3