From d3468f4ebe7d92d156653816b42b8053ff5dafff Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 24 Mar 2011 10:05:55 +0000 Subject: [PATCH] Add some refinements for the admin interface. Show contact link and coloured Login/User links to show broken entries. - Legacy-Id: 2907 --- ietf/liaisons/admin.py | 46 ++++++++++++++++++++++++----------------- ietf/liaisons/models.py | 8 ++++++- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/ietf/liaisons/admin.py b/ietf/liaisons/admin.py index ee83bd29c..dd741193b 100644 --- a/ietf/liaisons/admin.py +++ b/ietf/liaisons/admin.py @@ -13,10 +13,12 @@ from django.utils.translation import ugettext as _ from ietf.liaisons.models import (FromBodies, LiaisonDetail, LiaisonPurpose, SDOs, LiaisonManagers, SDOAuthorizedIndividual) +from ietf.ietfauth.models import LegacyWgPassword, LegacyLiaisonUser class FromBodiesAdmin(admin.ModelAdmin): - pass + list_display = ['body_name', 'contact_link', 'other_sdo'] +admin.site.register(FromBodies, FromBodiesAdmin) class LiaisonDetailAdmin(admin.ModelAdmin): @@ -26,19 +28,12 @@ class LiaisonDetailAdmin(admin.ModelAdmin): # 'response_contact', 'technical_contact', 'purpose', 'purpose_text', 'deadline_date', 'action_taken', # 'related_to') raw_id_fields=['person', 'related_to'] +admin.site.register(LiaisonDetail, LiaisonDetailAdmin) + class LiaisonPurposeAdmin(admin.ModelAdmin): ordering = ('purpose_text', ) - - -class LiaisonManagersInline(admin.TabularInline): - model = LiaisonManagers - raw_id_fields=['person'] - - -class SDOAuthorizedIndividualInline(admin.TabularInline): - model = SDOAuthorizedIndividual - raw_id_fields=['person'] +admin.site.register(LiaisonPurpose, LiaisonPurposeAdmin) class LiaisonManagersAdmin(admin.ModelAdmin): @@ -46,12 +41,16 @@ class LiaisonManagersAdmin(admin.ModelAdmin): ordering = ('person__first_name', 'person__last_name' ) # fields = ('person', 'sdo') raw_id_fields=['person'] +admin.site.register(LiaisonManagers, LiaisonManagersAdmin) -class SDOAuthorizedIndividualAdmin(admin.ModelAdmin): - list_display = ['id', 'person_link', 'user_name', 'groups', 'sdo_link'] +class LiaisonManagersInline(admin.TabularInline): + model = LiaisonManagers raw_id_fields=['person'] +class SDOAuthorizedIndividualInline(admin.TabularInline): + model = SDOAuthorizedIndividual + raw_id_fields=['person'] class SDOsAdmin(admin.ModelAdmin): list_display = ['sdo_id', 'sdo_name', 'liaisonmanager_link', 'sdo_contact_link'] @@ -117,11 +116,20 @@ class SDOsAdmin(admin.ModelAdmin): raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_unicode(opts.verbose_name), 'key': escape(object_id)}) return self.send_reminder(request, sdo=obj) - - -#admin.site.register(FromBodies, FromBodiesAdmin) -admin.site.register(LiaisonDetail, LiaisonDetailAdmin) -admin.site.register(LiaisonPurpose, LiaisonPurposeAdmin) admin.site.register(SDOs, SDOsAdmin) -admin.site.register(LiaisonManagers, LiaisonManagersAdmin) + + +class SDOAuthorizedIndividualAdmin(admin.ModelAdmin): + list_display = ['id', 'person_link', 'user_name', 'groups', 'sdo_link'] + raw_id_fields=['person'] admin.site.register(SDOAuthorizedIndividual, SDOAuthorizedIndividualAdmin) + + +class LegacyWgPasswordAdmin(admin.ModelAdmin): + list_display = ['pk', 'person_link', 'login_name', ] +admin.site.register(LegacyWgPassword, LegacyWgPasswordAdmin) + + +class LegacyLiaisonUserAdmin(admin.ModelAdmin): + list_display = ['pk', 'person_link', 'login_name', 'user_level', 'comment', ] +admin.site.register(LegacyLiaisonUser, LegacyLiaisonUserAdmin) diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py index 97b35c186..5ed51aedc 100644 --- a/ietf/liaisons/models.py +++ b/ietf/liaisons/models.py @@ -31,6 +31,8 @@ class FromBodies(models.Model): db_table = 'from_bodies' verbose_name = "From body" verbose_name_plural = "From bodies" + contact_link = admin_link('poc', label='Contact') + class OutgoingLiaisonApproval(models.Model): @@ -237,7 +239,11 @@ class LiaisonStatementManager(models.Model): if user: return u'%s' % (user.id, login_name) else: - return u'%s' % (login_name) + if login_name: + return u'Add login: %s' % (login_name, login_name) + else: + return u'Add liaison user: %s' % (self.person.pk, self.person.email()[1], self.person, ) + user_name.allow_tags = True def groups(self): user, login_name = self.user()