summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/stock_picking.py
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2022-11-15 17:36:32 +0700
committerIT Fixcomart <it@fixcomart.co.id>2022-11-15 17:36:32 +0700
commit5102c2a866daec248e3903fbfb7b8bd87bb0ef52 (patch)
tree71c2d34088308a67d43b9780b9d3a94ee870ffab /indoteknik_custom/models/stock_picking.py
parentf6671dd4595af3c1075b27925f10c457854cecf8 (diff)
parent9d0dbdfe0e08ecab850860fa2b23ffb64fa6dae1 (diff)
Merge branch 'master' of bitbucket.org:altafixco/indoteknik-addons
Diffstat (limited to 'indoteknik_custom/models/stock_picking.py')
-rw-r--r--indoteknik_custom/models/stock_picking.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py
index d016e241..2bdfbd9e 100644
--- a/indoteknik_custom/models/stock_picking.py
+++ b/indoteknik_custom/models/stock_picking.py
@@ -50,7 +50,12 @@ class StockPicking(models.Model):
approval_status = fields.Selection([
('pengajuan1', 'Approval Accounting'),
('approved', 'Approved'),
- ], string='Approval Status', readonly=True, copy=False, index=True, tracking=3)
+ ], string='Approval Status', readonly=True, copy=False, index=True, tracking=3, help="Approval Status untuk Internal Use")
+
+ approval_return_status = fields.Selection([
+ ('pengajuan1', 'Approval Accounting'),
+ ('approved', 'Approved'),
+ ], string='Approval Return Status', readonly=True, copy=False, index=True, tracking=3, help="Approval Status untuk Return")
def action_assign(self):
res = super(StockPicking, self).action_assign()
@@ -68,6 +73,13 @@ class StockPicking(models.Model):
raise UserError("Qty tidak boleh 0")
pick.approval_status = 'pengajuan1'
+ def ask_return_approval(self):
+ for pick in self:
+ if self.env.user.is_accounting:
+ pick.approval_return_status = 'approved'
+ else:
+ pick.approval_return_status = 'pengajuan1'
+
def calculate_line_no(self):
line_no = 0
for picking in self:
@@ -99,11 +111,18 @@ class StockPicking(models.Model):
def button_validate(self):
if not self.picking_code:
self.picking_code = self.env['ir.sequence'].next_by_code('stock.picking.code') or '0'
-
+
if self.picking_type_id.code == 'incoming' and self.group_id.id == False and self.is_internal_use == False:
raise UserError(_('Tidak bisa Validate jika tidak dari Document SO / PO'))
+
if self.is_internal_use and not self.env.user.is_accounting:
raise UserError("Harus di Approve oleh Accounting")
+
+ for line in self.move_line_ids_without_package:
+ if line.move_id.sale_line_id and self.picking_type_id.code == 'outgoing':
+ 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")
+
res = super(StockPicking, self).button_validate()
return res