diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-09-22 08:42:13 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-09-22 08:42:13 +0700 |
| commit | b5c15f8ee9171ade6f3d11415a383b0a9f936110 (patch) | |
| tree | cecc6d0b0f593aef9f9f9eb26970ce71e2443fc0 | |
| parent | fad3f426b7663aab62d3a4f9f803c732af60f4b8 (diff) | |
| parent | 791b92946a075a3807c2cc4439c7283a704e9061 (diff) | |
Merge branch 'master' into po-approval
| -rw-r--r-- | indoteknik_custom/models/delivery_order.py | 20 | ||||
| -rw-r--r-- | indoteknik_custom/views/delivery_order.xml | 1 | ||||
| -rw-r--r-- | indoteknik_custom/views/ir_sequence.xml | 2 |
3 files changed, 21 insertions, 2 deletions
diff --git a/indoteknik_custom/models/delivery_order.py b/indoteknik_custom/models/delivery_order.py index 06cdd878..aa0d6e6e 100644 --- a/indoteknik_custom/models/delivery_order.py +++ b/indoteknik_custom/models/delivery_order.py @@ -27,15 +27,25 @@ class DeliveryOrder(models.TransientModel): picking = self.env['stock.picking'].search([('picking_code', '=', delivery_order_line[2]['name'])], limit=1) if picking: + line_tracking_no = delivery_order_line[2]['tracking_no'] + if not picking.driver_id: picking.driver_id = self.env.uid - picking.delivery_tracking_no = delivery_order_line[2]['tracking_no'] + picking.delivery_tracking_no = line_tracking_no delivery_type = self.env['delivery.order.line'].get_delivery_type(picking.driver_departure_date, picking.driver_arrival_date) if delivery_type == 'departure': picking.driver_departure_date = current_time elif delivery_type == 'arrival': picking.driver_arrival_date = current_time + + sale_order = False + if picking.origin: + sale_order = self.env['sale.order'].search([('name', '=', picking.origin)], limit=1) + if sale_order.carrier_id: + if not line_tracking_no and not (sale_order.carrier_id.id == 1 or sale_order.carrier_id.name == 'INDOTEKNIK DELIVERY'): + raise UserError('Pengiriman selain Indoteknik Delivery, nomor tracking harus diisi') + return super(DeliveryOrder, self).create(vals) def save_delivery(self): @@ -58,6 +68,7 @@ class DeliveryOrderLine(models.TransientModel): driver_id = fields.Many2one(comodel_name='res.users', string='Driver') departure_date = fields.Char(string='Departure Date') arrival_date = fields.Char(string='Arrival Date') + carrier_id = fields.Many2one('delivery.carrier', string='Shipping Method') tracking_no = fields.Char(string='Tracking No') delivery_order_id = fields.Many2one('delivery.order', string='Delivery Order') @@ -75,6 +86,13 @@ class DeliveryOrderLine(models.TransientModel): else: self.driver_id = self.env.uid + sale_order = False + if picking.origin: + sale_order = self.env['sale.order'].search([('name', '=', picking.origin)], limit=1) + + if sale_order.carrier_id: + self.carrier_id = sale_order.carrier_id + self.tracking_no = picking.delivery_tracking_no delivery_type = self.get_delivery_type(picking.driver_departure_date, picking.driver_arrival_date) diff --git a/indoteknik_custom/views/delivery_order.xml b/indoteknik_custom/views/delivery_order.xml index da6a571c..29ca7365 100644 --- a/indoteknik_custom/views/delivery_order.xml +++ b/indoteknik_custom/views/delivery_order.xml @@ -19,6 +19,7 @@ <field name="driver_id" readonly="1"/> <field name="departure_date" readonly="1"/> <field name="arrival_date" readonly="1"/> + <field name="carrier_id" readonly="1"/> <field name="tracking_no"/> </tree> </field> diff --git a/indoteknik_custom/views/ir_sequence.xml b/indoteknik_custom/views/ir_sequence.xml index 754457da..df4a5a22 100644 --- a/indoteknik_custom/views/ir_sequence.xml +++ b/indoteknik_custom/views/ir_sequence.xml @@ -15,7 +15,7 @@ <field name="name">Stock Picking Code</field> <field name="code">stock.picking.code</field> <field name="active">TRUE</field> - <field name="prefix">1%(y)s%(month)s</field> + <field name="prefix">1%(y)s%(month)s%(day)s</field> <field name="padding">5</field> <field name="number_next">1</field> <field name="number_increment">1</field> |
