formdata: add access to a form_last_update_datetime variable (#47293)

This commit is contained in:
Frédéric Péters 2020-12-06 15:48:00 +01:00
parent 191937edc9
commit cb13232405
3 changed files with 9 additions and 0 deletions

View File

@ -148,6 +148,7 @@ def test_just_created(pub):
assert substvars.get('form_receipt_date')
assert substvars.get('form_receipt_time')
assert substvars.get('form_receipt_datetime')
assert substvars.get('form_last_update_datetime')
assert substvars.get('form_evolution')
@ -651,6 +652,7 @@ def test_lazy_formdata(pub, variable_test_data):
lazy_formdata = LazyFormData(formdata)
assert lazy_formdata.receipt_date == time.strftime('%Y-%m-%d', formdata.receipt_time)
assert lazy_formdata.receipt_time == time.strftime('%H:%M', formdata.receipt_time)
assert lazy_formdata.last_update_datetime.timetuple()[:6] == formdata.last_update_time[:6]
assert lazy_formdata.internal_id == formdata.id
assert lazy_formdata.name == 'foobarlazy'
assert lazy_formdata.display_name == 'foobarlazy #%s' % formdata.get_display_id()

View File

@ -720,6 +720,8 @@ class FormData(StorableObject):
# both normal formdata (where receipt_time is a time.struct_time)
# and sql.AnyFormData where it's already a datetime object.
d['form_receipt_datetime'] = make_datetime(self.receipt_time)
if self.last_update_time:
d['form_last_update_datetime'] = make_datetime(self.last_update_time)
if self.formdef.workflow.criticality_levels:
try:
level = self.get_criticality_level_object()

View File

@ -323,6 +323,11 @@ class LazyFormData(LazyFormDef):
def receipt_datetime(self):
return make_datetime(self._formdata.receipt_time) if self._formdata.receipt_time else None
@property
def last_update_datetime(self):
last_update_time = self._formdata.last_update_time
return make_datetime(last_update_time) if last_update_time else None
@property
def status(self):
return self._formdata.get_status_label()