Esempio n. 1
0
        private static IEnumerable <PermissionType> FilterParentPermissions(
            UserToken userToken, EntityToken entityToken, IReadOnlyCollection <PermissionType> permissions)
        {
            if (!permissions.Any() ||
                !ElementFacade.IsPerspectiveEntityToken(entityToken))
            {
                return(permissions);
            }

            bool perspectiveVisible = UserPerspectiveFacade.PerspectiveVisible(userToken.Username, entityToken);

            if (perspectiveVisible)
            {
                return(permissions);
            }

            return(GlobalSettingsFacade.InheritGlobalReadPermissionOnHiddenPerspectives
                ? permissions.Where(p => p == PermissionType.Read)
                : Enumerable.Empty <PermissionType>());
        }