mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 03:13:12 +00:00
Handle object creation in event logs
This commit is contained in:
parent
022e9aca93
commit
2a4bea4bbc
1 changed files with 12 additions and 5 deletions
|
@ -430,17 +430,24 @@ class VersionAction(HistoryEvent):
|
|||
|
||||
def edits(self, hide=["password", "pwd_ntlm", "gpg_fingerprint"]):
|
||||
self.previous_version = self._previous_version()
|
||||
|
||||
if self.previous_version is None:
|
||||
return None, None, None
|
||||
|
||||
self.edited_fields = self._compute_diff(self.version, self.previous_version)
|
||||
return super(VersionAction, self).edits(hide)
|
||||
|
||||
def _previous_version(self):
|
||||
model = self.object_type()
|
||||
return next(
|
||||
filter(
|
||||
lambda x: x.field_dict["id"] == self.object_id() and x.revision.date_created < self.version.revision.date_created,
|
||||
Version.objects.get_for_model(model).order_by("-revision__date_created")
|
||||
try:
|
||||
return next(
|
||||
filter(
|
||||
lambda x: x.field_dict["id"] == self.object_id() and x.revision.date_created < self.version.revision.date_created,
|
||||
Version.objects.get_for_model(model).order_by("-revision__date_created")
|
||||
)
|
||||
)
|
||||
)
|
||||
except StopIteration:
|
||||
return None
|
||||
|
||||
def _compute_diff(self, v1, v2):
|
||||
"""
|
||||
|
|
Loading…
Reference in a new issue