summaryrefslogtreecommitdiff
path: root/fixco_custom/models/stock_picking.py
diff options
context:
space:
mode:
authorMqdd <ahmadmiqdad27@gmail.com>2025-12-08 16:15:55 +0700
committerMqdd <ahmadmiqdad27@gmail.com>2025-12-08 16:15:55 +0700
commite9e3cbae28d6c5940a7b70c1aa6d0e99933367a5 (patch)
tree0af20ddebd99f93e3a233aeae05408d8a2b4c01b /fixco_custom/models/stock_picking.py
parent2a77c2a565bc6f8139af830853e1c06625593f44 (diff)
<Miqdad> skip check product internal transfer
Diffstat (limited to 'fixco_custom/models/stock_picking.py')
-rwxr-xr-xfixco_custom/models/stock_picking.py37
1 files changed, 18 insertions, 19 deletions
diff --git a/fixco_custom/models/stock_picking.py b/fixco_custom/models/stock_picking.py
index 7c9f0d9..e4ed1b5 100755
--- a/fixco_custom/models/stock_picking.py
+++ b/fixco_custom/models/stock_picking.py
@@ -34,7 +34,7 @@ class StockPicking(models.Model):
invoice_number = fields.Char('Invoice Number', tracking=True)
pdf_label_url = fields.Char('PDF Label URL', tracking=True)
invoice_mp = fields.Char(string='Invoice Marketplace', tracking=True)
- address = fields.Char('Address', tracking=True)
+ address = fields.Char('Address', tracking=True)
note_by_buyer = fields.Char('Note By Buyer', tracking=True)
carrier = fields.Char(string='Shipping Method', tracking=True)
shipment_group_id = fields.Many2one('shipment.group', string='Shipment Group', copy=False)
@@ -49,7 +49,7 @@ class StockPicking(models.Model):
compute="_compute_is_return",
store=True, tracking=True
)
- channel = fields.Char('Channel')
+ channel = fields.Char('Channel')
ginee_delivery_type = fields.Char("Delivery Type", tracking=True)
ginee_tracking_no = fields.Char("Tracking Number", tracking=True)
ginee_invoice_no = fields.Char("Invoice Number", tracking=True)
@@ -68,7 +68,7 @@ class StockPicking(models.Model):
def button_validate(self):
origin = self.origin or ''
- if any(prefix in origin for prefix in ['PO/', 'SO/']) and not self.check_product_lines:
+ if any(prefix in origin for prefix in ['PO/', 'SO/']) and not self.check_product_lines and not self.name.startswith('BU/INT'):
raise UserError(_("Belum ada check product, gabisa validate"))
@@ -224,7 +224,7 @@ class StockPicking(models.Model):
self.address = picking.sale_id.address
self.note_by_buyer = picking.sale_id.note_by_buyer
self.schema_multi_single_sku()
-
+
def schema_multi_single_sku(self):
for picking in self:
if len(picking.move_ids_without_package) > 1:
@@ -260,39 +260,39 @@ class StockPicking(models.Model):
'picking_ids': self.ids,
}
}
-
+
def label_ginee(self):
try:
order_id = self.order_reference
-
+
authorization = self.sign_request(0)
headers = {
'Content-Type': 'application/json',
'X-Advai-Country': 'ID',
'Authorization': authorization
}
-
+
payload = {
"orderId": order_id,
"documentType": "LABEL"
}
url = "https://api.ginee.com/openapi/order/v1/print"
-
+
response = requests.post(
url,
headers=headers,
data=json.dumps(payload)
)
-
+
if response.status_code == 200:
data = response.json()
if data.get('code') == 'SUCCESS' and data.get('message') == 'OK':
logistic_info_list = data.get('data', {}).get('logisticsInfos')
-
+
# Check if logistic_info exists and has at least one item
if not logistic_info_list:
raise UserError(_("No logistic information found in response"))
-
+
logistic_info = logistic_info_list[0]
self.pdf_label_url = data.get('data', {}).get('pdfUrl') or ''
self.tracking_number = logistic_info.get('logisticsTrackingNumber') or ''
@@ -302,10 +302,10 @@ class StockPicking(models.Model):
raise UserError(_("API Error: %s - %s") % (data.get('code', 'UNKNOWN'), data.get('message', 'No error message')))
else:
raise UserError(_("API request failed with status code: %s") % response.status_code)
-
+
except Exception as e:
raise UserError(_("Error: %s") % str(e))
-
+
def get_shipping_parameter(self):
try:
order_id = self.order_reference
@@ -316,7 +316,7 @@ class StockPicking(models.Model):
'X-Advai-Country': 'ID',
'Authorization': authorization
}
-
+
payload = {"orderId": order_id}
url = "https://api.ginee.com/openapi/logistics/v1/get-shipping-parameter"
@@ -379,7 +379,7 @@ class StockPicking(models.Model):
except Exception as e:
raise UserError(_("Error: %s") % str(e))
-
+
def ship_order(self):
try:
order_id = self.order_reference
@@ -563,7 +563,7 @@ class StockPicking(models.Model):
except Exception as e:
raise UserError(_("Error: %s") % str(e))
-
+
def sign_request(self, array_num):
signData = '$'.join(['POST', Request_URI[array_num]]) + '$'
authorization = ACCESS_KEY + ':' + base64.b64encode(
@@ -583,11 +583,11 @@ class StockPicking(models.Model):
# def sync_qty_reserved_qty_done(self):
-
+
# for picking in self:
# for line in picking.move_line_ids_without_package:
# line.qty_done = line.product_uom_qty
-
+
# picking.button_validate()
class CheckProduct(models.Model):
@@ -810,4 +810,3 @@ class PickingReportCustom(models.AbstractModel):
'docs': pickings,
'was_printed_map': was_printed_map,
}
-