solve a bug of validate

This commit is contained in:
Cayo Puigdefabregas 2022-02-02 12:49:03 +01:00
parent 10c756a884
commit 450cef168b
2 changed files with 4 additions and 12 deletions

View File

@ -213,18 +213,6 @@ class Action(Thing):
args[INHERIT_COND] = cls.id == Action.id args[INHERIT_COND] = cls.id == Action.id
return args return args
@validates('end_time')
def validate_end_time(self, _, end_time: datetime):
if self.start_time and end_time < self.start_time:
raise ValidationError('The action cannot finish before it starts.')
return end_time
@validates('start_time')
def validate_start_time(self, _, start_time: datetime):
if self.end_time and start_time > self.end_time:
raise ValidationError('The action cannot start after it finished.')
return start_time
@property @property
def date_str(self): def date_str(self):
return '{:%c}'.format(self.end_time) return '{:%c}'.format(self.end_time)

View File

@ -55,6 +55,10 @@ class Action(Thing):
if 'start_time' in data and data['start_time'] < unix_time: if 'start_time' in data and data['start_time'] < unix_time:
data['start_time'] = unix_time data['start_time'] = unix_time
if data.get('end_time') and data.get('start_time'):
if data['start_time'] > data['end_time']:
raise ValidationError('The action cannot finish before it starts.')
class ActionWithOneDevice(Action): class ActionWithOneDevice(Action):
__doc__ = m.ActionWithOneDevice.__doc__ __doc__ = m.ActionWithOneDevice.__doc__