From 5f8874ae73e437e308d606ba523f734202504b9b Mon Sep 17 00:00:00 2001
From: Brian Moe <brian.moe@ligo.org>
Date: Tue, 27 Jul 2010 15:07:10 -0500
Subject: [PATCH] Minor polishing of admin interface.

---
 gracedb/admin.py  | 41 ++++++++++++++++++++++++++++++++---------
 gracedb/models.py |  3 +++
 2 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/gracedb/admin.py b/gracedb/admin.py
index 8dc1cbb24..3c4a01078 100644
--- a/gracedb/admin.py
+++ b/gracedb/admin.py
@@ -1,16 +1,39 @@
-#from gracedb.gracedb.models import Analysis, Group, User
+
 from models import Event, EventLog, User, Group
 from models import Label, Labelling
 from django.contrib import admin
 
-#class AnalysisAdmin(admin.ModelAdmin):
-#    list_display = ['uid', 'group', 'analysisType', 'description', 'owner']
+class EventAdmin(admin.ModelAdmin):
+    def analysis_type(obj):
+        return obj.get_analysisType_display()
+    analysis_type.admin_order_field = 'analysisType'
+
+    def graceid(obj):
+        return obj.graceid()
+    graceid.admin_order_field = 'id'
+
+    list_display = [ graceid, 'group', analysis_type, 'submitter'  ]
+    search_fields = [ 'group__name', 'submitter__name' ]
+
+class UserAdmin(admin.ModelAdmin):
+    list_display = [ 'name', 'dn' ]
+    search_fields = [ 'name' ]
+
+class LabelAdmin(admin.ModelAdmin):
+    list_display = [ 'name', 'defaultColor' ]
+
+class EventLogAdmin(admin.ModelAdmin):
+    list_display = [ 'event', 'issuer', 'filename', 'comment' ]
+    search_fields = [ 'event__id', 'issuer__name', 'filename', 'comment']
+
+class LabellingAdmin(admin.ModelAdmin):
+    list_display = [ 'event', 'label', 'creator' ]
+    search_fields = [ 'event__id', 'label__name', 'creator__name' ]
 
-#admin.site.register(Analysis, AnalysisAdmin)
-admin.site.register(Event)
-admin.site.register(EventLog)
-admin.site.register(User)
+admin.site.register(Event, EventAdmin)
+admin.site.register(EventLog, EventLogAdmin)
+admin.site.register(User, UserAdmin)
 admin.site.register(Group)
-admin.site.register(Label)
-admin.site.register(Labelling)
+admin.site.register(Label, LabelAdmin)
+admin.site.register(Labelling, LabellingAdmin)
 
diff --git a/gracedb/models.py b/gracedb/models.py
index 518206e35..9fde6b6f4 100644
--- a/gracedb/models.py
+++ b/gracedb/models.py
@@ -145,6 +145,9 @@ class Event(models.Model):
             raise cls.DoesNotExist()
         return e
 
+    def __unicode__(self):
+        return self.graceid()
+
 class EventLog(models.Model):
     class Meta:
         ordering = ["-created"]
-- 
GitLab