diff --git a/categories/admin.py b/categories/admin.py index 8ebdc07..65bdef3 100644 --- a/categories/admin.py +++ b/categories/admin.py @@ -76,7 +76,7 @@ class CategoryAdminForm(forms.ModelForm): class CategoryAdmin(TreeEditor, admin.ModelAdmin): form = CategoryAdminForm - list_display = ('__unicode__',) + list_display = ('name',) search_fields = (('name',)) prepopulated_fields = {'slug': ('name',)} fieldsets = ( diff --git a/categories/models.py b/categories/models.py index 9ed278a..0dd975e 100644 --- a/categories/models.py +++ b/categories/models.py @@ -38,6 +38,10 @@ class Category(MPTTModel): default="", help_text="(Advanced) Any additional HTML to be placed verbatim in the <head>") + @property + def short_title(self): + return self.name + def get_absolute_url(self): """Return a path""" prefix = reverse('categories_tree_list') diff --git a/editor/item_editor.py b/editor/item_editor.py index f0e3386..00f72eb 100644 --- a/editor/item_editor.py +++ b/editor/item_editor.py @@ -4,18 +4,16 @@ from django import forms, template from django.contrib import admin from django.contrib.admin import helpers from django.contrib.admin.util import unquote -from django.db import models from django.db.models import loading from django.forms.formsets import all_valid from django.forms.models import modelform_factory, inlineformset_factory -from django.http import HttpResponseRedirect, HttpResponse, Http404 +from django.http import HttpResponseRedirect, Http404 from django.shortcuts import render_to_response from django.utils.encoding import force_unicode from django.utils.functional import curry from django.utils.translation import ugettext as _ -from feincms import settings -from feincms.models import Region +import settings FRONTEND_EDITING_MATCHER = re.compile(r'(\d+)/(\w+)/(\d+)') @@ -46,9 +44,6 @@ class ItemEditor(admin.ModelAdmin): """ This view is used strictly for frontend editing -- it is not used inside the standard administration interface. - - The code in feincms/templates/admin/feincms/fe_tools.html knows how to call - this view correctly. """ try: @@ -57,7 +52,7 @@ class ItemEditor(admin.ModelAdmin): except: raise Http404 - form_class_base = getattr(model_cls, 'feincms_item_editor_form', ItemEditorForm) + form_class_base = getattr(model_cls, 'item_editor_form', ItemEditorForm) ModelForm = modelform_factory(model_cls, exclude=('parent', 'region', 'ordering'), @@ -81,7 +76,7 @@ class ItemEditor(admin.ModelAdmin): if form.is_valid(): obj = form.save() - return render_to_response('admin/feincms/fe_editor_done.html', { + return render_to_response('admin/editor/editor_done.html', { 'content': obj.render(request=request), 'identifier': obj.fe_identifier(), 'MEDIA_PATH': settings.MEDIA_PATH, @@ -90,7 +85,7 @@ class ItemEditor(admin.ModelAdmin): else: form = ModelForm(instance=obj, prefix=content_type) - return render_to_response('admin/feincms/fe_editor.html', { + return render_to_response('admin/editor/editor.html', { 'frontend_editing': True, 'title': _('Change %s') % force_unicode(model_cls._meta.verbose_name), 'object': obj, @@ -100,7 +95,7 @@ class ItemEditor(admin.ModelAdmin): 'MEDIA_PATH': settings.MEDIA_PATH, 'MEDIA_HOTLINKING': settings.MEDIA_HOTLINKING, }, context_instance=template.RequestContext(request, - processors=self.model.feincms_item_editor_context_processors)) + processors=self.model.item_editor_context_processors)) def change_view(self, request, object_id, extra_context=None): self.model._needs_content_types() @@ -121,9 +116,9 @@ class ItemEditor(admin.ModelAdmin): inline_formset_types = [( content_type, inlineformset_factory(self.model, content_type, extra=1, - form=getattr(content_type, 'feincms_item_editor_form', ItemEditorForm), + form=getattr(content_type, 'item_editor_form', ItemEditorForm), formfield_callback=self._formfield_callback(request=request)) - ) for content_type in self.model._feincms_content_types] + ) for content_type in self.model._editor_content_types] opts = self.model._meta try: @@ -165,17 +160,17 @@ class ItemEditor(admin.ModelAdmin): # Prepare mapping of content types to their prettified names content_types = [] - for content_type in self.model._feincms_content_types: + for content_type in self.model._editor_content_types: content_name = content_type._meta.verbose_name content_types.append((content_name, content_type.__name__.lower())) context = {} - if hasattr(self.model, '_feincms_templates'): + if hasattr(self.model, '_editor_templates'): if 'template_key' not in self.show_on_top: self.show_on_top = ['template_key'] + list(self.show_on_top) - context['available_templates'] = self.model._feincms_templates + context['available_templates'] = self.model._editor_templates context.update({ 'title': _('Change %s') % force_unicode(opts.verbose_name), @@ -197,9 +192,9 @@ class ItemEditor(admin.ModelAdmin): def render_item_editor(self, request, object, context): opts = self.model._meta return render_to_response([ - 'admin/feincms/%s/%s/item_editor.html' % (opts.app_label, opts.object_name.lower()), - 'admin/feincms/%s/item_editor.html' % opts.app_label, - 'admin/feincms/item_editor.html', + 'admin/editor/%s/%s/item_editor.html' % (opts.app_label, opts.object_name.lower()), + 'admin/editor/%s/item_editor.html' % opts.app_label, + 'admin/editor/item_editor.html', ], context, context_instance=template.RequestContext(request, - processors=self.model.feincms_item_editor_context_processors)) + processors=self.model.item_editor_context_processors)) diff --git a/editor/media/editor/images/arrow_refresh.png b/editor/media/editor/images/arrow_refresh.png deleted file mode 100755 index 0de2656..0000000 Binary files a/editor/media/editor/images/arrow_refresh.png and /dev/null differ diff --git a/editor/media/editor/images/collapsable-last.gif b/editor/media/editor/images/collapsable-last.gif deleted file mode 100755 index 5d1ea60..0000000 Binary files a/editor/media/editor/images/collapsable-last.gif and /dev/null differ diff --git a/editor/media/editor/images/collapsable.gif b/editor/media/editor/images/collapsable.gif deleted file mode 100755 index 20dbdad..0000000 Binary files a/editor/media/editor/images/collapsable.gif and /dev/null differ diff --git a/editor/media/editor/images/cross.png b/editor/media/editor/images/cross.png deleted file mode 100755 index 1514d51..0000000 Binary files a/editor/media/editor/images/cross.png and /dev/null differ diff --git a/editor/media/editor/images/disk.png b/editor/media/editor/images/disk.png deleted file mode 100755 index 99d532e..0000000 Binary files a/editor/media/editor/images/disk.png and /dev/null differ diff --git a/editor/media/editor/images/expandable-last.gif b/editor/media/editor/images/expandable-last.gif deleted file mode 100755 index fb468bc..0000000 Binary files a/editor/media/editor/images/expandable-last.gif and /dev/null differ diff --git a/editor/media/editor/images/expandable.gif b/editor/media/editor/images/expandable.gif deleted file mode 100755 index 451f6a3..0000000 Binary files a/editor/media/editor/images/expandable.gif and /dev/null differ diff --git a/editor/media/editor/images/folder_add.png b/editor/media/editor/images/folder_add.png deleted file mode 100755 index 529fe8f..0000000 Binary files a/editor/media/editor/images/folder_add.png and /dev/null differ diff --git a/editor/media/editor/images/folder_delete.png b/editor/media/editor/images/folder_delete.png deleted file mode 100755 index 112b016..0000000 Binary files a/editor/media/editor/images/folder_delete.png and /dev/null differ diff --git a/editor/media/editor/images/folder_edit.png b/editor/media/editor/images/folder_edit.png deleted file mode 100755 index ad669cc..0000000 Binary files a/editor/media/editor/images/folder_edit.png and /dev/null differ diff --git a/editor/media/editor/images/leaf-last.gif b/editor/media/editor/images/leaf-last.gif deleted file mode 100755 index e5d301d..0000000 Binary files a/editor/media/editor/images/leaf-last.gif and /dev/null differ diff --git a/editor/media/editor/images/leaf.gif b/editor/media/editor/images/leaf.gif deleted file mode 100755 index 2f5c2ef..0000000 Binary files a/editor/media/editor/images/leaf.gif and /dev/null differ diff --git a/editor/media/editor/images/line_bg.gif b/editor/media/editor/images/line_bg.gif deleted file mode 100755 index 3189f90..0000000 Binary files a/editor/media/editor/images/line_bg.gif and /dev/null differ diff --git a/editor/media/editor/images/line_bg_over.gif b/editor/media/editor/images/line_bg_over.gif deleted file mode 100755 index 421883d..0000000 Binary files a/editor/media/editor/images/line_bg_over.gif and /dev/null differ diff --git a/editor/media/editor/images/line_bg_over_last.gif b/editor/media/editor/images/line_bg_over_last.gif deleted file mode 100755 index b43d2b6..0000000 Binary files a/editor/media/editor/images/line_bg_over_last.gif and /dev/null differ diff --git a/editor/media/editor/images/minus.gif b/editor/media/editor/images/minus.gif deleted file mode 100755 index e4f90c2..0000000 Binary files a/editor/media/editor/images/minus.gif and /dev/null differ diff --git a/editor/media/editor/images/page_add.png b/editor/media/editor/images/page_add.png deleted file mode 100755 index d5bfa07..0000000 Binary files a/editor/media/editor/images/page_add.png and /dev/null differ diff --git a/editor/media/editor/images/page_delete.png b/editor/media/editor/images/page_delete.png deleted file mode 100755 index 3141467..0000000 Binary files a/editor/media/editor/images/page_delete.png and /dev/null differ diff --git a/editor/media/editor/images/page_edit.png b/editor/media/editor/images/page_edit.png deleted file mode 100755 index 046811e..0000000 Binary files a/editor/media/editor/images/page_edit.png and /dev/null differ diff --git a/editor/media/editor/images/plus.gif b/editor/media/editor/images/plus.gif deleted file mode 100755 index c253770..0000000 Binary files a/editor/media/editor/images/plus.gif and /dev/null differ diff --git a/editor/media/editor/images/root.gif b/editor/media/editor/images/root.gif deleted file mode 100755 index 27012fb..0000000 Binary files a/editor/media/editor/images/root.gif and /dev/null differ diff --git a/editor/media/editor/images/spacer.gif b/editor/media/editor/images/spacer.gif deleted file mode 100755 index 1d11fa9..0000000 Binary files a/editor/media/editor/images/spacer.gif and /dev/null differ diff --git a/editor/media/editor/images/spinner.gif b/editor/media/editor/images/spinner.gif deleted file mode 100755 index 085ccae..0000000 Binary files a/editor/media/editor/images/spinner.gif and /dev/null differ diff --git a/editor/media/editor/images/tree_line.gif b/editor/media/editor/images/tree_line.gif deleted file mode 100755 index 2d6fa89..0000000 Binary files a/editor/media/editor/images/tree_line.gif and /dev/null differ diff --git a/editor/media/editor/img/default-bg.gif b/editor/media/editor/img/default-bg.gif deleted file mode 100644 index 003aeca..0000000 Binary files a/editor/media/editor/img/default-bg.gif and /dev/null differ diff --git a/editor/media/editor/img/disclosure-down.png b/editor/media/editor/img/disclosure-down.png deleted file mode 100644 index 08be7e1..0000000 Binary files a/editor/media/editor/img/disclosure-down.png and /dev/null differ diff --git a/editor/media/editor/img/disclosure-right.png b/editor/media/editor/img/disclosure-right.png deleted file mode 100644 index ff2ca80..0000000 Binary files a/editor/media/editor/img/disclosure-right.png and /dev/null differ diff --git a/editor/media/editor/img/help.gif b/editor/media/editor/img/help.gif deleted file mode 100644 index 3b51425..0000000 Binary files a/editor/media/editor/img/help.gif and /dev/null differ diff --git a/editor/media/editor/img/icon_deletelink.gif b/editor/media/editor/img/icon_deletelink.gif deleted file mode 100644 index 72523e3..0000000 Binary files a/editor/media/editor/img/icon_deletelink.gif and /dev/null differ diff --git a/editor/media/editor/img/important.gif b/editor/media/editor/img/important.gif deleted file mode 100644 index 41d4943..0000000 Binary files a/editor/media/editor/img/important.gif and /dev/null differ diff --git a/editor/media/editor/img/info.gif b/editor/media/editor/img/info.gif deleted file mode 100644 index c81828d..0000000 Binary files a/editor/media/editor/img/info.gif and /dev/null differ diff --git a/editor/media/editor/img/item_editor_form_title.png b/editor/media/editor/img/item_editor_form_title.png deleted file mode 100644 index 5b7b4e0..0000000 Binary files a/editor/media/editor/img/item_editor_form_title.png and /dev/null differ diff --git a/editor/media/editor/img/nav-bg.gif b/editor/media/editor/img/nav-bg.gif deleted file mode 100644 index f8402b8..0000000 Binary files a/editor/media/editor/img/nav-bg.gif and /dev/null differ diff --git a/editor/media/editor/img/title.gif b/editor/media/editor/img/title.gif deleted file mode 100644 index f92b596..0000000 Binary files a/editor/media/editor/img/title.gif and /dev/null differ diff --git a/editor/splitpane_editor.py b/editor/splitpane_editor.py index 8ce75a4..2c82211 100644 --- a/editor/splitpane_editor.py +++ b/editor/splitpane_editor.py @@ -11,7 +11,7 @@ from django.utils.encoding import force_unicode, smart_unicode from django.utils.text import capfirst from django.utils.translation import ugettext as _ -from feincms import settings +import settings class SplitPaneEditor(admin.ModelAdmin): diff --git a/editor/tree_editor.py b/editor/tree_editor.py index 4cbc053..a6e6399 100644 --- a/editor/tree_editor.py +++ b/editor/tree_editor.py @@ -8,7 +8,6 @@ from django.utils.translation import ugettext_lazy as _ import settings - def django_boolean_icon(field_val, alt_text=None, title=None): """ Return HTML code for a nice representation of true/false. @@ -146,12 +145,19 @@ class TreeEditor(admin.ModelAdmin): Generate a short title for a page, indent it depending on the page's depth in the hierarchy. """ - r = '''  ''' % ( - item.id, item.id, 14+item.level*14) - + if not item.is_leaf_node(): + prefix = u"%s\u25bc" % (" " * (item.level+1)) + else: + prefix = u"%s " % (" " * (item.level+1)) + + r = u'%s ' % ( + item.id, 14+item.level*14, prefix) if hasattr(item, 'short_title'): - return mark_safe(r + item.short_title()) + if callable(item.short_title): + short_title = item.short_title() + else: + short_title = item.short_title + return mark_safe(r + short_title) return mark_safe(r + unicode(item)) indented_short_title.short_description = _('title') indented_short_title.allow_tags = True