summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indoteknik_api/controllers/api_v1/stock_picking.py7
-rw-r--r--indoteknik_custom/models/stock_picking.py14
2 files changed, 17 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/stock_picking.py b/indoteknik_api/controllers/api_v1/stock_picking.py
index a4a9cf80..7f878ad2 100644
--- a/indoteknik_api/controllers/api_v1/stock_picking.py
+++ b/indoteknik_api/controllers/api_v1/stock_picking.py
@@ -136,16 +136,15 @@ class StockPicking(controller.Controller):
}
dispatch_emails = {
'rahmat.afiudin@gmail.com',
- 'it@fixcomart.co.id'
+ 'indraprtama60@gmail.com'
}
login = (request.env.user.login or '').lower()
is_dispatch_user = login in dispatch_emails
is_driver_user = (login in driver_emails) and not is_dispatch_user
- # ===== Validasi minimal =====
- if not sj_document or not paket_document:
- return self.response(code=400, description='dispatch_document wajib untuk role dispatch login= %s' % login)
+ # if not sj_document or not paket_document:
+ # return self.response(code=400, description='dispatch_document wajib untuk role dispatch login= %s' % login)
# if is_dispatch_user and not dispatch_document and not is_driver_user:
# return self.response(code=400, description='dispatch_document wajib untuk role dispatch login= %s' % login)
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py
index b27e6b5d..51f4cccd 100644
--- a/indoteknik_custom/models/stock_picking.py
+++ b/indoteknik_custom/models/stock_picking.py
@@ -97,6 +97,7 @@ class StockPicking(models.Model):
approval_status = fields.Selection([
('pengajuan1', 'Approval Accounting'),
+ ('pengajuan2', 'Approval Logistic'),
('approved', 'Approved'),
], string='Approval Status', readonly=True, copy=False, index=True, tracking=3,
help="Approval Status untuk Internal Use")
@@ -1082,6 +1083,10 @@ class StockPicking(models.Model):
def ask_approval(self):
if self.env.user.is_accounting:
raise UserError("Bisa langsung Validate")
+ if self.env.user.is_logistic_approver and self.location_id.id == 57 or self.location_id== 57:
+ raise UserError("Bisa langsung Validate")
+
+
# for calendar distribute only
# if self.is_internal_use:
@@ -1104,6 +1109,9 @@ class StockPicking(models.Model):
if line.qty_done <= 0:
raise UserError("Qty tidak boleh 0")
pick.approval_status = 'pengajuan1'
+ if pick.location_id.id == 57:
+ pick.approval_status = 'pengajuan2'
+ return
def ask_receipt_approval(self):
if self.env.user.is_logistic_approver:
@@ -1306,6 +1314,9 @@ class StockPicking(models.Model):
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_logistic_approver and self.location_id.id == 57:
+ raise UserError("Harus di Approve oleh Logistik")
+
if self.is_internal_use and not self.env.user.is_accounting:
raise UserError("Harus di Approve oleh Accounting")
@@ -1348,6 +1359,9 @@ class StockPicking(models.Model):
)
self.validation_minus_onhand_quantity()
+ loc = self.location_id
+ if loc.id == 57 and not self.env.user.is_logistic_approver and self.approval_status in ['pengajuan2']:
+ raise UserError ("Harus Ask Approval Logistik")
self.responsible = self.env.user.id
# self.send_koli_to_so()
if self.picking_type_code == 'outgoing' and 'BU/OUT/' in self.name: