summaryrefslogtreecommitdiff
path: root/fixco_custom/models/stock_picking.py
diff options
context:
space:
mode:
Diffstat (limited to 'fixco_custom/models/stock_picking.py')
-rwxr-xr-xfixco_custom/models/stock_picking.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/fixco_custom/models/stock_picking.py b/fixco_custom/models/stock_picking.py
index 916ac9f..e1ebe68 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')
pdf_label_url = fields.Char('PDF Label URL')
invoice_mp = fields.Char(string='Invoice Marketplace')
- address = fields.Char('Address')
+ address = fields.Char('Address')
note_by_buyer = fields.Char('Note By Buyer')
carrier = fields.Char(string='Shipping Method')
shipment_group_id = fields.Many2one('shipment.group', string='Shipment Group', copy=False)
@@ -51,7 +51,7 @@ class StockPicking(models.Model):
)
def button_validate(self):
- if len(self.check_product_lines) == 0:
+ if len(self.check_product_lines) == 0 and not self.name.startswith('BU/INT'):
raise UserError(_(
"Belum ada check product, gabisa validate"
))
@@ -230,39 +230,39 @@ class StockPicking(models.Model):
'picking_ids': self.ids,
}
}
-
+
def label_ginee(self):
try:
order_id = self.order_reference
-
+
authorization = self.sign_request()
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 ''
@@ -272,10 +272,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 sign_request(self):
signData = '$'.join(['POST', Request_URI]) + '$'
authorization = ACCESS_KEY + ':' + base64.b64encode(
@@ -286,11 +286,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):