10000 Removed deprecated code for 3.5 release (#6215) · django-cms/django-cms@d3eb7b9 · GitHub
[go: up one dir, main page]

Skip to content

Commit d3eb7b9

Browse files
authored
Removed deprecated code for 3.5 release (#6215)
Summary: * Renamed menu to menus module * Removed django_load module in favor of django builtin helpers * Removed support for django-reversion * urls and menus attributes are no longer supported on apphook classes * Removed old wizard settings
1 parent 1f78303 commit d3eb7b9

24 files changed

+103
-577
lines changed

cms/api.py

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
calling these methods!
88
"""
99
import datetime
10-
import warnings
1110

1211
from django.contrib.auth import get_user_model
1312
from django.contrib.sites.models import Site
@@ -73,13 +72,6 @@ def _verify_apphook(apphook, namespace):
7372
return apphook_name
7473

7574

76-
def _raise_revision_warning():
77-
warnings.warn('Revision support has been removed from the core.'
78-
'As a result the with_revision parameter is no longer '
79-
'supported and will be removed in version 3.5',
80-
UserWarning)
81-
82-
8375
def _verify_plugin_type(plugin_type):
8476
"""
8577
Verifies the given plugin_type is valid and returns a tuple of
@@ -115,15 +107,12 @@ def create_page(title, template, language, menu_title=None, slug=None,
115107
navigation_extenders=None, published=False, site=None,
116108
login_required=False, limit_visibility_in_menu=constants.VISIBILITY_ALL,
117109
position="last-child", overwrite_url=None,
118-
xframe_options=Page.X_FRAME_OPTIONS_INHERIT, with_revision=None):
110+
xframe_options=Page.X_FRAME_OPTIONS_INHERIT):
119111
"""
120112
Create a CMS Page and it's title for the given language
121113
122114
See docs/extending_cms/api_reference.rst for more info
123115
"""
124-
if with_revision in (True, False):
125-
_raise_revision_warning()
126-
127116
# validate template
128117
if not template == TEMPLATE_INHERITANCE_MAGIC:
129118
assert template in [tpl[0] for tpl in get_cms_setting('TEMPLATES')]
@@ -224,7 +213,7 @@ def create_page(title, template, language, menu_title=None, slug=None,
224213
@transaction.atomic
225214
def create_title(language, title, page, menu_title=None, slug=None,
226215
redirect=None, meta_description=None, parent=None,
227-
overwrite_url=None, with_revision=None, page_title=None, path=None):
216+
overwrite_url=None, page_title=None, path=None):
228217
"""
229218
Create a title.
230219
@@ -238,9 +227,6 @@ def create_title(language, title, page, menu_title=None, slug=None,
238227
# validate language:
239228
assert language in get_language_list(page.site_id)
240229

241-
if with_revision in (True, False):
242-
_raise_revision_warning()
243-
244230
# set default slug:
245231
if not slug:
246232
base = page.get_path_for_slug(slugify(title), language)

cms/app_base.py

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
# -*- coding: utf-8 -*-
2-
import warnings
32

43

54
class CMSApp(object):
65
#: list of urlconfs: example: ``_urls = ["myapp.urls"]``
7-
_urls = None
6+
_urls = []
87
#: list of menu classes: example: ``_menus = [MyAppMenu]``
98
_menus = []
109
#: name of the apphook (required)
@@ -32,22 +31,6 @@ def __new__(cls):
3231
)
3332
)
3433
cls.app_config.cmsapp = cls
35-
# mapping the legacy urls attribute to private attribute
36-
# and exposing the new API
37-
if hasattr(cls, 'urls'):
38-
if not isinstance(cls.urls, property):
39-
cls._urls = cls.urls
40-
cls.urls = cls.legacy_urls
41-
else:
42-
cls.urls = cls.legacy_urls
43-
# mapping the legacy menus attribute to private attribute
44-
# and exposing the new API
45-
if hasattr(cls, 'menus'):
46-
if not isinstance(cls.menus, property):
47-
cls._menus = cls.menus
48-
cls.menus = cls.legacy_menus
49-
else:
50-
cls.menus = cls.legacy_menus
5134
return super(CMSApp, cls).__new__(cls)
5235

5336
def get_configs(self):
@@ -69,14 +52,6 @@ def get_config_add_url(self):
6952
"""
7053
raise NotImplemented('Configurable AppHooks must implement this method')
7154

72-
@property
73-
def legacy_menus(self):
74-
return self._menus
75-
76-
@legacy_menus.setter
77-
def menus(self, value):
78-
self._menus = value
79-
8055
def get_menus(self, page=None, language=None, **kwargs):
8156
"""
8257
Returns the menus for the apphook instance, eventually selected according
@@ -103,17 +78,6 @@ def get_menus(self, page=None, language=None, **kwargs):
10378
"""
10479
return self._menus
10580

106-
@property
107-
def legacy_urls(self):
108-
warnings.warn('Accessing CMSApp.urls directly is deprecated, '
109-
'and it will be removed in version 3.5; CMSApp.get_urls method',
110-
DeprecationWarning)
111-
return self._urls
112-
113-
@legacy_urls.setter
114-
def urls(self, value):
115-
self._urls = value
116-
11781
def get_urls(self, page=None, language=None, **kwargs):
11882
"""
11983
Returns the urlconfs for the apphook instance, eventually selected

cms/apphook_pool.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
import warnings
33

44
from django.core.exceptions import ImproperlyConfigured
5+
from django.utils.module_loading import autodiscover_modules, import_string
56
from django.utils.translation import ugettext as _
67

78
from cms.app_base import CMSApp
89
from cms.exceptions import AppAlreadyRegistered
910
from cms.utils.conf import get_cms_setting
10-
from cms.utils.django_load import load, iterload_objects
1111

1212

1313
class ApphookPool(object):
@@ -52,14 +52,15 @@ def discover_apps(self):
5252
self.apphooks = get_cms_setting('APPHOOKS')
5353

5454
if self.apphooks:
55-
for cls in iterload_objects(self.apphooks):
55+
for path in self.apphooks:
56+
cls = import_string(path)
5657
try:
5758
self.register(cls, discovering_apps=True)
5859
except AppAlreadyRegistered:
5960
pass
6061

6162
else:
62-
load('cms_apps')
63+
autodiscover_modules('cms_apps')
6364

6465
self.discovered = True
6566

cms/models/pagemodel.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
from cms.utils import i18n
2727
from cms.utils.conf import get_cms_setting
2828
from cms.utils.page import get_clean_username
29-
from cms.utils.helpers import reversion_register
3029
from cms.utils.i18n import get_current_language
3130

3231
from menus.menu_pool import menu_pool
@@ -1840,20 +1839,3 @@ def _set_hierarchy(self, nodes, ancestors=None):
18401839

18411840
for child in children:
18421841
child._set_hierarchy(self._descendants, ancestors=([self] + self._ancestors))
1843-
1844-
1845-
def _reversion():
1846-
exclude_fields = [
1847-
'publisher_is_draft',
1848-
'publisher_public',
1849-
'publisher_state',
1850-
]
1851-
1852-
reversion_register(
1853-
Page,
1854-
follow=["title_set", "placeholders", "pagepermission_set"],
1855-
exclude_fields=exclude_fields
1856-
)
1857-
1858-
1859-
_reversion()

cms/models/permissionmodels.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
from cms.models import Page
1313
from cms.models.managers import (PagePermissionManager,
1414
GlobalPagePermissionManager)
15-
from cms.utils.helpers import reversion_register
1615

1716

1817
# Cannot use contrib.auth.get_user_model() at compile time.
@@ -282,6 +281,3 @@ class Meta:
282281
app_label = 'cms'
283282
if (1, 10) <= django.VERSION < (2, 0):
284283
manager_inheritance_from_future = True
285-
286-
287-
reversion_register(PagePermission)

cms/models/placeholdermodel.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
from cms.utils import get_language_from_request
2626
from cms.utils import permissions
2727
from cms.utils.conf import get_cms_setting
28-
from cms.utils.helpers import reversion_register
2928

3029

3130
@python_2_unicode_compatible
@@ -586,6 +585,3 @@ def copy_plugins(self, target_placeholder, language=None, root_plugin=None):
586585
root_plugin=root_plugin,
587586
)
588587
return new_plugins
589-
590-
591-
reversion_register(Placeholder)

cms/models/pluginmodel.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
from cms.exceptions import DontUsePageAttributeWarning
3030
from cms.models.placeholdermodel import Placeholder
3131
from cms.utils.conf import get_cms_setting
32-
from cms.utils.helpers import reversion_register
3332
from cms.utils.urlutils import admin_reverse
3433

3534
from treebeard.mp_tree import MP_Node
@@ -609,9 +608,6 @@ def get_copy_url(self):
609608
return self.placeholder.get_copy_url()
610609

611610

612-
reversion_register(CMSPlugin)
613-
614-
615611
def get_plugin_media_path(instance, filename):
616612
"""
617613
Django requires that unbound function used in fields' definitions to be

cms/models/titlemodels.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from cms.constants import PUBLISHER_STATE_DIRTY
88
from cms.models.managers import TitleManager
99
from cms.models.pagemodel import Page
10-
from cms.utils.helpers import reversion_register
1110

1211

1312
@python_2_unicode_compatible
@@ -177,15 +176,3 @@ def __bool__(self):
177176
@property
178177
def overwrite_url(self):
179178
return None
180-
181-
182-
def _reversion():
183-
exclude_fields = ['publisher_is_draft', 'publisher_public', 'publisher_state']
184-
185-
reversion_register(
186-
Title,
187-
exclude_fields=exclude_fields
188-
)
189-
190-
191-
_reversion()

cms/plugin_pool.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@
88
from django.utils import six
99
from django.utils.encoding import force_text
1010
from django.utils.functional import cached_property
11+
from django.utils.module_loading import autodiscover_modules
1112
from django.utils.translation import get_language, deactivate_all, activate
1213
from django.template import TemplateDoesNotExist, TemplateSyntaxError
1314

1415
from cms.exceptions import PluginAlreadyRegistered, PluginNotRegistered
1516
from cms.plugin_base import CMSPluginBase
1617
from cms.utils.conf import get_cms_setting
17-
from cms.utils.django_load import load
18-
from cms.utils.helpers import reversion_register
19-
from cms.utils.compat.dj import is_installed
2018
from cms.utils.helpers import normalize_name
2119

2220

@@ -44,7 +42,7 @@ def discover_plugins(self):
4442
if get_cms_setting("PAGE_CACHE"):
4543
invalidate_cms_page_cache()
4644

47-
load('cms_plugins')
45+
autodiscover_modules('cms_plugins')
4846
self.discovered = True
4947

5048
def clear(self):
@@ -130,13 +128,6 @@ def register_plugin(self, plugin):
130128

131129
signals.pre_save.connect(pre_save_plugins, sender=plugin.model,
132130
dispatch_uid='cms_pre_save_plugin_%s' % plugin_name)
133-
134-
if is_installed('reversion'):
135-
from cms.utils.reversion_hacks import RegistrationError
136-
try:
137-
reversion_register(plugin.model)
138-
except RegistrationError:
139-
pass
140131
return plugin
141132

142133
def unregister_plugin(self, plugin):

cms/plugin_rendering.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from django.contrib.sites.models import Site
1010
from django.template import Context
1111
from django.utils.functional import cached_property
12+
from django.utils.module_loading import import_string
1213
from django.utils.safestring import mark_safe
1314

1415
from cms.cache.placeholder import get_placeholder_cache, set_placeholder_cache
@@ -19,7 +20,6 @@
1920
)
2021
from cms.utils import get_language_from_request
2122
from cms.utils.conf import get_cms_setting
22-
from cms.utils.django_load import iterload_objects
2323
from cms.utils.permissions import has_plugin_permission
2424
from cms.utils.placeholder import get_toolbar_plugin_struct, restore_sekizai_context
2525
from cms.utils.plugins import get_plugin_restrictions
@@ -444,7 +444,8 @@ def render_plugin(self, instance, context, placeholder=None, editable=False):
444444

445445
content = template.render(context)
446446

447-
for processor in iterload_objects(get_cms_setting('PLUGIN_PROCESSORS')):
447+
for path in get_cms_setting('PLUGIN_PROCESSORS'):
448+
processor = import_string(path)
448449
content = processor(instance, placeholder, content, context)
449450

450451
if editable:
@@ -684,7 +685,8 @@ def __init__(self, dict_, instance, placeholder, processors=None, current_app=No
684685
if not processors:
685686
processors = []
686687

687-
for processor in iterload_objects(get_cms_setting('PLUGIN_CONTEXT_PROCESSORS')):
688+
for path in get_cms_setting('PLUGIN_CONTEXT_PROCESSORS'):
689+
processor = import_string(path)
688690
self.update(processor(instance, placeholder, self))
689691
for processor in processors:
690692
self.update(processor(instance, placeholder, self))

0 commit comments

Comments
 (0)
0