Beispiel #1
0
 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()]);
     }
 }
Beispiel #2
0
        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")
                }
            });
        }