From e9e3cbae28d6c5940a7b70c1aa6d0e99933367a5 Mon Sep 17 00:00:00 2001 From: Mqdd Date: Mon, 8 Dec 2025 16:15:55 +0700 Subject: skip check product internal transfer --- fixco_custom/models/stock_picking.py | 37 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 19 deletions(-) (limited to 'fixco_custom') 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, } - -- cgit v1.2.3