From 47e6d542650e61e998e8b8d2195755c3eeec2037 Mon Sep 17 00:00:00 2001 From: Joseph Spiros Date: Thu, 17 Jun 2010 05:23:21 -0400 Subject: [PATCH] Pre-merge cleanup. --- admin.py | 125 +++++++++++++++++++++++++----------------------------- models.py | 9 ++-- 2 files changed, 62 insertions(+), 72 deletions(-) diff --git a/admin.py b/admin.py index 0f34028..49134e1 100644 --- a/admin.py +++ b/admin.py @@ -52,11 +52,42 @@ class CollectionAdmin(admin.ModelAdmin): list_display = ('name', 'description', 'get_count') +class NodeAdmin(EntityAdmin): + pass + + +class ModelLookupWidget(forms.TextInput): + # is_hidden = False + + def __init__(self, content_type, attrs=None): + self.content_type = content_type + super(ModelLookupWidget, self).__init__(attrs) + + def render(self, name, value, attrs=None): + related_url = '../../../%s/%s/' % (self.content_type.app_label, self.content_type.model) + if attrs is None: + attrs = {} + if not attrs.has_key('class'): + attrs['class'] = 'vForeignKeyRawIdAdminField' + output = super(ModelLookupWidget, self).render(name, value, attrs) + output += '' % (related_url, name) + output += '%s' % (settings.ADMIN_MEDIA_PREFIX, _('Lookup')) + output += '' + if value: + value_class = self.content_type.model_class() + try: + value_object = value_class.objects.get(pk=value) + output += ' %s' % escape(truncate_words(value_object, 14)) + except value_class.DoesNotExist: + pass + return mark_safe(output) + + class TreeForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(TreeForm, self).__init__(*args, **kwargs) instance = self.instance - instance_class=self.get_instance_class() + instance_class = self.get_instance_class() if instance_class is not None: try: @@ -87,57 +118,6 @@ class TreeForm(forms.ModelForm): return cleaned_data -class TemplateAdmin(admin.ModelAdmin): - prepopulated_fields = {'slug': ('name',)} - fieldsets = ( - (None, { - 'fields': ('parent', 'name', 'slug') - }), - ('Documentation', { - 'classes': COLLAPSE_CLASSES, - 'fields': ('documentation',) - }), - (None, { - 'fields': ('code',) - }), - ('Advanced', { - 'classes': COLLAPSE_CLASSES, - 'fields': ('mimetype',) - }), - ) - save_on_top = True - save_as = True - list_display = ('__unicode__', 'slug', 'get_path',) - form = TreeForm - - -class ModelLookupWidget(forms.TextInput): - # is_hidden = False - - def __init__(self, content_type, attrs=None): - self.content_type = content_type - super(ModelLookupWidget, self).__init__(attrs) - - def render(self, name, value, attrs=None): - related_url = '../../../%s/%s/' % (self.content_type.app_label, self.content_type.model) - if attrs is None: - attrs = {} - if not attrs.has_key('class'): - attrs['class'] = 'vForeignKeyRawIdAdminField' - output = super(ModelLookupWidget, self).render(name, value, attrs) - output += '' % (related_url, name) - output += '%s' % (settings.ADMIN_MEDIA_PREFIX, _('Lookup')) - output += '' - if value: - value_class = self.content_type.model_class() - try: - value_object = value_class.objects.get(pk=value) - output += ' %s' % escape(truncate_words(value_object, 14)) - except value_class.DoesNotExist: - pass - return mark_safe(output) - - class NodeForm(TreeForm): def get_instance_class(self): return Node @@ -148,21 +128,17 @@ class NodeForm(TreeForm): class PageAdminForm(NodeForm): class Meta: - model=Page + model = Page class RedirectAdminForm(NodeForm): class Meta: - model=Redirect + model = Redirect class FileAdminForm(NodeForm): class Meta: - model=File - - -class NodeAdmin(EntityAdmin): - pass + model = File class RedirectAdmin(NodeAdmin): @@ -281,15 +257,28 @@ class PageAdmin(NodeAdmin): contentreference.save() -class RedirectAdmin(admin.ModelAdmin): - list_display=('slug', 'target', 'path', 'status_code',) - list_filter=('status_code',) - form = RedirectAdminForm - - -class FileAdmin(admin.ModelAdmin): - form=FileAdminForm - list_display=('slug', 'mimetype', 'path', 'file',) +class TemplateAdmin(admin.ModelAdmin): + prepopulated_fields = {'slug': ('name',)} + fieldsets = ( + (None, { + 'fields': ('parent', 'name', 'slug') + }), + ('Documentation', { + 'classes': COLLAPSE_CLASSES, + 'fields': ('documentation',) + }), + (None, { + 'fields': ('code',) + }), + ('Advanced', { + 'classes': COLLAPSE_CLASSES, + 'fields': ('mimetype',) + }), + ) + save_on_top = True + save_as = True + list_display = ('__unicode__', 'slug', 'get_path',) + form = TreeForm admin.site.register(Collection, CollectionAdmin) diff --git a/models.py b/models.py index 88863b2..39f166c 100644 --- a/models.py +++ b/models.py @@ -96,19 +96,20 @@ class Entity(models.Model): class Meta: abstract = True - + class Collection(models.Model): name = models.CharField(max_length=255) description = models.TextField(blank=True, null=True) + @fattr(short_description='Members') def get_count(self): return self.members.count() - get_count.short_description = 'Members' def __unicode__(self): return self.name + class CollectionMemberManager(models.Manager): use_for_related_fields = True @@ -246,7 +247,7 @@ class Node(InheritableTreeEntity): return HttpResponseServerError() class Meta: - unique_together=(('parent', 'slug',),) + unique_together = (('parent', 'slug'),) class MultiNode(Node): @@ -298,7 +299,7 @@ class File(Node): class Template(TreeModel): name = models.CharField(max_length=255) documentation = models.TextField(null=True, blank=True) - mimetype = models.CharField(max_length=255, null=True, blank=True, help_text='Default: %s' % settings.DEFAULT_CONTENT_TYPE, default=settings.DEFAULT_CONTENT_TYPE) + mimetype = models.CharField(max_length=255, null=True, blank=True, help_text='Default: %s' % settings.DEFAULT_CONTENT_TYPE) code = models.TextField(verbose_name='django template code') @property -- 2.20.1