Skip to content

Commit 70b21fe

Browse files
authored
Merge pull request django-cms#5992 from vxsx/bugfix/slugs-in-wizard-backport-3.4.x
Added slug generation to the wizard as well
2 parents 85f3da1 + 5ac8729 commit 70b21fe

20 files changed

+315
-250
lines changed

CHANGELOG.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
=== 3.4.5 (unreleased) ===
2+
3+
* Fixed a bug where slug wouldn't be generated in the creation wizard
4+
5+
16
=== 3.4.4 (unreleased) ===
27

38
* Fixed a bug in which cancelling the publishing dialog wasn't respected.

cms/forms/wizards.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
user_can_add_subpage,
2323
)
2424
from cms.utils.conf import get_cms_setting
25+
from cms.utils.urlutils import static_with_version
2526

2627
try:
2728
# djangocms_text_ckeditor is not guaranteed to be available
@@ -41,6 +42,16 @@ class Media:
4142
'cms/js/widgets/wizard.pagetypeselect.js',
4243
)
4344

45+
class SlugWidget(forms.widgets.TextInput):
46+
"""
47+
Special widget for the slug field that requires Title field to be there.
48+
Adds the js for the slugifying.
49+
"""
50+
class Media:
51+
js = (
52+
'admin/js/urlify.js',
53+
static_with_version('cms/js/dist/bundle.forms.slugwidget.min.js'),
54+
)
4455

4556
class BaseCMSPageForm(forms.Form):
4657
page = None
@@ -50,7 +61,8 @@ class BaseCMSPageForm(forms.Form):
5061
help_text=_(u"Provide a title for the new page."))
5162
slug = forms.SlugField(
5263
label=_(u'Slug'), max_length=255, required=False,
53-
help_text=_(u"Leave empty for automatic slug, or override as required.")
64+
help_text=_(u"Leave empty for automatic slug, or override as required."),
65+
widget=SlugWidget()
5466
)
5567
page_type = forms.ChoiceField(
5668
label=_(u'Page type'), required=False, widget=PageTypeSelect())

cms/static/cms/js/dist/3.4.3/bundle.forms.slugwidget.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.3/bundle.toolbar.min.js

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.4/bundle.admin.base.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.4/bundle.admin.changeform.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.4/bundle.admin.pagetree.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.4/bundle.admin.widget.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.4/bundle.forms.apphookselect.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cms/static/cms/js/dist/3.4.4/bundle.forms.pageselectwidget.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)