From de9c2ec437837765fd2880b826d65e70e642fa1d Mon Sep 17 00:00:00 2001 From: Griatch Date: Thu, 15 Sep 2011 00:28:26 +0200 Subject: [PATCH] Cleaned admin interface, removing misleading fields. It's still broken in a few places however, objects give a traceback here, not sure why. --- src/comms/admin.py | 62 +++++++++++++++++------------- src/objects/admin.py | 19 ++++----- src/players/admin.py | 30 ++++++++++----- src/scripts/admin.py | 14 +++---- src/web/templates/admin/index.html | 13 +++---- src/web/utils/general_context.py | 3 +- 6 files changed, 75 insertions(+), 66 deletions(-) diff --git a/src/comms/admin.py b/src/comms/admin.py index 048347fab7..721dd6c5f5 100644 --- a/src/comms/admin.py +++ b/src/comms/admin.py @@ -6,7 +6,7 @@ from django.contrib import admin from src.comms.models import Channel, Msg, PlayerChannelConnection, ExternalChannelConnection -class MsgAdmin(admin.ModelAdmin): +class MsgAdmin(admin.ModelAdmin): list_display = ('id', 'db_date_sent', 'db_sender', 'db_receivers', 'db_channels', 'db_message', 'db_lock_storage') list_display_links = ("id",) ordering = ["db_date_sent", 'db_sender', 'db_receivers', 'db_channels'] @@ -15,35 +15,43 @@ class MsgAdmin(admin.ModelAdmin): save_as = True save_on_top = True list_select_related = True -admin.site.register(Msg, MsgAdmin) +#admin.site.register(Msg, MsgAdmin) + +class PlayerChannelConnectionInline(admin.TabularInline): + model = PlayerChannelConnection + max_num = 1 +class ExternalChannelConnectionInline(admin.TabularInline): + model = ExternalChannelConnection + max_num = 1 class ChannelAdmin(admin.ModelAdmin): - list_display = ('id', 'db_key', 'db_desc', 'db_aliases', 'db_keep_log', 'db_lock_storage') - list_display_links = ("id", 'db_key') - ordering = ["db_key"] - search_fields = ['id', 'db_key', 'db_aliases'] - save_as = True - save_on_top = True - list_select_related = True + inlines = [PlayerChannelConnectionInline, ExternalChannelConnectionInline] + # list_display = ('id', 'db_key', 'db_desc', 'db_aliases', 'db_keep_log', 'db_lock_storage') + # list_display_links = ("id", 'db_key') + # ordering = ["db_key"] + # search_fields = ['id', 'db_key', 'db_aliases'] + # save_as = True + # save_on_top = True + # list_select_related = True admin.site.register(Channel, ChannelAdmin) -class PlayerChannelConnectionAdmin(admin.ModelAdmin): - list_display = ('db_channel', 'db_player') - list_display_links = ("db_player", 'db_channel') - ordering = ["db_channel"] - search_fields = ['db_channel', 'db_player'] - save_as = True - save_on_top = True - list_select_related = True -admin.site.register(PlayerChannelConnection, PlayerChannelConnectionAdmin) +# class PlayerChannelConnectionAdmin(admin.ModelAdmin): +# list_display = ('db_channel', 'db_player') +# list_display_links = ("db_player", 'db_channel') +# ordering = ["db_channel"] +# search_fields = ['db_channel', 'db_player'] +# save_as = True +# save_on_top = True +# list_select_related = True +# admin.site.register(PlayerChannelConnection, PlayerChannelConnectionAdmin) -class ExternalChannelConnectionAdmin(admin.ModelAdmin): - list_display = ('db_channel', 'db_external_key', 'db_external_config') - list_display_links = ("db_channel", 'db_external_key', 'db_external_config') - ordering = ["db_channel"] - search_fields = ['db_channel', 'db_external_key'] - save_as = True - save_on_top = True - list_select_related = True -admin.site.register(ExternalChannelConnection, ExternalChannelConnectionAdmin) +# class ExternalChannelConnectionAdmin(admin.ModelAdmin): +# list_display = ('db_channel', 'db_external_key', 'db_external_config') +# list_display_links = ("db_channel", 'db_external_key', 'db_external_config') +# ordering = ["db_channel"] +# search_fields = ['db_channel', 'db_external_key'] +# save_as = True +# save_on_top = True +# list_select_related = True +# admin.site.register(ExternalChannelConnection, ExternalChannelConnectionAdmin) diff --git a/src/objects/admin.py b/src/objects/admin.py index 049560c415..2e082cf49b 100644 --- a/src/objects/admin.py +++ b/src/objects/admin.py @@ -6,21 +6,16 @@ from src.objects.models import ObjAttribute, ObjectDB from django.contrib import admin -class ObjAttributeAdmin(admin.ModelAdmin): - list_display = ('id', 'db_key', 'db_value', 'db_lock_storage', 'db_obj') - list_display_links = ("id", 'db_key') - ordering = ["db_obj", 'db_key'] - search_fields = ['id', 'db_key', 'db_obj'] - save_as = True - save_on_top = True - list_select_related = True -admin.site.register(ObjAttribute, ObjAttributeAdmin) +class ObjAttributeInline(admin.TabularInline): + model = ObjAttribute + fields = ('db_key', 'db_value') + max_num = 1 class ObjectDBAdmin(admin.ModelAdmin): - list_display = ('id', 'db_key', 'db_typeclass_path', 'db_location', 'db_player') + inlines = [ObjAttributeInline] + list_display = ('id', 'db_key', 'db_location', 'db_player', 'db_typeclass_path') list_display_links = ('id', 'db_key') - ordering = ['id', 'db_typeclass_path'] - readonly_fields = ['db_permissions', 'db_lock_storage'] + ordering = ['db_player', 'db_typeclass_path', 'id'] search_fields = ['^db_key', 'db_typeclass_path'] save_as = True save_on_top = True diff --git a/src/players/admin.py b/src/players/admin.py index 060cf1b9f7..eea2abd52f 100644 --- a/src/players/admin.py +++ b/src/players/admin.py @@ -4,26 +4,38 @@ # from django.contrib import admin +from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from django.contrib.auth.models import User, Group from src.players.models import PlayerDB, PlayerAttribute # remove User itself from admin site admin.site.unregister(User) -admin.site.unregister(Group) +#admin.site.unregister(Group) -class PlayerAttributeInline(admin.StackedInline): +class PlayerInline(admin.TabularInline): + model = PlayerDB + +class UserAdmin(BaseUserAdmin): + inlines = [PlayerInline] + #fields = ('username', 'email', "is_staff", "is_superuser") +admin.site.register(User, UserAdmin) + +# class PlayerAttributeAdmin(admin.ModelAdmin): +# fields = ('db_key', 'db_value') +# admin.site.register(PlayerAttribute, PlayerAttributeAdmin) + +class PlayerAttributeInline(admin.TabularInline): model = PlayerAttribute - fields = ('db_key', 'db_value') + fields = ('db_key', 'db_value') + max_num = 1 class PlayerDBAdmin(admin.ModelAdmin): inlines = [PlayerAttributeInline] - - # list_display = ('id', 'user', 'db_obj', 'db_typeclass_path') - # list_display_links = ('id', 'user') - # ordering = ['id', 'user'] - search_fields = ['^db_key', 'db_typeclass_path'] + list_display = ('id', 'db_key', 'user', 'db_permissions', 'db_typeclass_path') + list_display_links = ('id', 'db_key') + ordering = ['db_key', 'db_typeclass_path'] + search_fields = ['^db_key', 'db_typeclass_path'] save_as = True save_on_top = True list_select_related = True - admin.site.register(PlayerDB, PlayerDBAdmin) diff --git a/src/scripts/admin.py b/src/scripts/admin.py index 01573254e1..804eada972 100644 --- a/src/scripts/admin.py +++ b/src/scripts/admin.py @@ -6,17 +6,13 @@ from src.scripts.models import ScriptAttribute, ScriptDB from django.contrib import admin -class ScriptAttributeAdmin(admin.ModelAdmin): - list_display = ('id', 'db_key', 'db_value', 'db_lock_storage', 'db_obj') - list_display_links = ("id", 'db_key') - ordering = ["db_obj", 'db_key'] - search_fields = ['id', 'db_key', 'db_obj'] - save_as = True - save_on_top = True - list_select_related = True -admin.site.register(ScriptAttribute, ScriptAttributeAdmin) +class ScriptAttributeInline(admin.TabularInline): + model = ScriptAttribute + fields = ('db_key', 'db_value') + max_num = 1 class ScriptDBAdmin(admin.ModelAdmin): + inlines = [ScriptAttributeInline] list_display = ('id', 'db_key', 'db_typeclass_path', 'db_obj', 'db_interval', 'db_repeats', 'db_persistent') list_display_links = ('id', 'db_key') ordering = ['db_obj', 'db_typeclass_path'] diff --git a/src/web/templates/admin/index.html b/src/web/templates/admin/index.html index 631760ea97..f94f6c14cf 100644 --- a/src/web/templates/admin/index.html +++ b/src/web/templates/admin/index.html @@ -49,7 +49,7 @@ {% endif %} {% endfor %} -

In-game entities

+

In-game

{% for app in app_list %} @@ -85,10 +85,8 @@ {% endif %} {% endfor %} - - -

Game setups and configs

- + +

configs

{% for app in app_list %} @@ -125,8 +123,7 @@ {% endif %} {% endfor %} - -

Connection protocols

+

Connections

{% for app in app_list %} @@ -164,7 +161,7 @@ {% endfor %} -

Website Specific

+

Website

{% for app in app_list %} diff --git a/src/web/utils/general_context.py b/src/web/utils/general_context.py index 1336c5aa5c..39d6fed790 100644 --- a/src/web/utils/general_context.py +++ b/src/web/utils/general_context.py @@ -22,12 +22,13 @@ SERVER_VERSION = get_evennia_version() # Setup lists of the most relevant apps so # the adminsite becomes more readable. -USER_RELATED = ['Auth', 'Players'] +USER_RELATED = ['Players'] GAME_ENTITIES = ['Objects', 'Scripts', 'Comms', 'Help'] GAME_SETUP = ['Permissions', 'Config'] CONNECTIONS = ['Irc', 'Imc2'] WEBSITE = ['Flatpages', 'News', 'Sites'] + # The main context processor function def general_context(request):