From 9d192973e402a12616e9d52db50db5f32f10e42e Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 17 Jun 2025 13:19:59 +0700 Subject: push --- fixco_custom/models/detail_order.py | 35 +++++++++++++++++++---------------- fixco_custom/models/stock_picking.py | 11 +++++++++++ fixco_custom/views/detail_order.xml | 1 + fixco_custom/views/webhook_ginee.xml | 6 ++++++ 4 files changed, 37 insertions(+), 16 deletions(-) (limited to 'fixco_custom') diff --git a/fixco_custom/models/detail_order.py b/fixco_custom/models/detail_order.py index 2c82db6..acac8e6 100755 --- a/fixco_custom/models/detail_order.py +++ b/fixco_custom/models/detail_order.py @@ -24,6 +24,7 @@ class DetailOrder(models.Model): ('from_webhook', 'From Webhook'), ('detail_order', 'Detail Order'), ('so_confirm', 'SO Confirm'), + ('so_draft', 'SO Draft'), ('done', 'Done'), ('failed', 'Failed'), ('already_so', 'SO Already Created'), @@ -228,15 +229,16 @@ class DetailOrder(models.Model): sale_order.note_by_buyer = json_data.get('data', [{}])[0].get('extraInfo', []).get('noteByBuyer', []) if not product_not_found: sale_order.action_confirm() - - self.picking_id = sale_order.picking_ids[0].id - self.picking_id.order_reference = order_id - self.picking_id.invoice_mp = sale_order.invoice_mp - self.picking_id.carrier = sale_order.carrier - self.picking_id.address = json_data.get('data', [{}])[0].get('shippingAddressInfo', []).get('fullAddress', []) - self.picking_id.note_by_buyer = json_data.get('data', [{}])[0].get('extraInfo', []).get('noteByBuyer', []) + # self.picking_id = sale_order.picking_ids[0].id + # self.picking_id.order_reference = order_id + # self.picking_id.invoice_mp = sale_order.invoice_mp + # self.picking_id.carrier = sale_order.carrier + # self.picking_id.address = json_data.get('data', [{}])[0].get('shippingAddressInfo', []).get('fullAddress', []) + # self.picking_id.note_by_buyer = json_data.get('data', [{}])[0].get('extraInfo', []).get('noteByBuyer', []) - self.execute_status = 'so_confirm' + self.execute_status = 'so_confirm' + else: + self.execute_status = 'so_draft' else: # For other statuses, create new order only if it doesn't exist data['order_line'] = order_lines @@ -248,15 +250,16 @@ class DetailOrder(models.Model): sale_order.note_by_buyer = json_data.get('data', [{}])[0].get('extraInfo', []).get('noteByBuyer', []) if not product_not_found: sale_order.action_confirm() + # self.picking_id = sale_order.picking_ids[0].id + # self.picking_id.order_reference = order_id + # self.picking_id.invoice_mp = sale_order.invoice_mp + # self.picking_id.carrier = sale_order.carrier + # self.picking_id.address = json_data.get('data', [{}])[0].get('shippingAddressInfo', []).get('fullAddress', []) + # self.picking_id.note_by_buyer = json_data.get('data', [{}])[0].get('extraInfo', []).get('noteByBuyer', []) - self.picking_id = sale_order.picking_ids[0].id - self.picking_id.order_reference = order_id - self.picking_id.invoice_mp = sale_order.invoice_mp - self.picking_id.carrier = sale_order.carrier - self.picking_id.address = json_data.get('data', [{}])[0].get('shippingAddressInfo', []).get('fullAddress', []) - self.picking_id.note_by_buyer = json_data.get('data', [{}])[0].get('extraInfo', []).get('noteByBuyer', []) - - self.execute_status = 'so_confirm' + self.execute_status = 'so_confirm' + else: + self.execute_status = 'so_draft' except Exception as e: self.write({ diff --git a/fixco_custom/models/stock_picking.py b/fixco_custom/models/stock_picking.py index 78d4c16..07247f4 100755 --- a/fixco_custom/models/stock_picking.py +++ b/fixco_custom/models/stock_picking.py @@ -39,6 +39,17 @@ class StockPicking(models.Model): carrier = fields.Char(string='Shipping Method') shipment_group_id = fields.Many2one('shipment.group', string='Shipment Group', copy=False) + @api.constrains('sale_id') + def _check_sale_order(self): + for picking in self: + if picking.sale_id: + picking.order_reference = picking.sale_id.name + self.picking_id.order_reference = picking.sale_id.order_reference + self.picking_id.invoice_mp = picking.sale_id.invoice_mp + self.picking_id.carrier = picking.sale_id.carrier + self.picking_id.address = picking.sale_id.address + self.picking_id.note_by_buyer = picking.sale_id.note_by_buyer + def open_form_shipment_group(self): return { 'name': _('Create Shipment Group'), diff --git a/fixco_custom/views/detail_order.xml b/fixco_custom/views/detail_order.xml index 2944126..5ab2116 100755 --- a/fixco_custom/views/detail_order.xml +++ b/fixco_custom/views/detail_order.xml @@ -12,6 +12,7 @@ + diff --git a/fixco_custom/views/webhook_ginee.xml b/fixco_custom/views/webhook_ginee.xml index 22f3a05..acec9b7 100755 --- a/fixco_custom/views/webhook_ginee.xml +++ b/fixco_custom/views/webhook_ginee.xml @@ -16,6 +16,12 @@ webhook.ginee
+
+
-- cgit v1.2.3