Skip to content

Commit 92f8f20

Browse files
committed
Merge branch 'develop'
Conflicts: cms/forms/widgets.py
2 parents d9e150f + 38a7c6f commit 92f8f20

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1077
-577
lines changed

cms/__init__.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
11
# -*- coding: utf-8 -*-
2-
__version__ = '2.4.0.alpha'
3-
4-
# patch settings
5-
try:
6-
from django.conf import settings
7-
if 'cms' in settings.INSTALLED_APPS:
8-
from conf import patch_settings
9-
patch_settings()
10-
except ImportError: # pragma: no cover
11-
"""
12-
This exception means that either the application is being built, or is
13-
otherwise installed improperly. Both make running patch_settings
14-
irrelevant.
15-
"""
16-
pass
2+
__version__ = '2.4.0.beta'
173

cms/admin/change_list.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from collections import defaultdict
44
from cms.exceptions import NoHomeFound
55
from cms.models import Title, Page, PageModeratorState
6+
from cms.utils.conf import get_cms_setting
67
from cms.utils.permissions import get_user_sites_queryset
78
from django.conf import settings
89
from django.contrib.admin.views.main import ChangeList, ALL_VAR, IS_POPUP_VAR, \
@@ -145,7 +146,7 @@ def set_items(self, request):
145146
# using the ids dictionary means this check is constant time
146147
page.root_node = page.parent_id not in ids
147148

148-
if settings.CMS_PERMISSION:
149+
if get_cms_setting('PERMISSION'):
149150
# caching the permissions
150151
page.permission_edit_cache = perm_edit_ids == Page.permissions.GRANT_ALL or page.pk in perm_edit_ids
151152
page.permission_publish_cache = perm_publish_ids == Page.permissions.GRANT_ALL or page.pk in perm_publish_ids
@@ -204,7 +205,7 @@ def set_sites(self, request):
204205
"""Sets sites property to current instance - used in tree view for
205206
sites combo.
206207
"""
207-
if settings.CMS_PERMISSION:
208+
if get_cms_setting('PERMISSION'):
208209
self.sites = get_user_sites_queryset(request.user)
209210
else:
210211
self.sites = Site.objects.all()

cms/admin/dialog/views.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
# -*- coding: utf-8 -*-
22
from cms.admin.dialog.forms import PermissionForm
33
from cms.models import Page
4+
from cms.utils import get_cms_setting
45
from django.conf import settings
56
from django.contrib.admin.views.decorators import staff_member_required
67
from django.http import Http404, HttpResponse
78
from django.shortcuts import render_to_response, get_object_or_404
89

910
@staff_member_required
1011
def get_copy_dialog(request, page_id):
11-
if not settings.CMS_PERMISSION:
12+
if not get_cms_setting('PERMISSION'):
1213
return HttpResponse('')
1314

1415
page = get_object_or_404(Page, pk=page_id)

cms/admin/forms.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# -*- coding: utf-8 -*-
2+
from cms import constants
23
from cms.apphook_pool import apphook_pool
34
from cms.forms.widgets import UserSelectAdminWidget
45
from cms.models import (Page, PagePermission, PageUser, ACCESS_PAGE,
56
PageUserGroup)
7+
from cms.utils.conf import get_cms_setting
68
from cms.utils.i18n import get_language_tuple, get_language_list
79
from cms.utils.mail import mail_page_user_change
810
from cms.utils.page import is_valid_page_slug
@@ -11,7 +13,6 @@
1113
get_subordinate_groups)
1214
from cms.utils.urlutils import any_path_re
1315
from django import forms
14-
from django.conf import settings
1516
from django.contrib.auth.forms import UserCreationForm
1617
from django.contrib.auth.models import Permission, User
1718
from django.contrib.contenttypes.models import ContentType
@@ -79,11 +80,11 @@ def __init__(self, *args, **kwargs):
7980
self.fields['language'].choices = languages
8081
if not self.fields['language'].initial:
8182
self.fields['language'].initial = get_language()
82-
if self.fields['parent'].initial and \
83-
settings.CMS_TEMPLATE_INHERITANCE_MAGIC in \
84-
[name for name, value in settings.CMS_TEMPLATES]:
83+
if (self.fields['parent'].initial and
84+
get_cms_setting('TEMPLATE_INHERITANCE') in
85+
[name for name, value in get_cms_setting('TEMPLATES')]):
8586
# non-root pages default to inheriting their template
86-
self.fields['template'].initial = settings.CMS_TEMPLATE_INHERITANCE_MAGIC
87+
self.fields['template'].initial = constants.TEMPLATE_INHERITANCE_MAGIC
8788

8889
def clean(self):
8990
cleaned_data = self.cleaned_data

