From da5617f49ec011c80d4ce6b04ce025f18151e575 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Wed, 10 Dec 2025 14:03:53 +0700 Subject: validate permission internal transfer --- indoteknik_custom/models/stock_picking.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'indoteknik_custom/models/stock_picking.py') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 2f99a85a..28d082df 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -1453,6 +1453,24 @@ class StockPicking(models.Model): raise UserError( f"Tidak bisa validasi {picking.name} sebelum {prev_picking.name} divalidasi." ) + + def internal_transfer_val(self): + for rec in self: + # Gudang service + if rec.location_dest_id.id == 98 and self.env.user.id not in [21, 17]: + raise UserError(f"Transfer ke gudang {rec.location_dest_id.name} harus di approve Rafly H. atau Denise") + # Gudang selisih + if rec.location_dest_id.id == 47 and self.env.user.id not in [21, 17]: + raise UserError(f"Transfer ke gudang {rec.location_dest_id.name} harus di approve Rafly H. atau Denise") + + # Gudang Rusak + if rec.location_dest_id.id == 62 and self.env.user.id not in [21, 17]: + raise UserError(f"Transfer ke gudang {rec.location_dest_id.name} harus di approve Rafly H. atau Denise") + + # Gudang Peminjaman + if rec.location_dest_id.id == 48 and self.env.user.id not in [21, 17]: + raise UserError(f"Transfer ke gudang {rec.location_dest_id.name} harus di approve Rafly H. atau Denise") + def button_validate(self): self.check_invoice_date() _logger.info("Kode Picking: %s", self.picking_type_id.code) @@ -1463,6 +1481,8 @@ class StockPicking(models.Model): group_id = self.env.ref('indoteknik_custom.group_role_merchandiser').id users_in_group = self.env['res.users'].search([('groups_id', 'in', [group_id])]) active_model = self.env.context.get('active_model') + if self.picking_type_id.id in [26, 10, 20, 32, 53, 52]: + self.internal_transfer_val() if self.tukar_guling_po_id and self.tukar_guling_po_id.return_type == 'tukar_guling': self.validate_seq_vcm() if self.is_so_fiktif == True: -- cgit v1.2.3 From 7d7dafff9996f7ed7de731a6c1498a5ff72ebb89 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Fri, 12 Dec 2025 10:35:34 +0700 Subject: cr logistic delivery date and flag revisi SO tukar guling --- indoteknik_custom/models/stock_picking.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indoteknik_custom/models/stock_picking.py') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 28d082df..602b1145 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -202,6 +202,12 @@ class StockPicking(models.Model): so_num = fields.Char('SO Number', compute='_get_so_num') is_so_fiktif = fields.Boolean('SO Fiktif?', compute='_compute_is_so_fiktif', tracking=3) payment_term = fields.Char('Payment Term', compute='_get_partner_payment_term') + is_rev_tg = fields.Boolean('Revisi SO', compute='_compute_is_rev_tg', store=False) + + @api.depends('tukar_guling_id.rev_tukar_guling') + def _compute_is_rev_tg(self): + for record in self: + record.is_rev_tg = record.tukar_guling_id.rev_tukar_guling if record.tukar_guling_id else False @api.depends('sale_id.payment_term_id') def _get_partner_payment_term(self): -- cgit v1.2.3 From 080df35099b90ca3c42e07bb0c8b181f123c173e Mon Sep 17 00:00:00 2001 From: Mqdd Date: Fri, 12 Dec 2025 11:20:50 +0700 Subject: revisi sales ccm --- indoteknik_custom/models/stock_picking.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom/models/stock_picking.py') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 602b1145..003b1f47 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -202,7 +202,7 @@ class StockPicking(models.Model): so_num = fields.Char('SO Number', compute='_get_so_num') is_so_fiktif = fields.Boolean('SO Fiktif?', compute='_compute_is_so_fiktif', tracking=3) payment_term = fields.Char('Payment Term', compute='_get_partner_payment_term') - is_rev_tg = fields.Boolean('Revisi SO', compute='_compute_is_rev_tg', store=False) + is_rev_tg = fields.Boolean('Administrasi', compute='_compute_is_rev_tg', store=False) @api.depends('tukar_guling_id.rev_tukar_guling') def _compute_is_rev_tg(self): -- cgit v1.2.3 From 0e3fb3afe5d7d73b2f5b55e51297f122c3dd6a39 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Fri, 12 Dec 2025 15:39:41 +0700 Subject: fix ccm --- indoteknik_custom/models/stock_picking.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'indoteknik_custom/models/stock_picking.py') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 003b1f47..2465fa96 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -202,12 +202,7 @@ class StockPicking(models.Model): so_num = fields.Char('SO Number', compute='_get_so_num') is_so_fiktif = fields.Boolean('SO Fiktif?', compute='_compute_is_so_fiktif', tracking=3) payment_term = fields.Char('Payment Term', compute='_get_partner_payment_term') - is_rev_tg = fields.Boolean('Administrasi', compute='_compute_is_rev_tg', store=False) - - @api.depends('tukar_guling_id.rev_tukar_guling') - def _compute_is_rev_tg(self): - for record in self: - record.is_rev_tg = record.tukar_guling_id.rev_tukar_guling if record.tukar_guling_id else False + is_rev_tg = fields.Boolean('Administrasi') @api.depends('sale_id.payment_term_id') def _get_partner_payment_term(self): -- cgit v1.2.3