mirror of
https://gitlab.com/datalifeit/trytond-stock_move_time
synced 2023-12-14 04:42:59 +01:00
Define method to determine if initialize end_date.
This commit refs #21995
This commit is contained in:
parent
5c8a8d4f84
commit
0d5eea6fe5
21
stock.py
21
stock.py
|
@ -43,9 +43,9 @@ class Move(metaclass=PoolMeta):
|
|||
for values in vlist:
|
||||
if not values.get('time_'):
|
||||
values.setdefault('time_', datetime.datetime.min.time())
|
||||
if not values.get('end_date') and (
|
||||
values.get('effective_date') or
|
||||
values.get('planned_date')):
|
||||
if not values.get('end_date') and cls.init_end_date() and (
|
||||
values.get('effective_date')
|
||||
or values.get('planned_date')):
|
||||
values.setdefault('end_date', datetime.datetime.combine(
|
||||
values.get('effective_date') or values.get('planned_date'),
|
||||
values.get('time_'))
|
||||
|
@ -59,9 +59,9 @@ class Move(metaclass=PoolMeta):
|
|||
actions = iter(args)
|
||||
for records, values in zip(actions, actions):
|
||||
for record in records:
|
||||
if record.start_date and (
|
||||
not record.end_date or
|
||||
record.end_date < record.start_date):
|
||||
if record.start_date and cls.init_end_date() and (
|
||||
not record.end_date
|
||||
or record.end_date < record.start_date):
|
||||
cls.write([record], {'end_date': record.start_date})
|
||||
|
||||
@fields.depends('effective_date', 'planned_date', 'time_')
|
||||
|
@ -73,14 +73,15 @@ class Move(metaclass=PoolMeta):
|
|||
return _date
|
||||
return None
|
||||
|
||||
@fields.depends('start_date', 'end_date', 'planned_date')
|
||||
@fields.depends('start_date', 'end_date', 'planned_date', methods=[
|
||||
'init_end_date'])
|
||||
def on_change_start_date(self):
|
||||
if self.start_date:
|
||||
self.effective_date = self.start_date.date()
|
||||
self.time_ = self.start_date.time()
|
||||
if not self.planned_date:
|
||||
self.planned_date = self.start_date.date()
|
||||
if not self.end_date:
|
||||
if not self.end_date and self.init_end_date():
|
||||
self.end_date = self.start_date
|
||||
|
||||
@classmethod
|
||||
|
@ -105,6 +106,10 @@ class Move(metaclass=PoolMeta):
|
|||
return [('effective_date', date_op[clause[1]], clause[2].date()),
|
||||
('time_', clause[1], clause[2].time())]
|
||||
|
||||
@classmethod
|
||||
def init_end_date(cls):
|
||||
return True
|
||||
|
||||
|
||||
class ShipmentWithTimeMixin(object):
|
||||
|
||||
|
|
Loading…
Reference in a new issue