Skip to content

Commit c9387ba

Browse files
committed
sites menu added
1 parent e1ad250 commit c9387ba

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

cms/cms_toolbar.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from cms.toolbar_base import CMSToolbar
1010
from cms.toolbar_pool import toolbar_pool
11-
from cms.utils.permissions import has_page_change_permission
11+
from cms.utils.permissions import has_page_change_permission, get_user_sites_queryset
1212
from django.conf import settings
1313
from django.core.urlresolvers import reverse
1414
from django.utils.translation import ugettext_lazy as _
@@ -26,6 +26,7 @@ def insert_items(self, items, toolbar, request, is_app):
2626
if toolbar.is_staff:
2727
# The 'Admin' Menu
2828
items.append(self.get_admin_menu())
29+
self.get_sites_menu(items)
2930
if toolbar.request.current_page and is_app:
3031
has_global_current_page_change_permission = False
3132
if get_cms_setting('PERMISSION'):
@@ -45,6 +46,23 @@ def insert_items(self, items, toolbar, request, is_app):
4546
items.append(self.get_language_menu())
4647
return items
4748

49+
def get_sites_menu(self, items):
50+
if get_cms_setting('PERMISSION'):
51+
sites = get_user_sites_queryset(self.request.user)
52+
else:
53+
sites = Site.objects.all()
54+
if len(sites) > 1:
55+
menu_items = List("#", _("Sites"))
56+
menu_items.items.append(
57+
Item(reverse("admin:sites_site_changelist"), _("Admin Sites"), load_side_frame=True))
58+
menu_items.items.append(Break())
59+
items.append(menu_items)
60+
current_site = Site.objects.get_current()
61+
for site in sites:
62+
menu_items.items.append(
63+
Item("http://%s" % site.domain, site.name, load_modal=False,
64+
active=site.pk == current_site.pk))
65+
4866
def get_language_menu(self):
4967
site = Site.objects.get_current()
5068
try:
@@ -84,7 +102,7 @@ def get_page_menu(self, page):
84102
return []
85103

86104
menu_items = List(reverse("admin:cms_page_change", args=[page.pk]), _("Page"))
87-
menu_items.items.append(Item("?edit", _('Edit Page'), disabled=self.toolbar.edit_mode))
105+
menu_items.items.append(Item("?edit", _('Edit Page'), disabled=self.toolbar.edit_mode, load_modal=False))
88106
menu_items.items.append(
89107
Item(reverse('admin:cms_page_change', args=[page.pk]), _('Settings'), load_side_frame=True))
90108
menu_items.items.append(Break())

0 commit comments

Comments
 (0)