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