aboutsummaryrefslogtreecommitdiffstats
path: root/ctrack/organisations/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'ctrack/organisations/admin.py')
-rw-r--r--ctrack/organisations/admin.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/ctrack/organisations/admin.py b/ctrack/organisations/admin.py
index f8ad2aa..5ae61d5 100644
--- a/ctrack/organisations/admin.py
+++ b/ctrack/organisations/admin.py
@@ -1,6 +1,15 @@
from django.contrib import admin
-from .models import Organisation, Address, AddressType
+from .models import Organisation, Address, AddressType, Person, Role
+
+
+# So we can get the organisation name - a reverse lookup
+def get_organisation_name(person):
+ return Organisation.objects.filter(person__name=person).first().name
+
+
+# We need this to ensure the column header in the admin does't read the func name
+get_organisation_name.short_description = 'Organisation'
class AddressTypeAdmin(admin.ModelAdmin):
@@ -15,9 +24,20 @@ class AddressInLine(admin.StackedInline):
class OrganisationAdmin(admin.ModelAdmin):
inlines = [AddressInLine,]
- list_display = ('slug', 'name')
+ list_display = ('name',)
+
+
+class PersonAdmin(admin.ModelAdmin):
+ model = Person
+ list_display = ['name', get_organisation_name, 'email', 'mobile']
+
+
+class RoleAdmin(admin.ModelAdmin):
+ model = Role
# Register your models here.
admin.site.register(Organisation, OrganisationAdmin)
admin.site.register(AddressType, AddressTypeAdmin)
+admin.site.register(Role, RoleAdmin)
+admin.site.register(Person, PersonAdmin)