8
8
9
9
from cms .toolbar_base import CMSToolbar
10
10
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
12
12
from django .conf import settings
13
13
from django .core .urlresolvers import reverse
14
14
from django .utils .translation import ugettext_lazy as _
@@ -26,6 +26,7 @@ def insert_items(self, items, toolbar, request, is_app):
26
26
if toolbar .is_staff :
27
27
# The 'Admin' Menu
28
28
items .append (self .get_admin_menu ())
29
+ self .get_sites_menu (items )
29
30
if toolbar .request .current_page and is_app :
30
31
has_global_current_page_change_permission = False
31
32
if get_cms_setting ('PERMISSION' ):
@@ -45,6 +46,23 @@ def insert_items(self, items, toolbar, request, is_app):
45
46
items .append (self .get_language_menu ())
46
47
return items
47
48
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
+
48
66
def get_language_menu (self ):
49
67
site = Site .objects .get_current ()
50
68
try :
@@ -84,7 +102,7 @@ def get_page_menu(self, page):
84
102
return []
85
103
86
104
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 ))
88
106
menu_items .items .append (
89
107
Item (reverse ('admin:cms_page_change' , args = [page .pk ]), _ ('Settings' ), load_side_frame = True ))
90
108
menu_items .items .append (Break ())
0 commit comments