summaryrefslogtreecommitdiff
path: root/fixco_custom/models
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-06-17 13:19:59 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-06-17 13:19:59 +0700
commit9d192973e402a12616e9d52db50db5f32f10e42e (patch)
tree045d1935d1710c6e62602df738ad3983f1dab3a7 /fixco_custom/models
parent249922cdf5604b2eeb3d75820d388cd17b91116b (diff)
push
Diffstat (limited to 'fixco_custom/models')
-rwxr-xr-xfixco_custom/models/detail_order.py35
-rwxr-xr-xfixco_custom/models/stock_picking.py11
2 files changed, 30 insertions, 16 deletions
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'),