Skip to content

Commit

Permalink
Merge pull request #3695 from timgraham/DJANGO_1_4
Browse files Browse the repository at this point in the history
Removed DJANGO_1_4 workarounds.
  • Loading branch information
yakky committed Jan 16, 2015
2 parents 2ef8998 + 67ed61f commit d6f0dc4
Show file tree
Hide file tree
Showing 13 changed files with 33 additions and 106 deletions.
26 changes: 3 additions & 23 deletions cms/admin/pageadmin.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
from cms.utils import helpers, permissions, get_language_from_request, admin as admin_utils, copy_plugins
from cms.utils.i18n import get_language_list, get_language_tuple, get_language_object, force_language
from cms.utils.admin import jsonify_request
from cms.utils.compat import DJANGO_1_4
from cms.utils.compat.dj import force_unicode, is_installed
from cms.utils.compat.urls import unquote
from cms.utils.conf import get_cms_setting
Expand Down Expand Up @@ -359,12 +358,7 @@ def permissions(self, request, object_id):
return self.change_view(request, object_id, extra_context={'show_permissions': True, 'title': _("Change Permissions")})

def get_inline_instances(self, request, obj=None):
if DJANGO_1_4:
inlines = super(PageAdmin, self).get_inline_instances(request)
if hasattr(self, '_current_page'):
obj = self._current_page
else:
inlines = super(PageAdmin, self).get_inline_instances(request, obj)
inlines = super(PageAdmin, self).get_inline_instances(request, obj)
if get_cms_setting('PERMISSION') and obj:
filtered_inlines = []
for inline in inlines:
Expand Down Expand Up @@ -445,12 +439,6 @@ def change_view(self, request, object_id, form_url='', extra_context=None):

extra_context.update(self.get_unihandecode_context(tab_language))

# get_inline_instances will need access to 'obj' so that it can
# determine if current user has enough rights to see PagePermissionInlineAdmin
# because in django versions <1.5 get_inline_instances doesn't receive 'obj'
# as a parameter, the workaround is to set it as an attribute...
if DJANGO_1_4:
self._current_page = obj
response = super(PageAdmin, self).change_view(
request, object_id, form_url=form_url, extra_context=extra_context)
if tab_language and response.status_code == 302 and response._headers['location'][1] == request.path_info:
Expand Down Expand Up @@ -1366,10 +1354,7 @@ def add_page_type(self, request):

def resolve(self, request):
if not request.user.is_staff:
if DJANGO_1_4:
return HttpResponse('', mimetype='text/plain')
else:
return HttpResponse('', content_type='text/plain')
return HttpResponse('', content_type='text/plain')
if request.session.get('cms_log_latest', False):
log = LogEntry.objects.get(pk=request.session['cms_log_latest'])
try:
Expand Down Expand Up @@ -1485,12 +1470,7 @@ def get_published_pagelist(self, *args, **kwargs):
'redirect_url': page.get_absolute_url(language=language_code)
}
)

if DJANGO_1_4:
return HttpResponse(json.dumps(results), mimetype='application/json')
else:
return HttpResponse(json.dumps(results), content_type='application/json')

return HttpResponse(json.dumps(results), content_type='application/json')
else:
return HttpResponseForbidden()

Expand Down
17 changes: 3 additions & 14 deletions cms/admin/placeholderadmin.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
from django.http import HttpResponseRedirect

from cms.utils import copy_plugins, permissions, get_language_from_request
from cms.utils.compat import DJANGO_1_4
from cms.utils.i18n import get_language_list
from cms.utils.transaction import wrap_transaction

Expand Down Expand Up @@ -267,10 +266,7 @@ def add_plugin(self, request):
args=[plugin.pk])),
'breadcrumb': plugin.get_breadcrumb(),
}
if DJANGO_1_4:
return HttpResponse(json.dumps(response), mimetype='application/json')
else:
return HttpResponse(json.dumps(response), content_type='application/json')
return HttpResponse(json.dumps(response), content_type='application/json')

@method_decorator(require_POST)
@xframe_options_sameorigin
Expand Down Expand Up @@ -340,10 +336,7 @@ def copy_plugins(self, request):
)
self.post_copy_plugins(request, source_placeholder, target_placeholder, plugins)
json_response = {'plugin_list': reduced_list, 'reload': reload_required}
if DJANGO_1_4:
return HttpResponse(json.dumps(json_response), mimetype='application/json')
else:
return HttpResponse(json.dumps(json_response), content_type='application/json')
return HttpResponse(json.dumps(json_response), content_type='application/json')

@xframe_options_sameorigin
def edit_plugin(self, request, plugin_id):
Expand Down Expand Up @@ -483,10 +476,7 @@ def move_plugin(self, request):
x += 1
self.post_move_plugin(request, source_placeholder, placeholder, plugin)
json_response = {'reload': requires_reload(PLUGIN_MOVE_ACTION, [plugin])}
if DJANGO_1_4:
return HttpResponse(json.dumps(json_response), mimetype='application/json')
else:
return HttpResponse(json.dumps(json_response), content_type='application/json')
return HttpResponse(json.dumps(json_response), content_type='application/json')

@xframe_options_sameorigin
def delete_plugin(self, request, plugin_id):
Expand Down Expand Up @@ -567,4 +557,3 @@ def clear_placeholder(self, request, placeholder_id):
}
return TemplateResponse(request, "admin/cms/page/plugin/delete_confirmation.html", context,
current_app=self.admin_site.name)

3 changes: 0 additions & 3 deletions cms/cms_toolbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from cms.toolbar.items import TemplateItem
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from cms.utils.compat import DJANGO_1_4
from cms.utils.i18n import get_language_tuple, force_language
from cms.utils.compat.dj import is_installed
from cms.utils import get_cms_setting
Expand Down Expand Up @@ -185,8 +184,6 @@ def get_username(self, user=None, default=''):
name = user.get_full_name()
if name:
return name
elif DJANGO_1_4:
return user.username
else:
return user.get_username()
except (AttributeError, NotImplementedError):
Expand Down
12 changes: 2 additions & 10 deletions cms/models/pagemodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
from cms.models.placeholdermodel import Placeholder
from cms.models.pluginmodel import CMSPlugin
from cms.utils import i18n, page as page_utils
from cms.utils.compat import DJANGO_1_5
from cms.utils.compat.dj import force_unicode, python_2_unicode_compatible
from cms.utils.compat.metaclasses import with_metaclass
from cms.utils.conf import get_cms_setting
Expand Down Expand Up @@ -441,10 +440,7 @@ def save(self, no_signals=False, commit=True, **kwargs):
self.created_by = self.changed_by
if commit:
if no_signals: # ugly hack because of mptt
if DJANGO_1_5:
self.save_base(cls=self.__class__, **kwargs)
else:
self.save_base(**kwargs)
self.save_base(**kwargs)
else:
if not self.depth:
if self.parent_id:
Expand All @@ -467,11 +463,7 @@ def save_base(self, *args, **kwargs):
self.title_set.all().update(publisher_state=PUBLISHER_STATE_DIRTY)
if keep_state:
delattr(self, '_publisher_keep_state')

if not DJANGO_1_5 and 'cls' in kwargs:
del kwargs['cls']
ret = super(Page, self).save_base(*args, **kwargs)
return ret
return super(Page, self).save_base(*args, **kwargs)

def is_new_dirty(self):
if self.pk:
Expand Down
12 changes: 4 additions & 8 deletions cms/models/pluginmodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from cms.models.placeholdermodel import Placeholder
from cms.plugin_rendering import PluginContext, render_plugin
from cms.utils import get_cms_setting
from cms.utils.compat import DJANGO_1_5
from cms.utils.compat.dj import force_unicode, python_2_unicode_compatible
from cms.utils.compat.metaclasses import with_metaclass
from cms.utils.helpers import reversion_register
Expand Down Expand Up @@ -227,10 +226,7 @@ def get_instance_icon_alt(self):

def save(self, no_signals=False, *args, **kwargs):
if no_signals: # ugly hack because of mptt
if DJANGO_1_5:
super(CMSPlugin, self).save_base(cls=self.__class__)
else:
super(CMSPlugin, self).save_base()
super(CMSPlugin, self).save_base()
else:
if not self.depth:
if self.parent_id or self.parent:
Expand Down Expand Up @@ -389,7 +385,7 @@ def num_children(self):

