From 3f143f5ab77c9186943adde3b78f1538b147d1d2 Mon Sep 17 00:00:00 2001 From: yomguy Date: Mon, 12 Dec 2011 11:47:52 +0100 Subject: [PATCH] add revisions to admin --- telemeta/admin.py | 7 +++++++ telemeta/models/system.py | 13 ++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/telemeta/admin.py b/telemeta/admin.py index 2835888d..75542804 100644 --- a/telemeta/admin.py +++ b/telemeta/admin.py @@ -2,6 +2,7 @@ from telemeta.models.media import * from telemeta.models.instrument import * from telemeta.models.location import * from telemeta.models.language import * +from telemeta.models.system import * from django.contrib import admin @@ -53,6 +54,10 @@ class LanguageAdmin(admin.ModelAdmin): search_fields = ['name', 'identifier'] ordering = ['name'] +class RevisionAdmin(admin.ModelAdmin): + search_fields = ['element_id', 'user'] + ordering = ['-time'] + admin.site.register(MediaCollection, MediaCollectionAdmin) admin.site.register(MediaItem, MediaItemAdmin) @@ -70,3 +75,5 @@ admin.site.register(LocationAlias, LocationAliasAdmin) admin.site.register(LocationRelation, LocationRelationAdmin) admin.site.register(Language, LanguageAdmin) + +admin.site.register(Revision, RevisionAdmin) diff --git a/telemeta/models/system.py b/telemeta/models/system.py index da045d7a..0a3f8339 100644 --- a/telemeta/models/system.py +++ b/telemeta/models/system.py @@ -55,12 +55,12 @@ class Revision(ModelCore): user = ForeignKey(User, db_column='username', related_name="revisions", verbose_name=_('user')) @classmethod - def touch(cls, element, user): + def touch(cls, element, user): "Create or update a revision" - revision = cls(element_type=element.element_type, element_id=element.pk, + revision = cls(element_type=element.element_type, element_id=element.pk, user=user, change_type='create') if element.pk: - try: + try: element.__class__.objects.get(pk=element.pk) except ObjectDoesNotExist: pass @@ -70,20 +70,23 @@ class Revision(ModelCore): revision.save() return revision + def __str__(self): + return str(self.time) + ' : ' + self.element_type + ' : ' + str(self.element_id) + class Meta(MetaCore): db_table = 'revisions' class UserProfile(django.db.models.Model): "User profile extension" - + user = ForeignKey(User, unique=True, required=True) institution = CharField(_('Institution')) function = CharField(_('Function')) address = TextField(_('Address')) telephone = CharField(_('Telephone')) expiration_date = DateField(_('Expiration_date')) - + class Meta(MetaCore): db_table = 'profiles' -- 2.39.5