Intervention model refactoring

* adds UserActionLogEntry model to user/models.py
  * wraps user and timestamp info
  * can be extended for more information in the future
* refactors all filtering and accessing on values
This commit is contained in:
mipel
2021-07-29 15:49:19 +02:00
parent 98e0971c4b
commit 4e9f0f3c88
9 changed files with 82 additions and 24 deletions

View File

@@ -31,7 +31,7 @@ class CompensationTableFilter(InterventionTableFilter):
"""
if not value:
return queryset.filter(
intervention__recorded_on=None,
intervention__recorded=None,
)
else:
return queryset

View File

@@ -34,13 +34,13 @@ class CompensationTable(BaseTable):
verbose_name=_("Checked"),
orderable=True,
empty_values=[],
accessor="intervention__checked_on",
accessor="intervention__checked",
)
r = tables.Column(
verbose_name=_("Recorded"),
orderable=True,
empty_values=[],
accessor="intervention__recorded_on",
accessor="intervention__recorded",
)
e = tables.Column(
verbose_name=_("Editable"),
@@ -90,7 +90,7 @@ class CompensationTable(BaseTable):
def render_c(self, value, record: Compensation):
""" Renders the checked column for a compensation
checked_on is set by the main object Intervention
checked is set by the main object Intervention
Args:
value (str): The identifier value
@@ -103,9 +103,10 @@ class CompensationTable(BaseTable):
checked = value is not None
tooltip = _("Not checked yet")
if checked:
value = value.timestamp
value = localtime(value)
checked_on = value.strftime(DEFAULT_DATE_TIME_FORMAT)
tooltip = _("Checked on {} by {}").format(checked_on, record.intervention.checked_by)
tooltip = _("Checked on {} by {}").format(checked_on, record.intervention.checked.user)
html += self.render_checked_star(
tooltip=tooltip,
icn_filled=checked,
@@ -126,9 +127,10 @@ class CompensationTable(BaseTable):
checked = value is not None
tooltip = _("Not registered yet")
if checked:
value = value.timestamp
value = localtime(value)
on = value.strftime(DEFAULT_DATE_TIME_FORMAT)
tooltip = _("Registered on {} by {}").format(on, record.intervention.recorded_by)
tooltip = _("Registered on {} by {}").format(on, record.intervention.recorded.user)
html += self.render_bookmark(
tooltip=tooltip,
icn_filled=checked,