[svn] Updates to allow subcave tree with nice admin.

This commit is contained in:
substantialnoninfringinguser
2009-05-21 19:47:19 +01:00
parent 99949d466a
commit 54a62999c0
46 changed files with 1931 additions and 33 deletions

View File

23
feincms/views/base.py Normal file
View File

@@ -0,0 +1,23 @@
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils import translation
from feincms.module.page.models import Page
def handler(request, path=None):
if path is None:
path = request.path
page = Page.objects.page_for_path_or_404(path)
if page.redirect_to:
return HttpResponseRedirect(page.redirect_to)
page.setup_request(request)
return render_to_response(page.template.path, {
'feincms_page': page,
}, context_instance=RequestContext(request))

View File

@@ -0,0 +1,16 @@
try:
from functools import wraps
except ImportError:
from django.utils.functional import wraps
from feincms.module.page.models import Page
def add_page_to_extra_context(view_func):
def inner(request, *args, **kwargs):
kwargs.setdefault('extra_context', {})
kwargs['extra_context']['feincms_page'] = Page.objects.best_match_for_request(request)
return view_func(request, *args, **kwargs)
return wraps(view_func)(inner)

View File

View File

@@ -0,0 +1,8 @@
from django.views.generic import create_update
from feincms.views.decorators import add_page_to_extra_context
create_object = add_page_to_extra_context(create_update.create_object)
update_object = add_page_to_extra_context(create_update.update_object)
delete_object = add_page_to_extra_context(create_update.delete_object)

View File

@@ -0,0 +1,12 @@
from django.views.generic import date_based
from feincms.views.decorators import add_page_to_extra_context
archive_index = add_page_to_extra_context(date_based.archive_index)
archive_year = add_page_to_extra_context(date_based.archive_year)
archive_month = add_page_to_extra_context(date_based.archive_month)
archive_week = add_page_to_extra_context(date_based.archive_week)
archive_day = add_page_to_extra_context(date_based.archive_day)
archive_today = add_page_to_extra_context(date_based.archive_today)
object_detail = add_page_to_extra_context(date_based.object_detail)

View File

@@ -0,0 +1,7 @@
from django.views.generic import list_detail
from feincms.views.decorators import add_page_to_extra_context
object_list = add_page_to_extra_context(list_detail.object_list)
object_detail = add_page_to_extra_context(list_detail.object_detail)

View File

@@ -0,0 +1,6 @@
from django.views.generic import simple
from feincms.views.decorators import add_page_to_extra_context
direct_to_template = add_page_to_extra_context(simple.direct_to_template)