sitetree/sitetreeapp.py
def check_access(self, item, context):
        """Checks whether a current user has an access to a certain item.

        :param TreeItemBase item:
        :param Context context:
        :rtype: bool
        """
        if hasattr(self.current_request.user.is_authenticated, '__call__'):
            authenticated = self.current_request.user.is_authenticated()
        else:
            authenticated = self.current_request.user.is_authenticated

        if item.access_loggedin and not authenticated:
            return False

        if item.access_guest and authenticated:
            return False

        if item.access_restricted:
            user_perms = self._current_user_permissions

            if user_perms is _UNSET:
                user_perms = set(context['user'].get_all_permissions())
                self._current_user_permissions = user_perms

            if item.access_perm_type == MODEL_TREE_ITEM_CLASS.PERM_TYPE_ALL:
                if len(item.perms) != len(item.perms.intersection(user_perms)):
                    return False
            else:
                if not len(item.perms.intersection(user_perms)):
                    return False

        return True
def check_access(self, item, context):
        if hasattr(self.current_request.user.is_authenticated, '__call__'):
            authenticated = self.current_request.user.is_authenticated()
        else:
            authenticated = self.current_request.user.is_authenticated

        if item.access_loggedin and not authenticated:
            return False

        if item.access_guest and authenticated:
            return False

        if item.access_restricted:
            user_perms = self._current_user_permissions

            if user_perms is _UNSET:
                user_perms = set(context['user'].get_all_permissions())
                self._current_user_permissions = user_perms

            if item.access_perm_type == MODEL_TREE_ITEM_CLASS.PERM_TYPE_ALL:
                if len(item.perms) != len(item.perms.intersection(user_perms)):
                    return False
            else:
                if not len(item.perms.intersection(user_perms)):
                    return False

        return True
def check_access ( self , item , context ) : if hasattr ( self . current_request . user . is_authenticated , '__call__' ) : authenticated = self . current_request . user . is_authenticated ( ) else : authenticated = self . current_request . user . is_authenticated if item . access_loggedin and not authenticated : return False if item . access_guest and authenticated : return False if item . access_restricted : user_perms = self . _current_user_permissions if user_perms is _UNSET : user_perms = set ( context [ 'user' ] . get_all_permissions ( ) ) self . _current_user_permissions = user_perms if item . access_perm_type == MODEL_TREE_ITEM_CLASS . PERM_TYPE_ALL : if len ( item . perms ) != len ( item . perms . intersection ( user_perms ) ) : return False else : if not len ( item . perms . intersection ( user_perms ) ) : return False return True
Checks whether a current user has an access to a certain item.

        :param TreeItemBase item:
        :param Context context:
        :rtype: bool
Checks whether a current user has an access to a certain item .