public CFEntity UpdateEntityAccessGroups(CFEntity entity, EntityAccessDefinitionsViewModel entityAccessVM) { List <CFAccessGroup> accessGroups = new List <CFAccessGroup>(); foreach (var ag in entityAccessVM.SelectedAccessGroups) { CFAccessGroup group = new CFAccessGroup(); //group.AccessGuids = new List<Guid>() { Guid.Parse(ag.userId) }; group.AccessGuid = Guid.Parse(ag.userId); group.AccessDefinition.AccessModes = (AccessMode)ag.AccessModesNum; if (ag.AccessMode != null) { group.AccessDefinition.Name = ag.AccessMode.Substring(0, ag.AccessMode.LastIndexOf("-")); } accessGroups.Add(group); } entity.AccessGroups = accessGroups; entity.BlockInheritance = entityAccessVM.BlockInheritance; // fetch solr entry by cfentity mapped guid SolrNet.SolrQueryResults <Dictionary <string, object> > mapedEntity; mapedEntity = SolrService.SolrOperations.Query("id:" + entity.MappedGuid); mapedEntity.First(); // remove all access entries return(entity); }
public new void SetAccess(Guid guid, AccessMode accessMode, bool isInherited = false) { //XXX Check control permission //User.Identity.IsAuthenticated CFAccessGroup accessGroup = GetAccessGroup(guid); if (accessGroup == null) { base.SetAccess(guid, accessMode, isInherited); } else if (accessGroup.IsInherited == false && isInherited == true) { return; } else { List <CFAccessGroup> accessGroups = AccessGroups.ToList(); accessGroups.Remove(accessGroup); CFAccessGroup newAccessGroup = new CFAccessGroup(); newAccessGroup.IsInherited = isInherited; newAccessGroup.Guid = guid.ToString(); newAccessGroup.AccessDefinition.AccessModes = accessMode; if (accessGroup.IsInherited == true && isInherited == true) { AccessMode inheritedAccessMode = RecalculateInheritedPermissions(guid); newAccessGroup.AccessDefinition.AccessModes |= inheritedAccessMode; } accessGroups.Add(newAccessGroup); AccessGroups = accessGroups; } }
public CFEntity UpdateEntityAccessGroups(CFEntity entity, EntityAccessDefinitionsViewModel entityAccessVM) { List <CFAccessGroup> accessGroups = new List <CFAccessGroup>(); foreach (var ag in entityAccessVM.SelectedAccessGroups) { CFAccessGroup group = new CFAccessGroup(); group.AccessGuids = new List <Guid>() { Guid.Parse(ag.userId) }; group.AccessDefinition.AccessModes = (AccessMode)ag.AccessModesNum; if (ag.AccessMode != null) { group.AccessDefinition.Name = ag.AccessMode.Substring(0, ag.AccessMode.LastIndexOf("-")); } accessGroups.Add(group); } entity.AccessGroups = accessGroups; entity.BlockInheritance = entityAccessVM.BlockInheritance; return(entity); }
public void SetAccess(Guid guid, AccessMode accessMode, bool isInherited = false) { // At this point accessGroup is already part of the AccessGroups list CFAccessGroup accessGroup = GetOrCreateAccess(guid); accessGroup.IsInherited = isInherited; accessGroup.AccessGuid = guid; accessGroup.AccessDefinition.AccessModes = accessMode; }
public CFAccessGroup GetOrCreateAccess(Guid guid) { CFAccessGroup accessGroup = GetAccessGroup(guid); if (accessGroup == null) { accessGroup = new CFAccessGroup(); List <CFAccessGroup> accessGroups = AccessGroups.ToList(); accessGroups.Add(accessGroup); AccessGroups = accessGroups; } return(accessGroup); }
protected AccessMode RecalculateInheritedPermissions(Guid guid) { AccessMode accessMode = AccessMode.None; foreach (CFAggregation parent in ParentMembers) { CFAccessGroup accessGroup = parent.AccessGroups .Where(x => x.Guid == guid.ToString()).FirstOrDefault(); if (accessGroup != null) { accessMode = accessMode | accessGroup.AccessDefinition.AccessModes; } } return(accessMode); }
public void Initialize() { AccessGroup = new CFAccessGroup(); }
protected override void OnSetup() { AccessGroup = new CFAccessGroup(); }