diff --git a/RIGS/models.py b/RIGS/models.py index 81c46dfb..0b7c9d12 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -17,6 +17,7 @@ from django.utils import timezone from django.utils.functional import cached_property from reversion import revisions as reversion from reversion.models import Version +from versioning.versioning import RevisionMixin class Profile(AbstractUser): @@ -69,39 +70,6 @@ class Profile(AbstractUser): return self.name -class RevisionMixin: - @property - def is_first_version(self): - versions = Version.objects.get_for_object(self) - return len(versions) == 1 - - @property - def current_version(self): - version = Version.objects.get_for_object(self).select_related('revision').first() - return version - - @property - def last_edited_at(self): - version = self.current_version - if version is None: - return None - return version.revision.date_created - - @property - def last_edited_by(self): - version = self.current_version - if version is None: - return None - return version.revision.user - - @property - def current_version_id(self): - version = self.current_version - if version is None: - return None - return f"V{version.pk} | R{version.revision.pk}" - - class Person(models.Model, RevisionMixin): name = models.CharField(max_length=50) phone = models.CharField(max_length=15, blank=True, default='') diff --git a/training/models.py b/training/models.py index 3fe766ba..b60f2320 100644 --- a/training/models.py +++ b/training/models.py @@ -1,8 +1,9 @@ -from RIGS.models import RevisionMixin, Profile +from RIGS.models import Profile from reversion import revisions as reversion from django.db import models from django.urls import reverse from django.utils.safestring import mark_safe +from versioning.versioning import RevisionMixin @reversion.register(for_concrete_model=False, fields=[], follow=["qualifications_obtained", "level_qualifications"]) diff --git a/versioning/versioning.py b/versioning/versioning.py index ca0b3ef1..343e38ad 100644 --- a/versioning/versioning.py +++ b/versioning/versioning.py @@ -36,7 +36,7 @@ class RevisionMixin: version = self.current_version if version is None: return None - return "V{0} | R{1}".format(version.pk, version.revision.pk) + return f"V{version.pk} | R{version.revision.pk}" @property def date_created(self):