From 573d1b6e8879471941fc11b1e9ae5698a3067db8 Mon Sep 17 00:00:00 2001 From: Greg Taylor Date: Fri, 17 Apr 2009 03:08:18 +0000 Subject: [PATCH] Finally got around to creating admin.py files for all of the apps. This will prevent some really weird import errors and fixes an issue with the Attribute model's admin display. May also cut resource usage slightly for MUD server instances. Needs more testing! --- src/config/admin.py | 15 +++++++++++ src/config/models.py | 19 +------------- src/helpsys/admin.py | 9 +++++++ .../{managers/helpentry.py => managers.py} | 0 src/helpsys/managers/__init__.py | 0 src/helpsys/models.py | 12 ++------- src/objects/admin.py | 22 ++++++++++++++++ src/objects/managers/commchannel.py | 8 ------ src/objects/models.py | 26 ------------------- 9 files changed, 49 insertions(+), 62 deletions(-) create mode 100644 src/config/admin.py create mode 100644 src/helpsys/admin.py rename src/helpsys/{managers/helpentry.py => managers.py} (100%) delete mode 100644 src/helpsys/managers/__init__.py create mode 100644 src/objects/admin.py delete mode 100644 src/objects/managers/commchannel.py diff --git a/src/config/admin.py b/src/config/admin.py new file mode 100644 index 0000000000..7464e52fc9 --- /dev/null +++ b/src/config/admin.py @@ -0,0 +1,15 @@ +from src.config.models import CommandAlias, ConfigValue, ConnectScreen +from django.contrib import admin + +class CommandAliasAdmin(admin.ModelAdmin): + list_display = ('user_input', 'equiv_command') +admin.site.register(CommandAlias, CommandAliasAdmin) + +class ConfigValueAdmin(admin.ModelAdmin): + list_display = ('conf_key', 'conf_value') +admin.site.register(ConfigValue, ConfigValueAdmin) + +class ConnectScreenAdmin(admin.ModelAdmin): + list_display = ('id', 'name', 'is_active') + list_display_links = ('id', 'name') +admin.site.register(ConnectScreen, ConnectScreenAdmin) \ No newline at end of file diff --git a/src/config/models.py b/src/config/models.py index 192757223c..1d5a43bf49 100755 --- a/src/config/models.py +++ b/src/config/models.py @@ -1,5 +1,4 @@ from django.db import models -from django.contrib import admin from src.config.managers.commandalias import CommandAliasManager from src.config.managers.configvalue import ConfigValueManager from src.config.managers.connectscreen import ConnectScreenManager @@ -17,13 +16,6 @@ class CommandAlias(models.Model): class Meta: verbose_name_plural = "Command aliases" ordering = ['user_input'] - -class CommandAliasAdmin(admin.ModelAdmin): - list_display = ('user_input', 'equiv_command') - pass -# This is causing an error for some reason -#admin.site.register(CommandAlias, CommandAliasAdmin) -admin.site.register(CommandAlias) class ConfigValue(models.Model): """ @@ -36,10 +28,6 @@ class ConfigValue(models.Model): def __unicode__(self): return "%s" % self.conf_key - -class ConfigValueAdmin(admin.ModelAdmin): - list_display = ('conf_key', 'conf_value') -admin.site.register(ConfigValue, ConfigValueAdmin) class ConnectScreen(models.Model): """ @@ -50,9 +38,4 @@ class ConnectScreen(models.Model): text = models.TextField(help_text="The text for the connect screen. Color codes and substitutions are evaluated.") is_active = models.BooleanField(default=1, help_text="Only active connect screens are placed in the rotation") - objects = ConnectScreenManager() - -class ConnectScreenAdmin(admin.ModelAdmin): - list_display = ('id', 'name', 'is_active') - list_display_links = ('id', 'name') -admin.site.register(ConnectScreen, ConnectScreenAdmin) \ No newline at end of file + objects = ConnectScreenManager() \ No newline at end of file diff --git a/src/helpsys/admin.py b/src/helpsys/admin.py new file mode 100644 index 0000000000..da78d5d6a2 --- /dev/null +++ b/src/helpsys/admin.py @@ -0,0 +1,9 @@ +from django.contrib import admin +from src.helpsys.models import HelpEntry + +class HelpEntryAdmin(admin.ModelAdmin): + list_display = ('id', 'topicname', 'staff_only') + list_display_links = ('id', 'topicname') + list_filter = ('staff_only',) + search_fields = ['topicname', 'entrytext'] +admin.site.register(HelpEntry, HelpEntryAdmin) \ No newline at end of file diff --git a/src/helpsys/managers/helpentry.py b/src/helpsys/managers.py similarity index 100% rename from src/helpsys/managers/helpentry.py rename to src/helpsys/managers.py diff --git a/src/helpsys/managers/__init__.py b/src/helpsys/managers/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/helpsys/models.py b/src/helpsys/models.py index 8d13515081..936330e3e4 100644 --- a/src/helpsys/models.py +++ b/src/helpsys/models.py @@ -2,9 +2,8 @@ Models for the help system. """ from django.db import models -from django.contrib import admin from src import ansi -from src.helpsys.managers.helpentry import HelpEntryManager +from src.helpsys.managers import HelpEntryManager class HelpEntry(models.Model): """ @@ -33,11 +32,4 @@ class HelpEntry(models.Model): """ Gets the entry text for in-game viewing. """ - return ansi.parse_ansi(self.entrytext) - -class HelpEntryAdmin(admin.ModelAdmin): - list_display = ('id', 'topicname', 'staff_only') - list_display_links = ('id', 'topicname') - list_filter = ('staff_only',) - search_fields = ['topicname', 'entrytext'] -admin.site.register(HelpEntry, HelpEntryAdmin) \ No newline at end of file + return ansi.parse_ansi(self.entrytext) \ No newline at end of file diff --git a/src/objects/admin.py b/src/objects/admin.py new file mode 100644 index 0000000000..912601a6dc --- /dev/null +++ b/src/objects/admin.py @@ -0,0 +1,22 @@ +from src.objects.models import Attribute, Object, CommChannel, CommChannelMessage +from django.contrib import admin + +class AttributeAdmin(admin.ModelAdmin): + list_display = ('attr_object', 'attr_name', 'attr_value',) + search_fields = ['attr_name'] +admin.site.register(Attribute, AttributeAdmin) + +class ObjectAdmin(admin.ModelAdmin): + list_display = ('id', 'name', 'type', 'date_created') + list_filter = ('type',) + search_fields = ['name'] + save_on_top = True +admin.site.register(Object, ObjectAdmin) + +class CommChannelAdmin(admin.ModelAdmin): + list_display = ('name', 'owner') +admin.site.register(CommChannel, CommChannelAdmin) + +class CommChannelMessageAdmin(admin.ModelAdmin): + list_display = ('channel', 'message') +admin.site.register(CommChannelMessage, CommChannelMessageAdmin) \ No newline at end of file diff --git a/src/objects/managers/commchannel.py b/src/objects/managers/commchannel.py deleted file mode 100644 index b23209bb62..0000000000 --- a/src/objects/managers/commchannel.py +++ /dev/null @@ -1,8 +0,0 @@ -""" -Custom manager for CommChannel objects. -""" -from django.db import models - -class CommChannelManager(models.Manager): - pass - diff --git a/src/objects/models.py b/src/objects/models.py index 5ae5d5ff78..48be04e34d 100755 --- a/src/objects/models.py +++ b/src/objects/models.py @@ -4,10 +4,8 @@ This is where all of the crucial, core object models reside. import re from django.db import models from django.contrib.auth.models import User, Group -from django.contrib import admin from django.conf import settings from src.objects.util import object as util_object -from src.objects.managers.commchannel import CommChannelManager from src.objects.managers.object import ObjectManager from src.objects.managers.attribute import AttributeManager from src.config.models import ConfigValue @@ -88,11 +86,6 @@ class Attribute(models.Model): ANSITable.ansi["normal"], self.get_value()) -class AttributeAdmin(admin.ModelAdmin): - list_display = ('attr_object', 'attr_name', 'attr_value',) - search_fields = ['attr_name'] -admin.site.register(Attribute, AttributeAdmin) - class Object(models.Model): """ The Object class is very generic representation of a THING, PLAYER, EXIT, @@ -976,13 +969,6 @@ class Object(models.Model): # about tuple index types. Bleh. otype = int(self.type) return defines_global.OBJECT_TYPES[otype][1][0] - -class ObjectAdmin(admin.ModelAdmin): - list_display = ('id', 'name', 'type', 'date_created') - list_filter = ('type',) - search_fields = ['name'] - save_on_top = True -admin.site.register(Object, ObjectAdmin) class CommChannel(models.Model): """ @@ -994,8 +980,6 @@ class CommChannel(models.Model): description = models.CharField(max_length=80, blank=True, null=True) is_joined_by_default = models.BooleanField(default=False) req_grp = models.ManyToManyField(Group, blank=True, null=True) - - objects = CommChannelManager() def __str__(self): return "%s" % (self.name,) @@ -1072,10 +1056,6 @@ class CommChannel(models.Model): """ return self.name[:3].lower() -class CommChannelAdmin(admin.ModelAdmin): - list_display = ('name', 'owner') -admin.site.register(CommChannel, CommChannelAdmin) - class CommChannelMessage(models.Model): """ A single logged channel message. @@ -1083,18 +1063,12 @@ class CommChannelMessage(models.Model): channel = models.ForeignKey(CommChannel, related_name="msg_channel") message = models.CharField(max_length=255) date_sent = models.DateTimeField(editable=False, auto_now_add=True) - - objects = CommChannelManager() def __str__(self): return "%s: %s" % (self.sender.name, self.message) class Meta: ordering = ['-date_sent'] - -class CommChannelMessageAdmin(admin.ModelAdmin): - list_display = ('channel', 'message') -admin.site.register(CommChannelMessage, CommChannelMessageAdmin) # Deferred imports are poopy. This will require some thought to fix. from src import cmdhandler \ No newline at end of file