[FIX] sale_management: consider timezones for quotation validity days
The validity_date and/or remaining_validity_days fields on the sale order could be wrong due to different timezones. Furthermore, using datetime.now to create a date is unnecessary. closes odoo/odoo#49639 X-original-commit: 40e0c39fb410d018d007f2c70c12daf4289d2370 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com> Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import timedelta
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
@@ -41,7 +41,7 @@ class SaleOrder(models.Model):
|
||||
def copy(self, default=None):
|
||||
if self.sale_order_template_id and self.sale_order_template_id.number_of_days > 0:
|
||||
default = dict(default or {})
|
||||
default['validity_date'] = fields.Date.to_string(datetime.now() + timedelta(self.sale_order_template_id.number_of_days))
|
||||
default['validity_date'] = fields.Date.context_today(self) + timedelta(self.sale_order_template_id.number_of_days)
|
||||
return super(SaleOrder, self).copy(default=default)
|
||||
|
||||
@api.onchange('partner_id')
|
||||
@@ -135,7 +135,7 @@ class SaleOrder(models.Model):
|
||||
self.sale_order_option_ids = option_lines
|
||||
|
||||
if template.number_of_days > 0:
|
||||
self.validity_date = fields.Date.to_string(datetime.now() + timedelta(template.number_of_days))
|
||||
self.validity_date = fields.Date.context_today(self) + timedelta(template.number_of_days)
|
||||
|
||||
self.require_signature = template.require_signature
|
||||
self.require_payment = template.require_payment
|
||||
|
||||
Reference in New Issue
Block a user