Skip to content

Commit

Permalink
Merge with elecron branch at revision 677
Browse files Browse the repository at this point in the history
git-svn-id: http://django-page-cms.googlecode.com/svn/trunk@678 439a9e5f-3f3e-0410-bc46-71226ad0111b
  • Loading branch information
batiste committed Sep 1, 2009
1 parent b8ab856 commit c07bd06
Show file tree
Hide file tree
Showing 49 changed files with 3,401 additions and 390 deletions.
4 changes: 3 additions & 1 deletion AUTHORS
Expand Up @@ -4,9 +4,11 @@ Antoni Aloy López
Benjamin Wohlwend Benjamin Wohlwend
poweredbypenguins poweredbypenguins
homebrew79 homebrew79
Mathieu Meylan
Marco Bonetti Marco Bonetti
Gabriel Walt Gabriel Walt
David Michon David Michon
Michael Thornhill Michael Thornhill
Chris Vigelius Chris Vigelius
summer.is.gone summer.is.gone

14 changes: 7 additions & 7 deletions doc/page-api.rst
Expand Up @@ -57,6 +57,12 @@ PagePermission Manager
:members: :members:
:undoc-members: :undoc-members:


Template tags
=============

.. automodule:: pages.templatetags.pages_tags
:members:

Widgets Widgets
======= =======


Expand All @@ -76,10 +82,4 @@ Http


.. automodule:: pages.http .. automodule:: pages.http
:members: :members:
:undoc-members: :undoc-members:

Template tags
=============

.. automodule:: pages.templatetags.pages_tags
:members:
64 changes: 37 additions & 27 deletions pages/admin/__init__.py
Expand Up @@ -15,13 +15,15 @@


from pages import settings from pages import settings
from pages.models import Page, Content, PageAlias from pages.models import Page, Content, PageAlias
from pages.utils import has_page_add_permission, get_placeholders
from pages.http import get_language_from_request, get_template_from_request from pages.http import get_language_from_request, get_template_from_request


from pages.utils import get_placeholders
from pages.utils import has_page_add_permission, get_language_from_request
from pages.admin.utils import get_body_pagelink_ids, set_body_pagelink, update_body_pagelink
from pages.admin.utils import get_connected, make_inline_admin
from pages.admin import widgets from pages.admin import widgets
from pages.admin.forms import PageForm from pages.admin.forms import PageForm
from pages.admin.utils import get_connected, make_inline_admin from pages.admin.views import traduction, get_content, sub_menu, change_status, modify_content, delete_content
from pages.admin.views import traduction, get_content, sub_menu, change_status, modify_content


class PageAdmin(admin.ModelAdmin): class PageAdmin(admin.ModelAdmin):
"""Page Admin class.""" """Page Admin class."""
Expand All @@ -31,7 +33,7 @@ class PageAdmin(admin.ModelAdmin):
# these mandatory fields are not versioned # these mandatory fields are not versioned
mandatory_placeholders = ('title', 'slug') mandatory_placeholders = ('title', 'slug')
general_fields = ['title', 'slug', 'status', 'target', 'position'] general_fields = ['title', 'slug', 'status', 'target', 'position']

