Exemplo n.º 1
0
 def test_groupsWithOneOfPermissions(self):
     self.assertItemsEqual(
         utils.groupsWithOneOfPermissions(
             self.user.preferences.GROUPS,
             ['edit_roles', 'edit_staff_configurations']).keys(), [
                 'manager',
                 'team',
                 'cm',
                 'entertainer',
             ])
Exemplo n.º 2
0
_links_for_groups = {}
_links_to_show_first = []

# Retrieve collections and pages that will be in staff dropdown to put them at the right place in order
for collection in collections.values():
    if (collection.navbar_link_list == 'staff'
        and collection.list_view.enabled):
        view_with_permissions = collection.list_view if collection.name != 'badge' else collection.add_view
        if (collection.name != 'staffdetails'
            and (view_with_permissions.permissions_required
                 or view_with_permissions.one_of_permissions_required)):
            groups = []
            if view_with_permissions.permissions_required:
                groups += groupsWithPermissions(_groups_dict, view_with_permissions.permissions_required).keys()
            if view_with_permissions.one_of_permissions_required:
                groups += groupsWithOneOfPermissions(_groups_dict, view_with_permissions.one_of_permissions_required).keys()
            for group in groups:
                if group not in _links_for_groups:
                    _links_for_groups[group] = []
                name = u'{}-{}_list'.format(group, collection.name)
                _links_for_groups[group].append(name)
                navbarAddLink(name, {
                    'title': collection.plural_title,
                    'icon': collection.icon,
                    'image': collection.image,
                    'url': collection.get_list_url(),
                    'show_link_callback': _getPageShowLinkForGroupsLambda(group),
                }, 'staff')
                if u'{}_list'.format(collection.name) in navbar_links['staff']['links']:
                    del(navbar_links['staff']['links'][u'{}_list'.format(collection.name)])
        else:
Exemplo n.º 3
0
_links_for_groups = {}
_links_to_show_first = []

# Retrieve collections and pages that will be in staff dropdown to put them at the right place in order
for collection in collections.values():
    if (collection.navbar_link_list == 'staff'
        and collection.list_view.enabled):
        view_with_permissions = collection.list_view if collection.name != 'badge' else collection.add_view
        if (collection.name != 'staffdetails'
            and (view_with_permissions.permissions_required
                 or view_with_permissions.one_of_permissions_required)):
            groups = []
            if view_with_permissions.permissions_required:
                groups += groupsWithPermissions(_groups_dict, view_with_permissions.permissions_required).keys()
            if view_with_permissions.one_of_permissions_required:
                groups += groupsWithOneOfPermissions(_groups_dict, view_with_permissions.one_of_permissions_required).keys()
            for group in groups:
                if group not in _links_for_groups:
                    _links_for_groups[group] = []
                name = u'{}-{}_list'.format(group, collection.name)
                _links_for_groups[group].append(name)
                navbarAddLink(name, {
                    'title': collection.plural_title,
                    'url': collection.get_list_url(),
                    'show_link_callback': _getPageShowLinkForGroupsLambda(group),
                }, 'staff')
                if u'{}_list'.format(collection.name) in navbar_links['staff']['links']:
                    del(navbar_links['staff']['links'][u'{}_list'.format(collection.name)])
        else:
            _links_to_show_first.append(u'{}_list'.format(collection.name))
for name, pages in ENABLED_PAGES.items():