Author: batiste.bieler
Date: Sat Mar 14 08:52:22 2009
New Revision: 403

Modified:
    trunk/pages/templatetags/pages_tags.py
    trunk/pages/tests.py
    trunk/pages/utils.py
    trunk/pages/views.py

Log:
Fix issue 65

Modified: trunk/pages/templatetags/pages_tags.py
==============================================================================
--- trunk/pages/templatetags/pages_tags.py      (original)
+++ trunk/pages/templatetags/pages_tags.py      Sat Mar 14 08:52:22 2009
@@ -86,7 +86,10 @@
              return {'content':''}

      if lang is None:
-        lang = get_language_from_request(context['request'], page)
+        if 'lang' in context:
+            lang = context['lang']
+        else:
+            lang = get_language_from_request(context['request'], page)
      c = Content.objects.get_content(page, lang, content_type, True)
      if c:
          return {'content':c}
@@ -114,7 +117,10 @@
      if not request or not page:
          return {'content':''}
      if lang is None:
-        lang = get_language_from_request(context['request'], page)
+        if 'lang' in context:
+            lang = context['lang']
+        else:
+            lang = get_language_from_request(context['request'], page)
      url = page.get_absolute_url(language=lang)
      if url:
          return {'content':url}
@@ -272,10 +278,13 @@
      def render(self, context):
          if not 'request' in context or not self.page in context:
              return ''
-
-        language = get_language_from_request(context['request'],  
context[self.page])
+
+        if 'lang' in context:
+            lang = context['lang']
+        else:
+            lang = get_language_from_request(context['request'],  
context[self.page])
          request = context['request']
-        content = Content.objects.get_content(context[self.page], language,
+        content = Content.objects.get_content(context[self.page], lang,
                                                self.name, True)
          if not content:
              return ''

Modified: trunk/pages/tests.py
==============================================================================
--- trunk/pages/tests.py        (original)
+++ trunk/pages/tests.py        Sat Mar 14 08:52:22 2009
@@ -304,7 +304,6 @@
          self.assertRedirects(response, '/admin/pages/page/')

          page = Page.objects.all()[0]
-        page.invalidate()

          response = c.post('/admin/pages/page/add/', page_data)
          # we cannot create 2 root page with the same slug

Modified: trunk/pages/utils.py
==============================================================================
--- trunk/pages/utils.py        (original)
+++ trunk/pages/utils.py        Sat Mar 14 08:52:22 2009
@@ -138,7 +138,7 @@
      return False

  # TODO: move this in the manager
-def get_page_from_slug(slug, request):
+def get_page_from_slug(slug, request, lang=None):
      from pages.models import Content, Page
      from django.core.urlresolvers import reverse
      lang = get_language_from_request(request)

Modified: trunk/pages/views.py
==============================================================================
--- trunk/pages/views.py        (original)
+++ trunk/pages/views.py        Sat Mar 14 08:52:22 2009
@@ -6,7 +6,7 @@
  from pages.models import Page, Content
  from pages.utils import auto_render, get_language_from_request,  
get_page_from_slug

-def details(request, slug=None):
+def details(request, slug=None, lang=None):
      """
      Example view that get the root pages for navigation,
      and the current page if there is any root page.
@@ -17,7 +17,7 @@

      if pages:
          if slug:
-            current_page = get_page_from_slug(slug, request)
+            current_page = get_page_from_slug(slug, request, lang)
          else:
              current_page = pages[0]

@@ -27,7 +27,9 @@
      if not current_page.calculated_status in (Page.PUBLISHED, Page.HIDDEN):
          raise Http404

-    lang = get_language_from_request(request, current_page)
+    if not lang:
+        lang = get_language_from_request(request, current_page)
+
      template_name = current_page.get_template()
      return template_name, locals()
  details = auto_render(details)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to