From: melinath Date: Wed, 16 Jun 2010 18:56:16 +0000 (-0400) Subject: Remerged clone to push to it X-Git-Tag: philo-0.9~78^2~2^2 X-Git-Url: http://git.ithinksw.org/philo.git/commitdiff_plain/3be0713303de6ba83335a530894d75b86027e042?hp=-c Remerged clone to push to it --- 3be0713303de6ba83335a530894d75b86027e042 diff --combined admin.py index e5b93b4,506267d..0f34028 --- a/admin.py +++ b/admin.py @@@ -7,20 -7,17 +7,20 @@@ from django.utils.translation import ug from django.utils.safestring import mark_safe from django.utils.html import escape from django.utils.text import truncate_words -from models import * +from philo.models import * from django.core.exceptions import ValidationError, ObjectDoesNotExist from validators import TreeParentValidator, TreePositionValidator +COLLAPSE_CLASSES = ('collapse', 'collapse-closed', 'closed',) + + class AttributeInline(generic.GenericTabularInline): ct_field = 'entity_content_type' ct_fk_field = 'entity_object_id' model = Attribute extra = 1 - classes = ('collapse-closed',) + template = 'admin/philo/edit_inline/tabular_collapse.html' allow_add = True @@@ -29,7 -26,7 +29,7 @@@ class RelationshipInline(generic.Generi ct_fk_field = 'entity_object_id' model = Relationship extra = 1 - classes = ('collapse-closed',) + template = 'admin/philo/edit_inline/tabular_collapse.html' allow_add = True @@@ -42,9 -39,8 +42,9 @@@ class CollectionMemberInline(admin.Tabu fk_name = 'collection' model = CollectionMember extra = 1 - classes = ('collapse-closed',) + classes = COLLAPSE_CLASSES allow_add = True + fields = ('member_content_type', 'member_object_id', 'index',) class CollectionAdmin(admin.ModelAdmin): @@@ -94,14 -90,14 +94,14 @@@ class TemplateAdmin(admin.ModelAdmin) 'fields': ('parent', 'name', 'slug') }), ('Documentation', { - 'classes': ('collapse', 'collapse-closed'), + 'classes': COLLAPSE_CLASSES, 'fields': ('documentation',) }), (None, { 'fields': ('code',) }), ('Advanced', { - 'classes': ('collapse','collapse-closed'), + 'classes': COLLAPSE_CLASSES, 'fields': ('mimetype',) }), ) @@@ -161,50 -157,15 +161,50 @@@ class FileAdminForm(NodeForm) model=File -class PageAdmin(EntityAdmin): +class NodeAdmin(EntityAdmin): + pass + + +class RedirectAdmin(NodeAdmin): + fieldsets = ( + (None, { + 'fields': ('slug', 'target', 'status_code') + }), + ('URL/Tree/Hierarchy', { + 'classes': COLLAPSE_CLASSES, + 'fields': ('parent',) + }), + ) + list_display=('slug', 'target', 'path', 'status_code',) + list_filter=('status_code',) + form = RedirectAdminForm + + +class FileAdmin(NodeAdmin): + prepopulated_fields = {'slug': ('file',)} + fieldsets = ( + (None, { + 'fields': ('file', 'slug', 'mimetype') + }), + ('URL/Tree/Hierarchy', { + 'classes': COLLAPSE_CLASSES, + 'fields': ('parent',) + }), + ) + form=FileAdminForm + list_display=('slug', 'mimetype', 'path', 'file',) + + +class PageAdmin(NodeAdmin): + add_form_template = 'admin/philo/page/add_form.html' prepopulated_fields = {'slug': ('title',)} fieldsets = ( (None, { - 'fields': ('title', 'template') + 'fields': ('title', 'slug', 'template') }), ('URL/Tree/Hierarchy', { - 'classes': ('collapse', 'collapse-closed'), - 'fields': ('parent', 'slug') + 'classes': COLLAPSE_CLASSES, + 'fields': ('parent',) }), ) list_display = ('title', 'path', 'template') @@@ -215,11 -176,8 +215,11 @@@ def get_fieldsets(self, request, obj=None, **kwargs): fieldsets = list(self.fieldsets) if obj: # if no obj, creating a new page, thus no template set, thus no containers - page = obj - template = page.template + template = obj.template + if template.documentation: + fieldsets.append(('Template Documentation', { + 'description': template.documentation + })) contentlet_containers, contentreference_containers = template.containers for container_name in contentlet_containers: fieldsets.append((('Container: %s' % container_name), { @@@ -273,14 -231,23 +273,25 @@@ for container_name, container_content_type in contentreference_containers: if ('contentreference_container_%s' % container_name) in form.cleaned_data: content = form.cleaned_data[('contentreference_container_%s' % container_name)] + if content == None: + continue contentreference, created = page.contentreferences.get_or_create(name=container_name, defaults={'content': content}) if not created: contentreference.content = content 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',) + + admin.site.register(Collection, CollectionAdmin) admin.site.register(Redirect, RedirectAdmin) admin.site.register(File, FileAdmin)