Skip to content

Commit

Permalink
Merge pull request #4917 from yakky/feature/remove_cms_app_name
Browse files Browse the repository at this point in the history
Reimplement  #4192
  • Loading branch information
yakky committed Jan 15, 2016
2 parents ef1707e + aadd885 commit 1b1efe4
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 19 deletions.
8 changes: 3 additions & 5 deletions cms/middleware/toolbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,18 @@ class ToolbarMiddleware(object):
Middleware to set up CMS Toolbar.
"""

def is_cms_request(self,request):
cms_app_name = get_cms_setting('APP_NAME')
def is_cms_request(self, request):
toolbar_hide = get_cms_setting('TOOLBAR_HIDE')

if not toolbar_hide or not cms_app_name:
if not toolbar_hide:
return True

try:
match = resolve(request.path_info)
except:
return False

return match.app_name == cms_app_name

return match.app_name in ('pages-root', 'pages-details-by-slug')

def process_request(self, request):
"""
Expand Down
2 changes: 1 addition & 1 deletion cms/test_utils/project/nonroot_urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

urlpatterns += i18n_patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^content/', include('cms.urls', app_name=get_cms_setting('APP_NAME'))),
url(r'^content/', include('cms.urls')),
)


Expand Down
12 changes: 7 additions & 5 deletions cms/tests/test_toolbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,37 +94,39 @@ def _fake_logentry(self, instance_id, user, text, model=Page):

@override_settings(ROOT_URLCONF='cms.test_utils.project.nonroot_urls')
class ToolbarMiddlewareTest(ClearURLs, ToolbarTestBase):
@override_settings(CMS_APP_NAME=None)
@override_settings(CMS_TOOLBAR_HIDE=False)
def test_no_app_setted_show_toolbar_in_non_cms_urls(self):
request = self.get_page_request(None, self.get_anon(), '/')
self.assertTrue(hasattr(request, 'toolbar'))

@override_settings(CMS_APP_NAME=None)
@override_settings(CMS_TOOLBAR_HIDE=False)
def test_no_app_setted_show_toolbar_in_cms_urls(self):
page = create_page('foo', 'col_two.html', 'en', published=True)
request = self.get_page_request(page, self.get_anon())
self.assertTrue(hasattr(request, 'toolbar'))

@override_settings(CMS_APP_NAME='cms')
@override_settings(CMS_TOOLBAR_HIDE=False)
def test_app_setted_hide_toolbar_in_non_cms_urls_toolbar_hide_unsetted(self):
request = self.get_page_request(None, self.get_anon(), '/')
self.assertTrue(hasattr(request, 'toolbar'))

@override_settings(CMS_APP_NAME='cms')
@override_settings(CMS_TOOLBAR_HIDE=True)
def test_app_setted_hide_toolbar_in_non_cms_urls(self):
request = self.get_page_request(None, self.get_anon(), '/')
self.assertFalse(hasattr(request, 'toolbar'))

@override_settings(CMS_APP_NAME='cms')
def test_app_setted_show_toolbar_in_cms_urls(self):
page = create_page('foo', 'col_two.html', 'en', published=True)
request = self.get_page_request(page, self.get_anon())
self.assertTrue(hasattr(request, 'toolbar'))

@override_settings(CMS_TOOLBAR_HIDE=True)
def test_app_setted_hide_toolbar_in_cms_urls(self):
page = create_page('foo', 'col_two.html', 'en', published=True)
page = create_page('foo', 'col_two.html', 'en', published=True, parent=page)
request = self.get_page_request(page, self.get_anon())
self.assertFalse(hasattr(request, 'toolbar'))


@override_settings(CMS_PERMISSION=False)
class ToolbarTests(ToolbarTestBase):
Expand Down
1 change: 0 additions & 1 deletion cms/utils/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ def wrapper():
'TOOLBAR_URL__BUILD': 'build',
'TOOLBAR_URL__DISABLE': 'toolbar_off',
'ADMIN_NAMESPACE': 'admin',
'APP_NAME': None,
'TOOLBAR_HIDE': False,
'WIZARD_DEFAULT_TEMPLATE': constants.TEMPLATE_INHERITANCE_MAGIC,
'WIZARD_CONTENT_PLUGIN': 'TextPlugin',
Expand Down
8 changes: 1 addition & 7 deletions docs/reference/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -975,14 +975,8 @@ default
``False``

If True, the toolbar is hidden in the pages out django CMS.
To determine the internal url of django cms, you need to assign CMS_APP_NAME to use when you include ``'cms.urls'``

Example::

urlpatterns += i18n_patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^content/', include('cms.urls', app_name=settings.CMS_APP_NAME)),
)
.. versionchanged:: 3.2.1: CMS_APP_NAME has been removed as it's not required anymore.


CMS_DEFAULT_X_FRAME_OPTIONS
Expand Down

0 comments on commit 1b1efe4

Please sign in to comment.