Created
October 30, 2009 17:52
-
-
Save ulope/222581 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 7dfa5fb595c1de9fb2cf419c672e44d3620d33be Mon Sep 17 00:00:00 2001 | |
From: Ulrich Petri <[email protected]> | |
Date: Fri, 30 Oct 2009 16:38:57 +0100 | |
Subject: [PATCH] "Fixed" CMS_FLAT_URLS | |
--- | |
cms/views.py | 29 ++++++++++++++--------------- | |
1 files changed, 14 insertions(+), 15 deletions(-) | |
diff --git a/cms/views.py b/cms/views.py | |
index 620021e..967548d 100644 | |
--- a/cms/views.py | |
+++ b/cms/views.py | |
@@ -18,6 +18,8 @@ def get_current_page(path, lang, queryset, home_slug, home_tree_id): | |
returns: (Page, None) or (None, path_to_alternative language) | |
""" | |
try: | |
+ if settings.CMS_FLAT_URLS: | |
+ return queryset.filter(Q(title_set__slug=path) & Q(title_set__language=lang)).distinct().select_related()[0], None | |
if home_slug: | |
queryset = queryset.exclude(Q(title_set__path=home_slug)&Q(tree_id=home_tree_id)) | |
home_slug += "/" | |
@@ -25,21 +27,18 @@ def get_current_page(path, lang, queryset, home_slug, home_tree_id): | |
else: | |
title_q = Q(title_set__slug=path) | |
- if settings.CMS_FLAT_URLS: | |
- return queryset.filter(title_q & Q(title_set__language=lang)).distinct().select_related()[0], None | |
- else: | |
- page = queryset.filter(title_q).distinct().select_related()[0] | |
- if page: | |
- langs = page.get_languages() | |
- if lang in langs: | |
- return page, None | |
- else: | |
- path = None | |
- for alt_lang in get_fallback_languages(lang): | |
- if alt_lang in langs: | |
- path = '/%s%s' % (alt_lang, page.get_absolute_url(language=lang, fallback=True)) | |
- return None, path | |
- return None, path | |
+ page = queryset.filter(title_q).distinct().select_related()[0] | |
+ if page: | |
+ langs = page.get_languages() | |
+ if lang in langs: | |
+ return page, None | |
+ else: | |
+ path = None | |
+ for alt_lang in get_fallback_languages(lang): | |
+ if alt_lang in langs: | |
+ path = '/%s%s' % (alt_lang, page.get_absolute_url(language=lang, fallback=True)) | |
+ return None, path | |
+ return None, path | |
except IndexError: | |
return None, None | |
-- | |
1.6.2.1+GitX |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment