public void SetRequestTypesAcl(ISecurityObject project, ISecurityObject organization, ISecurityObject dataMart, ILookup <BigTuple <Guid>, AclEntry> reqAcls) { foreach (var rt in Plugins.GetPluginRequestTypes().Values) { var reqTarget = Sec.Target(project, organization, dataMart, rt.RequestType.AsSecurityObject()); Security.SetAcl(reqTarget, reqAcls[reqTarget.Id()]); } }
public RequestTypesAclModel RequestTypesPrivilegesForEdit(ISecurityObject project, ISecurityObject organization, ISecurityObject dataMart, Func <PluginRequestType, bool> filter = null) { return(new RequestTypesAclModel { Targets = Plugins.GetPluginRequestTypes() .Select(rt => rt.Value) .Where(rt => filter == null || filter(rt)) .Select(rt => Pair.Create(Sec.Target(project, organization, dataMart, rt.RequestType.AsSecurityObject()), rt)), Privileges = new[] { Pair.Create(SecPrivileges.RequestType.SubmitManual, "Manual"), Pair.Create(SecPrivileges.RequestType.SubmitAuto, "Auto") } }); }