Add some refinements for the admin interface. Show contact link and coloured Login/User links to show broken entries.

- Legacy-Id: 2907
This commit is contained in:
Henrik Levkowetz 2011-03-24 10:05:55 +00:00
parent 3418e1045b
commit d3468f4ebe
2 changed files with 34 additions and 20 deletions

View file

@ -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)

View file

@ -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'<a href="/admin/auth/user/%s/">%s</a>' % (user.id, login_name)
else:
return u'<a href="/admin/auth/user/"><span style="color: red">%s</span></a>' % (login_name)
if login_name:
return u'Add login: <a href="/admin/auth/user/add/?username=%s"><span style="color: red">%s</span></a>' % (login_name, login_name)
else:
return u'Add liaison user: <a href="/admin/ietfauth/legacyliaisonuser/add/?person=%s&login_name=%s&user_level=3"><span style="color: red">%s</span></a>' % (self.person.pk, self.person.email()[1], self.person, )
user_name.allow_tags = True
def groups(self):
user, login_name = self.user()