Skip to content

Commit 091e8f5

Browse files
fsbraunvinitkumar
authored andcommitted
fix: Sites menu was empty in the page tree (#8064)
* Update make-release.yml * Update make-release.yml * Update make-release.yml * Update make-release.yml * Update make-release.yml * Update make-release * Update make-release * fix: `tree.sites` was missing from the page tree context * Undo unwante dchanges * More undo --------- Co-authored-by: Vinit Kumar <mail@vinitkumar.me>
1 parent dd0842a commit 091e8f5

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

cms/admin/pageadmin.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,6 +1100,14 @@ def has_delete_translation_permission(self, request, language, obj=None):
11001100
)
11011101
return has_perm
11021102

1103+
def get_sites_for_user(self, user):
1104+
sites = Site.objects.order_by('name')
1105+
1106+
if not get_cms_setting('PERMISSION') or user.is_superuser:
1107+
return sites
1108+
_has_perm = page_permissions.user_can_change_at_least_one_page
1109+
return [site for site in sites if _has_perm(user, site)]
1110+
11031111
def changelist_view(self, request, extra_context=None):
11041112
from django.contrib.admin.views.main import ERROR_FLAG
11051113

@@ -1172,6 +1180,7 @@ def changelist_view(self, request, extra_context=None):
11721180
'admin': self,
11731181
'tree': {
11741182
'site': site,
1183+
'sites': self.get_sites_for_user(request.user),
11751184
'query': query,
11761185
'is_filtered': changelist_form.is_filtered(),
11771186
'items': pages,

cms/tests/test_admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ def test_tree_view_queries(self):
737737

738738
user = self.get_superuser()
739739
with self.login_user_context(user):
740-
with self.assertNumQueries(6):
740+
with self.assertNumQueries(7):
741741
force_str(self.client.get(self.get_pages_admin_list_uri('en')))
742742

743743
def test_smart_link_pages(self):

0 commit comments

Comments
 (0)