From 69937ed9252f7a6c415c6bd70011a981e206d429 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Fri, 18 Nov 2022 14:28:45 +0700 Subject: add missing update approval status in internal use --- indoteknik_custom/models/stock_picking.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index dc30570e..84a374c5 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -65,6 +65,20 @@ class StockPicking(models.Model): def ask_approval(self): if self.env.user.is_accounting: raise UserError("Bisa langsung Validate") + + if self.is_internal_use: + stock_move_lines = self.env['stock.move.line'].search([ + ('picking_id', '!=', False), + ('product_id', '=', 236805), + ('picking_id.partner_id', '=', self.partner_id.id), + ('qty_done', '>', 0), + ]) + list_state = ['confirmed', 'done'] + for stock_move_line in stock_move_lines: + if stock_move_line.picking_id.state not in list_state: + continue + raise UserError('Sudah pernah dikirim kalender') + for pick in self: if not pick.is_internal_use: raise UserError("Selain Internal Use bisa langsung Validate") @@ -136,6 +150,8 @@ class StockPicking(models.Model): if line.move_id.sale_line_id.qty_delivered + line.qty_done > line.move_id.sale_line_id.product_uom_qty: raise UserError("Qty Delivered akan lebih dari Qty SO") + self.approval_status = 'approved' + res = super(StockPicking, self).button_validate() return res -- cgit v1.2.3