mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-28 19:02:16 +00:00
Fix model registration and RevisionMixin lookups. Also much more efficient and DRY now
This commit is contained in:
@@ -9,6 +9,7 @@ from django.utils import timezone
|
|||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from django.utils.encoding import python_2_unicode_compatible
|
from django.utils.encoding import python_2_unicode_compatible
|
||||||
from reversion import revisions as reversion
|
from reversion import revisions as reversion
|
||||||
|
from reversion.models import Version
|
||||||
import string
|
import string
|
||||||
|
|
||||||
import random
|
import random
|
||||||
@@ -61,32 +62,31 @@ class Profile(AbstractUser):
|
|||||||
|
|
||||||
|
|
||||||
class RevisionMixin(object):
|
class RevisionMixin(object):
|
||||||
|
@property
|
||||||
|
def current_version(self):
|
||||||
|
version = Version.objects.get_for_object(self).select_related('revision').first()
|
||||||
|
return version
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def last_edited_at(self):
|
def last_edited_at(self):
|
||||||
versions = reversion.get_for_object(self)
|
version = self.current_version
|
||||||
if versions:
|
if version is None:
|
||||||
version = reversion.get_for_object(self)[0]
|
|
||||||
return version.revision.date_created
|
|
||||||
else:
|
|
||||||
return None
|
return None
|
||||||
|
return version.revision.date_created
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def last_edited_by(self):
|
def last_edited_by(self):
|
||||||
versions = reversion.get_for_object(self)
|
version = self.current_version
|
||||||
if versions:
|
if version is None:
|
||||||
version = reversion.get_for_object(self)[0]
|
|
||||||
return version.revision.user
|
|
||||||
else:
|
|
||||||
return None
|
return None
|
||||||
|
return version.revision.user
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def current_version_id(self):
|
def current_version_id(self):
|
||||||
versions = reversion.get_for_object(self)
|
version = self.current_version
|
||||||
if versions:
|
if version is None:
|
||||||
version = reversion.get_for_object(self)[0]
|
|
||||||
return "V{0} | R{1}".format(version.pk, version.revision.pk)
|
|
||||||
else:
|
|
||||||
return None
|
return None
|
||||||
|
return "V{0} | R{1}".format(version.pk, version.revision.pk)
|
||||||
|
|
||||||
|
|
||||||
@reversion.register
|
@reversion.register
|
||||||
|
|||||||
Reference in New Issue
Block a user