diff options
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 16 |
1 files changed, 16 insertions, 0 deletions
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 |