# TODO: find solution to do this dynamically # TODO: find solution to do this dynamically
#if getattr(settings, 'PAGE_USE_SITE_ID'): #if getattr(settings, 'PAGE_USE_SITE_ID'):
general_fields.append('sites') general_fields.append('sites')
Expand All @@ -53,6 +55,7 @@ class PageAdmin(admin.ModelAdmin):
if settings.PAGE_TEMPLATES: if settings.PAGE_TEMPLATES:
normal_fields.append('template') normal_fields.append('template')
normal_fields.append('redirect_to') normal_fields.append('redirect_to')
normal_fields.append('redirect_to_url')
fieldsets = ( fieldsets = (
(_('General'), { (_('General'), {
'fields': general_fields, 'fields': general_fields,
Expand Down Expand Up @@ -86,6 +89,8 @@ def __call__(self, request, url):
DEPRECATED. This function is the old way of handling URL resolution, and DEPRECATED. This function is the old way of handling URL resolution, and
is deprecated in favor of real URL resolution -- see ``get_urls()``. is deprecated in favor of real URL resolution -- see ``get_urls()``.
""" """

# Delegate to the appropriate method, based on the URL.
if url is None: if url is None:
return self.list_pages(request) return self.list_pages(request)
elif url == 'jsi18n': elif url == 'jsi18n':
Expand All @@ -100,6 +105,9 @@ def __call__(self, request, url):
page_id, action, content_id, language_id = url.split('/') page_id, action, content_id, language_id = url.split('/')
return modify_content(request, unquote(page_id), return modify_content(request, unquote(page_id),
unquote(content_id), unquote(language_id)) unquote(content_id), unquote(language_id))
elif 'delete-content' in url:
page_id, action, language_id = url.split('/')
return delete_content(request,unquote(page_id), unquote(language_id))
elif url.endswith('/sub-menu'): elif url.endswith('/sub-menu'):
return sub_menu(request, unquote(url[:-9])) return sub_menu(request, unquote(url[:-9]))
elif url.endswith('/move-page'): elif url.endswith('/move-page'):
Expand All @@ -110,32 +118,15 @@ def __call__(self, request, url):
return change_status(request, unquote(url[:-24]), Page.PUBLISHED) return change_status(request, unquote(url[:-24]), Page.PUBLISHED)
elif url.endswith('/change-status-hidden'): elif url.endswith('/change-status-hidden'):
return change_status(request, unquote(url[:-21]), Page.HIDDEN) return change_status(request, unquote(url[:-21]), Page.HIDDEN)
ret = super(PageAdmin, self).__call__(request, url)


"""Persist the language and template GET arguments, both on "save and ret = super(PageAdmin, self).__call__(request, url)
keep editing" and when switching language and template (which
also submits)
"""


# TODO: clean that code
new_lang = request.GET.get('new_language', False)
lang = request.GET.get('language', False)
template = request.GET.get('template', False)

if HttpResponseRedirect == type(ret) and (new_lang or lang or
template):
for item in ret.items():
if 'Location' == item[0]:
new_uri = item[1] + \
'?language=' + request.GET.get('new_language', request.GET.get('language', '')) + \
'&template=' + request.GET.get('new_template', request.GET.get('template', ''))
ret = HttpResponseRedirect(new_uri)
break
return ret return ret



def urls(self): def urls(self):
from django.conf.urls.defaults import patterns, url, include from django.conf.urls.defaults import patterns, url, include

# Admin-site-wide views. # Admin-site-wide views.
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^$', self.list_pages, name='page-index'), url(r'^$', self.list_pages, name='page-index'),
Expand Down Expand Up @@ -181,6 +172,9 @@ def save_model(self, request, obj, form, change):
position = form.data.get('position', None) position = form.data.get('position', None)
obj.save() obj.save()


if settings.PAGE_LINK_EDITOR:
initial_pagelink_ids = get_body_pagelink_ids(obj)

if target and position: if target and position:
try: try:
target = self.model.objects.get(pk=target) target = self.model.objects.get(pk=target)
Expand Down Expand Up @@ -211,11 +205,13 @@ def save_model(self, request, obj, form, change):
placeholder.name, form.cleaned_data[placeholder.name]) placeholder.name, form.cleaned_data[placeholder.name])


obj.invalidate() obj.invalidate()
if settings.PAGE_LINK_EDITOR:
set_body_pagelink(obj, initial_pagelink_ids) # (extra) pagelink


def get_fieldsets(self, request, obj=None): def get_fieldsets(self, request, obj=None):
"""Add fieldsets of placeholders to the list of already """Add fieldsets of placeholders to the list of already
existing fieldsets. existing fieldsets.
""" """
additional_fieldsets = [] additional_fieldsets = []


placeholder_fieldsets = [] placeholder_fieldsets = []
Expand Down Expand Up @@ -367,14 +363,26 @@ def list_pages(self, request, template_name=None, extra_context=None):
if template_name: if template_name:
self.change_list_template = template_name self.change_list_template = template_name
lang = get_language_from_request(request) lang = get_language_from_request(request)

q=request.POST.get('q', '').strip()

if q:
page_ids = list(set([c.page.pk for c in Content.objects.filter(body__icontains=q)]))
pages = Page.objects.filter(pk__in=page_ids)
else:
pages = Page.objects.root()

context = { context = {
'lang': lang, 'lang': lang,
'name': _("page"), 'name': _("page"),
'pages': Page.objects.root().order_by("tree_id"), 'pages': pages,
'opts': self.model._meta 'opts': self.model._meta,
'q': q
} }

context.update(extra_context or {}) context.update(extra_context or {})
change_list = self.changelist_view(request, context) change_list = self.changelist_view(request, context)

self.change_list_template = None self.change_list_template = None
return change_list return change_list


Expand All @@ -397,6 +405,8 @@ def move_page(self, request, page_id, extra_context=None):
page.invalidate() page.invalidate()
target.invalidate() target.invalidate()
page.move_to(target, position) page.move_to(target, position)
if settings.PAGE_LINK_EDITOR:
update_body_pagelink(page) # (extra) pagelink
return self.list_pages(request, return self.list_pages(request,
template_name='admin/pages/page/change_list_table.html') template_name='admin/pages/page/change_list_table.html')
return HttpResponseRedirect('../../') return HttpResponseRedirect('../../')
Expand Down

0 comments on commit c07bd06

Please sign in to comment.