Skip to content

Commit 065f908

Browse files
added if added or change permissions are true
1 parent 387de15 commit 065f908

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

src/djangocms_snippet/cms_toolbars.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,17 @@ def populate(self):
2424
def add_snippet_link_to_admin_menu(self):
2525
admin_menu = self.toolbar.get_or_create_menu(ADMIN_MENU_IDENTIFIER)
2626

27-
url = admin_reverse("djangocms_snippet_snippet_changelist")
27+
url = admin_reverse('djangocms_snippet_snippet_changelist')
2828

29-
admin_menu.add_sideframe_item(
30-
_("Snippets"),
31-
url=url,
32-
position=self.get_insert_position(admin_menu, self.plural_name),
33-
)
29+
add_perm = self.request.user.has_perm('djangocms_snippet.add_snippet')
30+
change_perm = self.request.user.has_perm('djangocms_snippet.change_snippet')
31+
32+
if add_perm or change_perm:
33+
admin_menu.add_sideframe_item(
34+
_("Snippets"),
35+
url=url,
36+
position=self.get_insert_position(admin_menu, self.plural_name),
37+
)
3438

3539
@classmethod
3640
def get_insert_position(cls, admin_menu, item_name):
@@ -47,10 +51,10 @@ def get_insert_position(cls, admin_menu, item_name):
4751
start = admin_menu.find_first(Break, identifier=SHORTCUTS_BREAK)
4852
end = admin_menu.find_first(Break, identifier=ADMINISTRATION_BREAK)
4953

50-
items = admin_menu.get_items()[start.index + 1 : end.index]
54+
items = admin_menu.get_items()[start.index + 1: end.index]
5155
for idx, item in enumerate(items):
5256
try:
53-
if force_str(item_name.lower()) < force_str(item.name.lower()):
57+
if force_str(item_name.lower()) < force_str(item.name.lower()): # noqa: E501
5458
return idx + start.index + 1
5559
except AttributeError:
5660
# Some item types do not have a 'name' attribute.

0 commit comments

Comments
 (0)