From 1f77c60f245ae23312a3b0be56637cfd9d84a629 Mon Sep 17 00:00:00 2001 From: Andreas Osim Date: Wed, 15 Nov 2023 16:26:04 +0100 Subject: [PATCH] rework Upload sale order --- ext/custom-addons/dp_custom/models/sale.py | 31 +++++++++++-------- .../models/sale_order.py | 14 +++++---- .../models/sale_order_line.py | 1 + 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/ext/custom-addons/dp_custom/models/sale.py b/ext/custom-addons/dp_custom/models/sale.py index c734f7a1..f8f11d7b 100644 --- a/ext/custom-addons/dp_custom/models/sale.py +++ b/ext/custom-addons/dp_custom/models/sale.py @@ -383,9 +383,9 @@ class SaleOrder(models.Model): if order_id.state == 'sale' and (order_id.assembly_state == 'created'): vals['assembly_state'] = 'approved' vals['message_post'] = 'PG9 autoreleased' - order_id.write(vals) if (order_id.state == 'draft' or order_id.state == 'sent') and (order_id.assembly_state == 'created'): order_id.action_confirm() + order_id.write(vals) return {'id': order_id.id, 'name': order_id.name} else: cq = self.env['res.confirmation_queue'].search([('origin', '=', origin)]) @@ -496,6 +496,10 @@ class SaleOrder(models.Model): if dv: vals['desired_delivery_date'] = datetime.strptime(dv,'%d.%m.%Y').date() + dv = vals.get('order_delivery_date',False) + if dv: + vals['delivery_date'] = datetime.strptime(dv,'%d.%m.%Y').date() + shipping_type = vals.get('shipping_type',False) carrier_id = False if shipping_type: @@ -614,19 +618,20 @@ class SaleOrder(models.Model): def _get_specified_fields(self): return ['origin', 'client_order_ref', 'note', 'date_order', 'assembled', 'line_id', 'partner_id', 'fiscal_position_id', 'user_id', 'payment_term_id', 'partner_delivery_id', 'partner_invoice_id', 'shipping_type', - 'assembly_state', 'confirmation_nr', 'confirm_order', 'order_type', 'internal_notes', 'from_designbox', 'discount', 'hide_discount', 'desired_delivery_date', 'sequence'] + 'assembly_state', 'confirmation_nr', 'confirm_order', 'order_type', 'internal_notes', 'from_designbox', 'discount', + 'hide_discount', 'desired_delivery_date', 'order_delivery_date', 'sequence'] - @api.model - def create(self,vals): - order = super(SaleOrder, self).create(vals) - current_sequence = 0 - for order_line in order.order_line: - current_sequence += 1 - order_line.update({'sequence': current_sequence,}) - - # order.partner_id.last_order_changed = datetime.now() - - return order + # @api.model + # def create(self,vals): + # order = super(SaleOrder, self).create(vals) + # current_sequence = 0 + # for order_line in order.order_line: + # current_sequence += 1 + # order_line.update({'sequence': current_sequence,}) + # + # # order.partner_id.last_order_changed = datetime.now() + # + # return order @api.multi def write(self, vals): diff --git a/ext/custom-addons/dp_sale_delivery_date/models/sale_order.py b/ext/custom-addons/dp_sale_delivery_date/models/sale_order.py index 44630f1c..0dd9cb05 100644 --- a/ext/custom-addons/dp_sale_delivery_date/models/sale_order.py +++ b/ext/custom-addons/dp_sale_delivery_date/models/sale_order.py @@ -10,16 +10,18 @@ class SaleOrder(models.Model): # delivery_date = fields.Date('Lieferdatum', compute='_compute_delivery_date', inverse='_inverse_delivery_date') @api.multi - @api.depends('state','write_date','order_line.delivery_date','order_line.write_date') +# @api.depends('state','write_date','order_line.delivery_date','order_line.write_date') +# @api.depends('order_line.delivery_date') def _compute_delivery_date(self): for order in self: - lines = order.order_line.filtered(lambda d: d.delivery_date) - lines = lines.sorted(key=lambda d: fields.Date.from_string(d.delivery_date)) - if lines: - order.delivery_date = lines[0].delivery_date + if order.has_delivery: + lines = order.order_line.filtered(lambda d: d.delivery_date) + lines = lines.sorted(key=lambda d: fields.Date.from_string(d.delivery_date)) + if lines: + order.delivery_date = lines[0].delivery_date @api.multi - @api.depends('state','write_date','order_line.delivery_date','order_line.write_date') +# @api.depends('state','write_date','order_line.delivery_date','order_line.write_date') def _inverse_delivery_date(self): for order in self: for line in order.order_line: diff --git a/ext/custom-addons/dp_sale_delivery_date/models/sale_order_line.py b/ext/custom-addons/dp_sale_delivery_date/models/sale_order_line.py index 87374d8c..0da612bf 100644 --- a/ext/custom-addons/dp_sale_delivery_date/models/sale_order_line.py +++ b/ext/custom-addons/dp_sale_delivery_date/models/sale_order_line.py @@ -8,6 +8,7 @@ class SaleOrderLine(models.Model): _inherit = 'sale.order.line' delivery_date = fields.Date('Lieferdatum', compute='_compute_delivery_date', inverse='_inverse_delivery_date') +# delivery_date = fields.Date('Lieferdatum', compute='_compute_delivery_date') @api.multi def _compute_delivery_date(self):