mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-23 15:33:45 +00:00
Handle object creation in event logs
This commit is contained in:
parent
2a155032ef
commit
3935a37c24
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"]):
|
def edits(self, hide=["password", "pwd_ntlm", "gpg_fingerprint"]):
|
||||||
self.previous_version = self._previous_version()
|
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)
|
self.edited_fields = self._compute_diff(self.version, self.previous_version)
|
||||||
return super(VersionAction, self).edits(hide)
|
return super(VersionAction, self).edits(hide)
|
||||||
|
|
||||||
def _previous_version(self):
|
def _previous_version(self):
|
||||||
model = self.object_type()
|
model = self.object_type()
|
||||||
|
try:
|
||||||
return next(
|
return next(
|
||||||
filter(
|
filter(
|
||||||
lambda x: x.field_dict["id"] == self.object_id() and x.revision.date_created < self.version.revision.date_created,
|
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")
|
Version.objects.get_for_model(model).order_by("-revision__date_created")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
except StopIteration:
|
||||||
|
return None
|
||||||
|
|
||||||
def _compute_diff(self, v1, v2):
|
def _compute_diff(self, v1, v2):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in a new issue