8000 fix: Remove `can_publish` permission from django CMS 4 core (#7635) · fsbraun/django-cms@844e6dd · GitHub
[go: up one dir, main page]

Skip to content

Commit 844e6dd

Browse files
committed
fix: Remove can_publish permission from django CMS 4 core (django-cms#7635)
* Fix css glitch * Update translations source fill which was missing strings * Fix: Remove can_publish permission * Update _toolbar.scss
1 parent 1b67bda commit 844e6dd

File tree

14 files changed

+32
-74
lines changed

14 files changed

+32
-74
lines changed

cms/admin/forms.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,7 +1099,6 @@ class Meta:
10991099
'can_add',
11001100
'can_change',
11011101
'can_delete',
1102-
'can_publish',
11031102
'can_change_advanced_settings',
11041103
'can_change_permissions',
11051104
'can_move_page',
@@ -1143,7 +1142,6 @@ class Meta:
11431142
'can_add',
11441143
'can_change',
11451144
'can_delete',
1146-
'can_publish',
11471145
'can_change_advanced_settings',
11481146
'can_change_permissions',
11491147
'can_move_page',

cms/admin/permissionadmin.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def get_formset(self, request, obj=None, **kwargs):
8888
"""
8989
Some fields may be excluded here. User can change only
9090
permissions which are available for him. E.g. if user does not haves
91-
can_publish flag, he can't change assign can_publish permissions.
91+
can_change flag, he can't change assign can_change permissions.
9292
"""
9393
exclude = self.exclude or []
9494
if obj:
@@ -97,8 +97,6 @@ def get_formset(self, request, obj=None, **kwargs):
9797
exclude.append('can_add')
9898
if not obj.has_delete_permission(user):
9999
exclude.append('can_delete')
100-
if not obj.has_publish_permission(user):
101-
exclude.append('can_publish')
102100
if not obj.has_advanced_settings_permission(user):
103101
exclude.append('can_change_advanced_settings')
104102
if not obj.has_move_page_permission(user):
@@ -122,8 +120,8 @@ class ViewRestrictionInlineAdmin(PagePermissionInlineAdmin):
122120

123121

124122
class GlobalPagePermissionAdmin(admin.ModelAdmin):
125-
list_display = ['user', 'group', 'can_change', 'can_delete', 'can_publish', 'can_change_permissions']
126-
list_filter = ['user', 'group', 'can_change', 'can_delete', 'can_publish', 'can_change_permissions']
123+
list_display = ['user', 'group', 'can_change', 'can_delete', 'can_change_permissions']
124+
list_filter = ['user', 'group', 'can_change', 'can_delete', 'can_change_permissions']
127125

128126
form = GlobalPagePermissionAdminForm
129127
search_fields = []

cms/api.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ def create_page_user(created_by, user,
488488

489489
def assign_user_to_page(page, user, grant_on=ACCESS_PAGE_AND_DESCENDANTS,
490490
can_add=False, can_change=False, can_delete=False,
491-
can_change_advanced_settings=False, can_publish=False,
491+
can_change_advanced_settings=False, can_publish=None,
492492
can_change_permissions=False, can_move_page=False,
493493
can_recover_page=True, can_view=False,
494494
grant_all=False, global_permission=False):
@@ -507,13 +507,16 @@ def assign_user_to_page(page, user, grant_on=ACCESS_PAGE_AND_DESCENDANTS,
507507
:param can_*: Permissions to grant
508508
:param bool grant_all: Grant all permissions to the user
509509
"""
510+
if can_publish is not None:
511+
warnings.warn('This API function no longer accepts a "can_publish" argument.',
512+
UserWarning, stacklevel=2)
513+
510514
grant_all = grant_all and not global_permission
511515
data = {
512516
'can_add': can_add or grant_all,
513517
'can_change': can_change or grant_all,
514518
'can_delete': can_delete or grant_all,
515519
'can_change_advanced_settings': can_change_advanced_settings or grant_all,
516-
'can_publish': can_publish or grant_all,
517520
'can_change_permissions': can_change_permissions or grant_all,
518521
'can_move_page': can_move_page or grant_all,
519522
'can_view': can_view or grant_all,

cms/cache/permissions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
PERMISSION_KEYS = [
44
'add_page', 'change_page', 'change_page_advanced_settings',
55
'change_page_permissions', 'delete_page', 'move_page',
6-
'publish_page', 'view_page',
6+
'view_page',
77
]
88

99

cms/migrations/0035_auto_20230822_2208.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,22 @@ class Migration(migrations.Migration):
1414
name='pagecontent',
1515
options={'default_permissions': [], 'verbose_name': 'page content', 'verbose_name_plural': 'page contents'},
1616
),
17+
migrations.AlterModelOptions(
18+
name='page',
19+
options={'default_permissions': ('add', 'change', 'delete'), 'permissions': (
20+
('view_page', 'Can view page'), ('edit_static_placeholder', 'Can edit static placeholders')),
21+
'verbose_name': 'page', 'verbose_name_plural': 'pages'},
22+
),
23+
migrations.AlterModelOptions(
24+
name='pagecontent',
25+
options={'default_permissions': [], 'verbose_name': 'page content', 'verbose_name_plural': 'page contents'},
26+
),
27+
migrations.RemoveField(
28+
model_name='globalpagepermission',
29+
name='can_publish',
30+
),
31+
migrations.RemoveField(
32+
model_name='pagepermission',
33+
name='can_publish',
34+
),
1735
]

cms/models/pagemodel.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ class Meta:
192192
default_permissions = ('add', 'change', 'delete')
193193
permissions = (
194194
('view_page', 'Can view page'),
195-
('publish_page', 'Can publish page'),
196195
('edit_static_placeholder', 'Can edit static placeholders'),
197196
)
198197
verbose_name = _('page')
@@ -1001,10 +1000,6 @@ def has_delete_translation_permission(self, user, language):
10011000
from cms.utils.page_permissions import user_can_delete_page_translation
10021001
return user_can_delete_page_translation(user, page=self, language=language)
10031002

1004-
def has_publish_permission(self, user):
1005-
from cms.utils.page_permissions import user_can_publish_page
1006-
return user_can_publish_page(user, page=self)
1007-
10081003
def has_advanced_settings_permission(self, user):
10091004
from cms.utils.page_permissions import (
10101005
user_can_change_page_advanced_settings,

cms/models/permissionmodels.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ class AbstractPagePermission(models.Model):
8484
can_add = models.BooleanField(_("can add"), default=True)
8585
can_delete = models.BooleanField(_("can delete"), default=True)
8686
can_change_advanced_settings = models.BooleanField(_("can change advanced settings"), default=False)
87-
can_publish = models.BooleanField(_("can publish"), default=True)
8887
can_change_permissions = models.BooleanField(
8988
_("can change permissions"), default=False, help_text=_("on page level")
9089
)
@@ -114,11 +113,6 @@ def clean(self):
114113
"to change the page. Edit permissions required.")
115114
raise ValidationError(message)
116115

117-
if self.can_publish:
118-
message = _("Users can't publish a page without permissions "
119-
"to change the page. Edit permissions required.")
120-
raise ValidationError(message)
121-
122116
if self.can_change_advanced_settings:
123117
message = _("Users can't change page advanced settings without permissions "
124118
"to change the page. Edit permissions required.")
@@ -162,7 +156,6 @@ def get_all_permissions(cls):
162156
'can_add',
163157
'can_change',
164158
'can_delete',
165-
'can_publish',
166159
'can_change_advanced_settings',
167160
'can_change_permissions',
168161
'can_move_page',
@@ -182,7 +175,6 @@ def get_permissions_by_action(cls):
182175
'delete_page': ['can_change', 'can_delete'],
183176
'delete_page_translation': ['can_change', 'can_delete'],
184177
'move_page': ['can_change', 'can_move_page'],
185-
'publish_page': ['can_change', 'can_publish'],
186178
'view_page': ['can_view'],
187179
}
188180
return permissions_by_action

cms/templates/admin/cms/page/permissions.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
<td class="can_change">{{ permission.can_change|boolean_icon }}</td>
3939
<td class="can_add">{{ permission.can_add|boolean_icon }}</td>
4040
<td class="can_delete">{{ permission.can_delete|boolean_icon }}</td>
41-
<td class="can_publish">{{ permission.can_publish|boolean_icon }}</td>
4241
<td class="can_change_permissions">{{ permission.can_change_permissions|boolean_icon }}</td>
4342
<td class="can_move_page">{{ permission.can_move_page|boolean_icon }}</td>
4443
<td class="can_view">{{ permission.can_view|boolean_icon }}</td>

cms/test_utils/testcases.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ def add_global_permission(self, user, **kwargs):
121121
'can_change': False,
122122
'can_delete': False,
123123
'can_change_advanced_settings': False,
124-
'can_publish': False,
125124
'can_change_permissions': False,
126125
'can_move_page': False,
127126
'can_recover_page': False,
@@ -139,7 +138,6 @@ def add_page_permission(self, user, page, **kwargs):
139138
'can_change': False,
140139
'can_delete': False,
141140
'can_change_advanced_settings': False,
142-
'can_publish': False,
143141
'can_change_permissions': False,
144142
'can_move_page': False,
145143
'page': page,
@@ -196,7 +194,6 @@ def _add_default_permissions(self, user):
196194
user.user_permissions.add(Permission.objects.get(codename='delete_link'))
197195
user.user_permissions.add(Permission.objects.get(codename='change_link'))
198196
# Page permissions
199-
user.user_permissions.add(Permission.objects.get(codename='publish_page'))
200197
user.user_permissions.add(Permission.objects.get(codename='add_page'))
201198
user.user_permissions.add(Permission.objects.get(codename='change_page'))
202199
user.user_permissions.add(Permission.objects.get(codename='delete_page'))

cms/tests/test_admin.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ def _get_staff_user(self, use_global_permissions=True):
7070
can_change=True,
7171
can_delete=True,
7272
can_change_advanced_settings=False,
73-
can_publish=True,
7473
can_change_permissions=False,
7574
can_move_page=True,
7675
)
@@ -519,7 +518,6 @@ def _give_cms_permissions(self, user, save=True):
519518
can_change=True,
520519
can_delete=True,
521520
can_change_advanced_settings=False,
522-
can_publish=True,
523521
can_change_permissions=False,
524522
can_move_page=True,
525523
)

0 commit comments

Comments
 (0)
0