cms/admin/pageadmin.py

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from copy import deepcopy
33
from distutils.version import LooseVersion
44
from urllib2 import unquote
5+
from cms.utils.conf import get_cms_setting
56

67
import django
78
from django.conf import settings
@@ -73,7 +74,7 @@ def get_prepopulated_fields(self, request):
7374

7475

7576
def contribute_fieldsets(cls):
76-
if settings.CMS_MENU_TITLE_OVERWRITE:
77+
if get_cms_setting('MENU_TITLE_OVERWRITE'):
7778
general_fields = [('title', 'menu_title')]
7879
else:
7980
general_fields = ['title']
@@ -83,19 +84,19 @@ def contribute_fieldsets(cls):
8384
template_fields = ['template']
8485
hidden_fields = ['site', 'parent']
8586
seo_fields = []
86-
if settings.CMS_SOFTROOT:
87+
if get_cms_setting('SOFTROOT'):
8788
advanced_fields.append('soft_root')
88-
if settings.CMS_SHOW_START_DATE and settings.CMS_SHOW_END_DATE:
89+
if get_cms_setting('SHOW_START_DATE') and get_cms_setting('SHOW_END_DATE'):
8990
general_fields.append(('publication_date', 'publication_end_date'))
90-
elif settings.CMS_SHOW_START_DATE:
91+
elif get_cms_setting('SHOW_START_DATE'):
9192
general_fields.append('publication_date')
92-
elif settings.CMS_SHOW_END_DATE:
93+
elif get_cms_setting('SHOW_END_DATE'):
9394
general_fields.append('publication_end_date')
94-
if settings.CMS_SEO_FIELDS:
95+
if get_cms_setting('SEO_FIELDS'):
9596
seo_fields = ['page_title', 'meta_description', 'meta_keywords']
96-
if not settings.CMS_URL_OVERWRITE:
97+
if not get_cms_setting('URL_OVERWRITE'):
9798
advanced_fields.remove("overwrite_url")
98-
if not settings.CMS_REDIRECTS:
99+
if not get_cms_setting('REDIRECTS'):
99100
advanced_fields.remove('redirect')
100101
if menu_pool.get_menus_by_attribute("cms_enabled", True):
101102
advanced_fields.append("navigation_extenders")
@@ -122,7 +123,7 @@ def contribute_fieldsets(cls):
122123
}),
123124
]
124125

