8000 Merge pull request #7899 from django-cms/release/4.1.x · django-cms/django-cms@a173588 · GitHub
[go: up one dir, main page]

Skip to content

Commit a173588

Browse files
authored
Merge pull request #7899 from django-cms/release/4.1.x
chore: Merge back release/4.1.x
2 parents 6272761 + 1050c4f commit a173588

Some content is hidden

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

50 files changed

+379
-185
lines changed

CHANGELOG.rst

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,73 @@
1+
4.1.1 (2024-04-30)
2+
==================
3+
4+
Features:
5+
---------
6+
* send post request if toolbar button has `cms-form-post-method` class (bb31ba990) -- Fabian Braun
7+
* Add RTL support to modal header and related components (#7863) (bef004550) -- Moe
8+
* Add RTL support to toolbar (#7871) (92a1086de) -- Moe
9+
* add versioned deprecation warnings (#7750) (545ea1f6d) -- Fabian Braun
10+
* Added new contributor message based on django's own version (#7797) (311af6cf3) -- Mark Walker
11+
12+
Bug Fixes:
13+
----------
14+
* Placeholders must not block deletion of their source objects (ccb2e8b3b) -- Fabian Braun
15+
* structure board on the right for ltr (a4c6ccb68) -- Fabian Braun
16+
* CMS widgets need not load if they are read only (#7880) (fb30434e4) -- Fabian Braun
17+
* some Django antipatterns (#7867) (c436cf45a) -- Jacob Rief
18+
* Redirects to newly created object (#7864) (0b43a43c3) -- Fabian Braun
19+
* `views.details` revealed existence of unpublished language (#7853) (fa7b89cee) -- Fabian Braun
20+
* Render structure view in toolbar object's language (#7846) (d123d118d) -- Fabian Braun
21+
* Add RTL support to pagetree (#7817) (21d6a6def) -- Moe
22+
* 7828, try using uv as pip replacement (#7829) (08463c274) -- Vinit Kumar
23+
* Efficient build menu for versioned and unversioned pages (#7807) (b0f59bb55) -- Fabian Braun
24+
* Delete orphaned plugin management command for django CMS 4 (#7814) (3e635d3db) -- Fabian Braun
25+
* render content in place `redirect_on_fallback` is False (#7781) (e264d0400) -- Moe
26+
* solved issue #7818 (#7819) (087fa3ec7) -- Raffaella
27+
* Port forward #7070 - faster DOM update after editing (#7787) (26b081a31) -- Fabian Braun
28+
* return _handle_no_page when page is None (#7786) (ce8d5d557) -- Moe
29+
* Redirect user to edit url after a successful page creation (#7772) (f290e3d09) -- Moe
30+
* editing of apphooked CMS pages without apphook landing page (#7766) (cd6df846b) -- Philipp S. Sommer
31+
* make messages readable in dark mode, let user close long messages (#7740) (68749cbb3) -- Fabian Braun
32+
* Replace the VCS pip installs with release name in docs (#7755) (10e9b5327) -- sakhawy
33+
* Incorrect commands to migrate database in docs (#7754) (082214be6) -- sakhawy
34+
* Incomplete command to create a virtual env in docs (#7735) (490dffab1) -- Fabian Braun
35+
36+
Statistics:
37+
-----------
38+
39+
This release includes 89 pull requests, and was created with the help of the following contributors (in alphabetical order):
40+
41+
* Aiden-RC (2 pull requests)
42+
* Erdenebat Oyungerel (1 pull request)
43+
* Fabian Braun (37 pull requests)
44+
* Github Release Action (4 pull requests)
45+
* Jacob Rief (4 pull requests)
46+
* Mario Colombo (1 pull request)
47+
* Mark Walker (9 pull requests)
48+
* Miloš Nikić (1 pull request)
49+
* Moe (6 pull requests)
50+
* Philipp S. Sommer (1 pull request)
51+
* Raffaella (1 pull request)
52+
* Vinit Kumar (1 pull request)
53+
* dependabot[bot] (0 pull request)
54+
* sakhawy (2 pull requests)
55+
* sparrow (1 pull request)
56+
57+
With the review help of the following contributors:
58+
59+
* Fabian Braun
60+
* Github Release Action
61+
* Jacob Rief
62+
* Leonardo Cavallucci
63+
* Mario Colombo
64+
* Mark Walker
65+
* Vinit Kumar
66+
* dependabot[bot]
67+
* nichoski
68+
69+
Thanks to all contributors for their efforts!
70+
171
4.1.0 (2023-12-22)
272
==================
373

cms/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
__version__ = '4.1.0'
1+
__version__ = '4.1.1'
22

33
default_app_config = 'cms.apps.CMSConfig'

cms/admin/pageadmin.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -369,11 +369,6 @@ def delete_view(self, request, object_id, extra_context=None):
369369
**get_deleted_objects_additional_kwargs
370370
)
371371

372-
# `django.contrib.admin.utils.get_deleted_objects()` only returns the verbose_name of a model,
373-
# we hence have to use that name in order to allow the deletion of objects otherwise prevented.
374-
perms_needed.discard(Placeholder._meta.verbose_name)
375-
perms_needed.discard(PageContent._meta.verbose_name)
376-
377372
if request.POST and not protected: # The user has confirmed the deletion.
378373
if perms_needed:
379374
raise PermissionDenied
@@ -1263,13 +1258,6 @@ def delete_view(self, request, object_id, extra_context=None):
12631258
list(perms_needed_url) + list(perms_needed_translation) + list(perms_needed_plugins)
12641259
)
12651260

1266-
# This is bad and I should feel bad.
1267-
if 'placeholder' in perms_needed:
1268-
perms_needed.remove('placeholder')
1269-
1270-
if 'page content' in perms_needed:
1271-
perms_needed.remove('page content')
1272-
12731261
if request.method == 'POST':
12741262
if perms_needed:
12751263
raise PermissionDenied

cms/admin/placeholderadmin.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,27 @@ class PlaceholderAdminMixin(metaclass=PlaceholderAdminMixinBase):
192192
class PlaceholderAdmin(admin.ModelAdmin):
193193

194194
def has_add_permission(self, request):
195+
# Placeholders are created by the system
195196
return False
196197

197198
def has_change_permission(self, request, obj=None):
199+
# Placeholders are not editable in the admin
198200
return False
199201

200202
def has_delete_permission(self, request, obj=None):
201-
return False
203+
# Placeholders are deleted by cascading the deletion of their source object
204+
# so we don't need to check for delete permissions here.
205+
return True
202206

203207
def has_module_permission(self, request):
208+
# Do not show in admin
204209
return False
205210

211+
def delete_view(self, request, object_id, extra_context=None):
212+
# Placeholder are deleted by cascading the deletion of their source object
213+
# but the admin's delete view is not available for placeholders.
214+
raise PermissionDenied
215+
206216
def get_urls(self):
207217
"""
208218
Register the plugin specific urls (add/edit/copy/remove/move)

cms/locale/ar/LC_MESSAGES/django.mo

5.92 KB
Binary file not shown.

0 commit comments

Comments
 (0)
0