def notify_on_autoadd(self, request, conf):
"""
Method called when we auto add this plugin via default_plugins in
Method called when we auto add this plugin via default_plugins in
CMS_PLACEHOLDER_CONF.
Some specific plugins may have some special stuff to do when they are
auto added.
Expand All @@ -398,10 +394,10 @@ def notify_on_autoadd(self, request, conf):

def notify_on_autoadd_children(self, request, conf, children):
"""
Method called when we auto add children to this plugin via
Method called when we auto add children to this plugin via
default_plugins/<plugin>/children in CMS_PLACEHOLDER_CONF.
Some specific plugins may have some special stuff to do when we add
children to them. ie : TextPlugin must update its content to add HTML
children to them. ie : TextPlugin must update its content to add HTML
tags to be able to see his children in WYSIWYG.
"""
pass
Expand Down
10 changes: 4 additions & 6 deletions cms/plugin_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

from cms.constants import PLUGIN_MOVE_ACTION, PLUGIN_COPY_ACTION
from cms.utils import get_cms_setting
from cms.utils.compat import DJANGO_1_4
from cms.utils.compat.metaclasses import with_metaclass
from cms.utils.placeholder import get_placeholder_conf
from cms.utils.compat.dj import force_unicode, python_2_unicode_compatible
Expand Down Expand Up @@ -237,11 +236,10 @@ def response_add(self, request, obj, **kwargs):
"""
self.object_successfully_changed = True

if not DJANGO_1_4:
post_url_continue = reverse('admin:cms_page_edit_plugin',
args=(obj._get_pk_val(),),
current_app=self.admin_site.name)
kwargs.setdefault('post_url_continue', post_url_continue)
post_url_continue = reverse('admin:cms_page_edit_plugin',
args=(obj._get_pk_val(),),
current_app=self.admin_site.name)
kwargs.setdefault('post_url_continue', post_url_continue)
return super(CMSPluginBase, self).response_add(request, obj, **kwargs)

def log_addition(self, request, obj):
Expand Down
8 changes: 3 additions & 5 deletions cms/templatetags/cms_js_tags.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
# -*- coding: utf-8 -*-
import json
import warnings

from classytags.core import Tag, Options
from cms.utils.encoder import SafeJSONEncoder
from cms.utils.compat import DJANGO_1_4
from django import template
from django.core.serializers.json import DjangoJSONEncoder
from django.utils.text import javascript_quote
from django.utils.safestring import mark_safe
if DJANGO_1_4:
from django.utils import simplejson as json
else:
import json

register = template.Library()


Expand Down
10 changes: 4 additions & 6 deletions cms/test_utils/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import django
from django.utils import six

from cms.utils.compat import DJANGO_1_5, DJANGO_1_6
from cms.utils.compat import DJANGO_1_6


gettext = lambda s: s
Expand Down Expand Up @@ -325,18 +325,16 @@ def configure(db_url, **extra):
'objectpermissionsapp': 'cms.test_utils.project.objectpermissionsapp.migrations',
'mti_pluginapp': 'cms.test_utils.project.mti_pluginapp.migrations',
}
if DJANGO_1_5:
defaults['MIDDLEWARE_CLASSES'].append('django.middleware.transaction.TransactionMiddleware')

if django.VERSION >= (1, 5) and 'AUTH_USER_MODEL' in extra:
if 'AUTH_USER_MODEL' in extra:
custom_user_app = 'cms.test_utils.project.' + extra['AUTH_USER_MODEL'].split('.')[0]
defaults['INSTALLED_APPS'].insert(defaults['INSTALLED_APPS'].index('cms'), custom_user_app)

settings._wrapped = empty
defaults.update(extra)
# add data from env
extra_settings = os.environ.get("DJANGO_EXTRA_SETTINGS", None)

if extra_settings:
from json import load, loads

Expand All @@ -345,7 +343,7 @@ def configure(db_url, **extra):
defaults.update(load(fobj))
else:
defaults.update(loads(extra_settings))

