示例#1
0
 private PermissionUpdateModel(
     IntranetMemberGroup group,
     PermissionSettingValues settingValues,
     PermissionSettingIdentity settingIdentity)
 {
     Group           = group;
     SettingIdentity = settingIdentity;
     SettingValues   = settingValues;
 }
        private static PermissionUpdateModel CreatePermission(
            IntranetMemberGroup group,
            Resource resource,
            PermissionActionEnum action,
            bool allowed = true, bool enabled = true)
        {
            var identity = new PermissionSettingIdentity(action, resource);
            var settings = new PermissionSettingValues(allowed, enabled);

            return(new PermissionUpdateModel(group, settings, identity));
        }
        private static IEnumerable <PermissionUpdateModel> SetupUiUserMemberGroup(IntranetMemberGroup group)
        {
            yield return(CreatePermission(group, Resource.Social, PermissionActionEnum.View));

            yield return(CreatePermission(group, Resource.Social, PermissionActionEnum.Create));

            yield return(CreatePermission(group, Resource.Social, PermissionActionEnum.Edit));

            yield return(CreatePermission(group, Resource.Social, PermissionActionEnum.Delete));

            yield return(CreatePermission(group, Resource.Events, PermissionActionEnum.View));

            yield return(CreatePermission(group, Resource.News, PermissionActionEnum.View));
        }
示例#4
0
        private static IEnumerable <PermissionUpdateModel> SetupUiUserMemberGroup(IntranetMemberGroup group)
        {
            yield return(CreatePermission(group, Resource.Bulletins, View));

            yield return(CreatePermission(group, Resource.Bulletins, Create));

            yield return(CreatePermission(group, Resource.Bulletins, Edit));

            yield return(CreatePermission(group, Resource.Bulletins, Delete));

            yield return(CreatePermission(group, Resource.Events, View));

            yield return(CreatePermission(group, Resource.News, View));
        }
示例#5
0
        private static IEnumerable <PermissionUpdateModel> SetupWebMasterMemberGroup(IntranetMemberGroup group)
        {
            yield return(CreatePermission(group, PermissionResourceTypeEnum.Social, PermissionActionEnum.View));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Social, PermissionActionEnum.Create));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Social, PermissionActionEnum.Edit));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Social, PermissionActionEnum.Delete));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Social, PermissionActionEnum.EditOther));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Social, PermissionActionEnum.DeleteOther));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.View));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.Create));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.Edit));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.Hide));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.HideOther));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.EditOther));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Events, PermissionActionEnum.EditOwner));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.News, PermissionActionEnum.View));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.News, PermissionActionEnum.Create));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.News, PermissionActionEnum.Edit));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.News, PermissionActionEnum.EditOther));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.News, PermissionActionEnum.EditOwner));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Groups, PermissionActionEnum.Create));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Groups, PermissionActionEnum.Edit));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Groups, PermissionActionEnum.Hide));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Groups, PermissionActionEnum.HideOther));

            yield return(CreatePermission(group, PermissionResourceTypeEnum.Groups, PermissionActionEnum.EditOther));
        }
示例#6
0
        public async Task <IEnumerable <PermissionManagementModel> > GetForGroupAsync(IntranetMemberGroup group)
        {
            var storedPerms = (await CurrentCacheAsync)
                              .Where(i => i.Group.Id == group.Id)
                              .ToDictionary(permission => permission.SettingIdentity, permission => permission.SettingValues);

            var settings = _permissionSettingsSchema
                           .Settings
                           .Select(settingSchema =>
            {
                var settingValues = storedPerms.ItemOrDefault(settingSchema.SettingIdentity)
                                    ?? _permissionSettingsSchema.GetDefault(settingSchema.SettingIdentity);

                return(new PermissionManagementModel(group, settingSchema, settingValues));
            });

            return(settings);
        }
 public bool Equals(IntranetMemberGroup other) =>
 !(other is null) && Id == other.Id;
示例#8
0
 public static PermissionUpdateModel Of(
     IntranetMemberGroup group,
     PermissionSettingValues settingValues,
     PermissionSettingIdentity identity) =>
 new PermissionUpdateModel(group, settingValues, identity);