Třídová akce

Popis:
Vrátí seznam omezení pro záložku omezení pro daného uživatele, vrací i globální definice. Výstup (ID, Name, User_ID)
Kód:
1
Tělo:
SELECT
  RD.ID, RD.Name, RD.User_ID, RD.ColDefName, RD.ColDefIsGlobal, RD.VisibilityKind, RD.UniqueID
FROM 
  RestrictionDefinitions RD
WHERE
  (RD.ProgramPoint = :ProgramPoint) AND
  (RD.Kind = :Kind) AND
  (
   ((RD.VisibilityKind = 0) AND (RD.User_ID = :User_ID)) OR
   (RD.VisibilityKind = 1) OR
   ((RD.VisibilityKind = 2) AND
     (exists (
       SELECT S.ID FROM RestrictionSharings S
         LEFT JOIN SecurityUserRoleLinks L ON L.Role_ID = S.VisibleForRole_ID
         where (S.Parent_ID = RD.ID) AND
               ((S.VisibleForUser_ID = :User_ID) OR (L.User_ID = :User_ID))
     ) or exists
       (SELECT S2.ID FROM RestrictionSharings S2
        LEFT JOIN SecurityRoleGroupLinks G ON G.Group_ID = S2.visibleForGroup_ID
        LEFT JOIN SecurityUserRoleLinks L ON L.Role_ID = G.Role_ID
      WHERE
        (S2.Parent_ID = RD.ID) AND
        (L.User_ID = :User_ID)
        )
     )
    )
  ) 
  ORDER BY 
    RD.Name

Generated by ABRA Software a.s. 27.10.2021 16:34:11