settings.configure(**defaults)
if DJANGO_1_6:
from south.management.commands import patch_for_test_db_setup
Expand Down
7 changes: 3 additions & 4 deletions cms/tests/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
from cms.test_utils.util.context_managers import SettingsOverride
from cms.test_utils.util.fuzzy_int import FuzzyInt
from cms.utils import get_cms_setting
from cms.utils.compat import DJANGO_1_4, DJANGO_1_6
from cms.utils.compat import DJANGO_1_6
from cms.utils.compat.dj import get_user_model, force_unicode


Expand Down Expand Up @@ -1199,8 +1199,7 @@ def test_page_permission_inline_visibility(self):
# => must see the PagePermissionInline
self.assertTrue(
any(type(inline) is PagePermissionInlineAdmin
for inline in page_admin.get_inline_instances(request,
page if not DJANGO_1_4 else None)))
for inline in page_admin.get_inline_instances(request, page)))

page = Page.objects.get(pk=page.pk)
# remove can_change_permission
Expand All @@ -1212,7 +1211,7 @@ def test_page_permission_inline_visibility(self):
# => PagePermissionInline is no longer visible
self.assertFalse(
any(type(inline) is PagePermissionInlineAdmin
for inline in page_admin.get_inline_instances(request, page if not DJANGO_1_4 else None)))
for inline in page_admin.get_inline_instances(request, page)))

def test_edit_title_is_allowed_for_staff_user(self):
"""
Expand Down
6 changes: 1 addition & 5 deletions cms/tests/toolbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
from cms.test_utils.testcases import (SettingsOverrideTestCase,
URL_CMS_PAGE_ADD, URL_CMS_PAGE_CHANGE)
from cms.test_utils.util.context_managers import SettingsOverride, UserLoginContext
from cms.utils.compat import DJANGO_1_4
from cms.utils.conf import get_cms_setting
from cms.utils.urlutils import admin_reverse
from cms.views import details
Expand Down Expand Up @@ -356,8 +355,6 @@ def get_username(self, user=None, default=''):
name = user.get_full_name()
if name:
return name
elif DJANGO_1_4:
return user.username
else:
return user.get_username()
except (AttributeError, NotImplementedError):
Expand Down Expand Up @@ -940,7 +937,7 @@ def test_view_method(self):
response = detail_view(request, ex1.pk, template_string=template_text)
self.assertContains(
response,"'edit_plugin': '/admin/placeholderapp/example1/edit-field/%s/en/" % ex1.pk)

def test_view_url(self):
user = self.get_staff()
page = create_page('Test', 'col_two.html', 'en', published=True)
Expand Down Expand Up @@ -1374,4 +1371,3 @@ def test_item_search_result(self):
result += 2
self.assertEqual(result.item, item)
self.assertEqual(result.index, 4)

11 changes: 2 additions & 9 deletions cms/tests/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from cms.test_utils.testcases import SettingsOverrideTestCase
from cms.test_utils.util.context_managers import SettingsOverride
from cms.test_utils.util.fuzzy_int import FuzzyInt
from cms.utils.compat import DJANGO_1_5
from cms.utils.conf import get_cms_setting
from cms.views import _handle_no_page, details
from menus.menu_pool import menu_pool
Expand Down Expand Up @@ -201,10 +200,7 @@ def test_context_current_page(self):
with SettingsOverride(TEMPLATE_CONTEXT_PROCESSORS=new_context):
with self.assertNumQueries(FuzzyInt(0, 12)) as context:
response = self.client.get("/en/plain_view/")
if DJANGO_1_5:
num_queries = len(context.connection.queries) - context.starting_queries
else:
num_queries = len(context.captured_queries)
num_queries = len(context.captured_queries)
self.assertFalse('CMS_TEMPLATE' in response.context)
cache.clear()
menu_pool.clear()
Expand All @@ -231,10 +227,7 @@ def test_context_current_page(self):
# Baseline number of queries
with self.assertNumQueries(FuzzyInt(13, 17)) as context:
response = self.client.get("/en/page-2/")
if DJANGO_1_5:
num_queries_page = len(context.connection.queries) - context.starting_queries
else:
num_queries_page = len(context.captured_queries)
num_queries_page = len(context.captured_queries)
cache.clear()
menu_pool.clear()

Expand Down

0 comments on commit d6f0dc4

Please sign in to comment.