Skip to content

Instantly share code, notes, and snippets.

@ulope
Created October 30, 2009 17:52
Show Gist options
  • Save ulope/222581 to your computer and use it in GitHub Desktop.
Save ulope/222581 to your computer and use it in GitHub Desktop.
From 7dfa5fb595c1de9fb2cf419c672e44d3620d33be Mon Sep 17 00:00:00 2001
From: Ulrich Petri <u.petri@diefirma.de>
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