125-
if settings.CMS_SEO_FIELDS:
126+
if get_cms_setting('SEO_FIELDS'):
126127
fieldsets.append((_("SEO Settings"), {
127128
'fields': seo_fields,
128129
'classes': ('collapse',),
@@ -138,7 +139,7 @@ def contribute_fieldsets(cls):
138139

139140
def contribute_list_filter(cls):
140141
list_filter = ['published', 'in_navigation', 'template', 'changed_by']
141-
if settings.CMS_SOFTROOT:
142+
if get_cms_setting('SOFTROOT'):
142143
list_filter.append('soft_root')
143144
setattr(cls, 'list_filter', list_filter)
144145

@@ -303,7 +304,7 @@ def get_fieldsets(self, request, obj=None):
303304
advanced = given_fieldsets.pop(3)
304305
if obj.has_advanced_settings_permission(request):
305306
given_fieldsets.append(advanced)
306-
if settings.CMS_SEO_FIELDS:
307+
if get_cms_setting('SEO_FIELDS'):
307308
seo = given_fieldsets.pop(3)
308309
given_fieldsets.append(seo)
309310
else: # new page
@@ -329,7 +330,7 @@ def get_form(self, request, obj=None, **kwargs):
329330
elif 'published' in self.exclude:
330331
self.exclude.remove('published')
331332

332-
if not settings.CMS_SOFTROOT and 'soft_root' in self.exclude:
333+
if not get_cms_setting('SOFTROOT') and 'soft_root' in self.exclude:
333334
self.exclude.remove('soft_root')
334335

335336
form = super(PageAdmin, self).get_form(request, obj, **kwargs)
@@ -358,9 +359,9 @@ def get_form(self, request, obj=None, **kwargs):
358359
form.base_fields['overwrite_url'].initial = title_obj.path
359360
else:
360361
form.base_fields['overwrite_url'].initial = ""
361-
if settings.CMS_TEMPLATES:
362+
if get_cms_setting('TEMPLATES'):
362363
selected_template = get_template_from_request(request, obj)
363-
template_choices = list(settings.CMS_TEMPLATES)
364+
template_choices = list(get_cms_setting('TEMPLATES'))
364365
form.base_fields['template'].choices = template_choices
365366
form.base_fields['template'].initial = force_unicode(selected_template)
366367

@@ -439,18 +440,18 @@ def get_form(self, request, obj=None, **kwargs):
439440
form.base_fields[name].initial = u''
440441
form.base_fields['parent'].initial = request.GET.get('target', None)
441442
form.base_fields['site'].initial = request.session.get('cms_admin_site', None)
442-
form.base_fields['template'].initial = settings.CMS_TEMPLATES[0][0]
443+
form.base_fields['template'].initial = get_cms_setting('TEMPLATES')[0][0]
443444

444445
return form
445446

446447
def get_inline_instances(self, request):
447448
inlines = super(PageAdmin, self).get_inline_instances(request)
448-
if settings.CMS_PERMISSION and hasattr(self, '_current_page')\
449+
if get_cms_setting('PERMISSION') and hasattr(self, '_current_page')\
449450
and self._current_page:
450451
filtered_inlines = []
451452
for inline in inlines:
452-
if isinstance(inline, PagePermissionInlineAdmin)\
453-
and not isinstance(inline, ViewRestrictionInlineAdmin):
453+
if (isinstance(inline, PagePermissionInlineAdmin)
454+
and not isinstance(inline, ViewRestrictionInlineAdmin)):
454455
if "recover" in request.path or "history" in request.path:
455456
# do not display permissions in recover mode
456457
continue
@@ -486,7 +487,7 @@ def change_view(self, request, object_id, extra_context=None):
486487
context = {
487488
'placeholders': self.get_fieldset_placeholders(selected_template),
488489
'page': obj,
489-
'CMS_PERMISSION': settings.CMS_PERMISSION,
490+
'CMS_PERMISSION': get_cms_setting('PERMISSION'),
490491
'ADMIN_MEDIA_URL': settings.STATIC_URL,
491492
'can_change': obj.has_change_permission(request),
492493
'can_change_permissions': obj.has_change_permissions_permission(request),
@@ -553,7 +554,7 @@ def has_add_permission(self, request):
553554
"""
554555
Return true if the current user has permission to add a new page.
555556
"""
556-
if settings.CMS_PERMISSION:
557+
if get_cms_setting('PERMISSION'):
557558
return permissions.has_page_add_permission(request)
558559
return super(PageAdmin, self).has_add_permission(request)
559560

@@ -562,7 +563,7 @@ def has_change_permission(self, request, obj=None):
562563
Return true if the current user has permission on the page.
563564
Return the string 'All' if the user has all rights.
564565
"""
565-
if settings.CMS_PERMISSION:
566+
if get_cms_setting('PERMISSION'):
566567
if obj:
567568
return obj.has_change_permission(request)
568569
else:
@@ -575,7 +576,7 @@ def has_delete_permission(self, request, obj=None):
575576
Django model instance. If CMS_PERMISSION are in use also takes look to
576577
object permissions.
577578
"""
578-
if settings.CMS_PERMISSION and obj is not None:
579+
if get_cms_setting('PERMISSION') and obj is not None:
579580
return obj.has_delete_permission(request)
580581
return super(PageAdmin, self).has_delete_permission(request, obj)
581582

@@ -644,10 +645,10 @@ def changelist_view(self, request, extra_context=None):
644645
'has_add_permission': self.has_add_permission(request),
645646
'root_path': reverse('admin:index'),
646647
'app_label': app_label,
647-
'CMS_MEDIA_URL': settings.CMS_MEDIA_URL,
648-
'CMS_SHOW_END_DATE': settings.CMS_SHOW_END_DATE,
649-
'softroot': settings.CMS_SOFTROOT,
650-
'CMS_PERMISSION': settings.CMS_PERMISSION,
648+
'CMS_MEDIA_URL': get_cms_setting('MEDIA_URL'),
649+
'CMS_SHOW_END_DATE': get_cms_setting('SHOW_END_DATE'),
650+
'softroot': get_cms_setting('SOFTROOT'),
651+
'CMS_PERMISSION': get_cms_setting('PERMISSION'),
651652
'DEBUG': settings.DEBUG,
652653
'site_languages': languages,
653654
'open_menu_trees': open_menu_trees,
@@ -712,7 +713,7 @@ def change_template(self, request, object_id):
712713
return HttpResponseForbidden(_("You do not have permission to change the template"))
713714

714715
to_template = request.POST.get("template", None)
715-
if to_template not in dict(settings.CMS_TEMPLATES):
716+
if to_template not in dict(get_cms_setting('TEMPLATES')):
716717
return HttpResponseBadRequest(_("Template not valid"))
717718

718719
page.template = to_template
@@ -1170,7 +1171,7 @@ def add_plugin(self, request):
11701171
reversion.revision.comment = _(u"%(plugin_name)s plugin added to %(placeholder)s") % {
11711172
'plugin_name': plugin_name, 'placeholder': placeholder}
11721173

1173-
return HttpResponse(str(plugin.pk))
1174+
return HttpResponse(str(plugin.pk), content_type='text/plain')
11741175

11751176
@require_POST
11761177
@create_on_success
@@ -1270,7 +1271,7 @@ def edit_plugin(self, request, plugin_id):
12701271
if request.POST.get("_cancel", False):
12711272
# cancel button was clicked
12721273
context = {
1273-
'CMS_MEDIA_URL': settings.CMS_MEDIA_URL,
1274+
'CMS_MEDIA_URL': get_cms_setting('MEDIA_URL'),
12741275
'plugin': cms_plugin,
12751276
'is_popup': True,
12761277
'name': unicode(cms_plugin),
@@ -1317,7 +1318,7 @@ def edit_plugin(self, request, plugin_id):
13171318
saved_object = plugin_admin.saved_object
13181319

13191320
context = {
1320-
'CMS_MEDIA_URL': settings.CMS_MEDIA_URL,
1321+
'CMS_MEDIA_URL': get_cms_setting('MEDIA_URL'),
13211322
'plugin': saved_object,
13221323
'is_popup': True,
13231324
'name': unicode(saved_object),

cms/admin/permissionadmin.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
PagePermissionInlineAdminForm, ViewRestrictionInlineAdminForm)
44
from cms.exceptions import NoPermissionsException
55
from cms.models import Page, PagePermission, GlobalPagePermission, PageUser
6+
from cms.utils.conf import get_cms_setting
67
from cms.utils.permissions import get_user_permission_level
78
from copy import deepcopy
89
from distutils.version import LooseVersion
@@ -180,7 +181,7 @@ def has_change_permission(self, request, obj=None):
180181
super(self.__class__, self).has_change_permission(request, obj)
181182

182183

183-
if settings.CMS_PERMISSION:
184+
if get_cms_setting('PERMISSION'):
184185
admin.site.register(GlobalPagePermission, GlobalPagePermissionAdmin)
185186
PAGE_ADMIN_INLINES.extend([
186187
ViewRestrictionInlineAdmin,

cms/admin/placeholderadmin.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from cms.models.placeholdermodel import Placeholder
55
from cms.models.pluginmodel import CMSPlugin
66
from cms.plugin_pool import plugin_pool
7-
from cms.utils import get_language_from_request, cms_static_url
7+
from cms.utils import get_language_from_request, cms_static_url, get_cms_setting
88
from cms.utils.permissions import has_plugin_permission
99
from copy import deepcopy
1010
from django.conf import settings
@@ -151,7 +151,7 @@ def add_plugin(self, request):
151151
return HttpResponseForbidden(_("You don't have permission to add content here."))
152152

153153
# check the limits defined in CMS_PLACEHOLDER_CONF for this placeholder
154-
limits = settings.CMS_PLACEHOLDER_CONF.get(placeholder.slot, {}).get('limits', None)
154+
limits = get_cms_setting('PLACEHOLDER_CONF').get(placeholder.slot, {}).get('limits', None)
155155
if limits:
156156
count = placeholder.cmsplugin_set.count()
157157
global_limit = limits.get("global", None)
@@ -206,7 +206,7 @@ def edit_plugin(self, request, plugin_id):
206206
if request.POST.get("_cancel", False):
207207
# cancel button was clicked
208208
context = {
209-
'CMS_MEDIA_URL': settings.CMS_MEDIA_URL,
209+
'CMS_MEDIA_URL': get_cms_setting('MEDIA_URL'),
210210
'plugin': cms_plugin,
211211
'is_popup': True,
212212
'name': unicode(cms_plugin),
@@ -241,7 +241,7 @@ def edit_plugin(self, request, plugin_id):
241241
saved_object = plugin_admin.saved_object
242242

243243
context = {
244-
'CMS_MEDIA_URL': settings.CMS_MEDIA_URL,
244+
'CMS_MEDIA_URL': get_cms_setting('MEDIA_URL'),
245245
'plugin': saved_object,
246246
'is_popup': True,
247247
'name': unicode(saved_object),

cms/admin/useradmin.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# -*- coding: utf-8 -*-
2+
from cms.utils.conf import get_cms_setting
23
from django.conf import settings
34
from django.utils.translation import ugettext as _
45

@@ -58,6 +59,6 @@ class PageUserGroupAdmin(admin.ModelAdmin, GenericCmsPermissionAdmin):
5859
def get_fieldsets(self, request, obj=None):
5960
return self.update_permission_fieldsets(request, obj)
6061

61-
if settings.CMS_PERMISSION:
62+
if get_cms_setting('PERMISSION'):
6263
admin.site.register(PageUser, PageUserAdmin)
63-
admin.site.register(PageUserGroup, PageUserGroupAdmin)
64+
admin.site.register(PageUserGroup, PageUserGroupAdmin)

0 commit comments

Comments
 (0)