Skip to content

Commit aaf8d95

Browse files
author
Auldrin Possa
committed
TD-5511-GetAdminUserRoleForFrameworkId(+) query modified to get admin user role.
1 parent b395ce1 commit aaf8d95

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

DigitalLearningSolutions.Data/DataServices/FrameworkDataService.cs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1882,9 +1882,20 @@ FROM Competencies AS C INNER JOIN
18821882
public int GetAdminUserRoleForFrameworkId(int adminId, int frameworkId)
18831883
{
18841884
return connection.QuerySingle<int>(
1885-
@"SELECT CASE WHEN FW.OwnerAdminID = @adminId THEN 3 WHEN COALESCE (fwc.CanModify, 0) = 1 THEN 2 WHEN COALESCE (fwc.CanModify, 0) = 0 THEN 1 ELSE 0 END AS UserRole
1886-
FROM Frameworks AS FW LEFT OUTER JOIN
1887-
FrameworkCollaborators AS fwc ON fwc.FrameworkID = FW.ID AND fwc.AdminID = @adminId AND fwc.IsDeleted = 0
1885+
@"SELECT CASE
1886+
WHEN (aa.UserID = (SELECT UserID FROM AdminAccounts WHERE ID = @adminId)) THEN 3
1887+
WHEN (fwc.CanModify = 1) OR
1888+
(SELECT COUNT(*)
1889+
FROM FrameworkCollaborators fc
1890+
JOIN AdminAccounts aa1 ON fc.AdminID = aa1.ID
1891+
WHERE fc.FrameworkID = fw.ID
1892+
AND fc.CanModify = 1 AND fc.IsDeleted = 0
1893+
AND aa1.UserID = (SELECT aa2.UserID FROM AdminAccounts aa2 WHERE aa2.ID = @adminId)) > 0 THEN 2
1894+
WHEN fwc.CanModify = 0 THEN 1 ELSE 0
1895+
END AS UserRole
1896+
FROM Frameworks AS FW INNER JOIN
1897+
AdminAccounts AS aa ON aa.ID = fw.OwnerAdminID LEFT OUTER JOIN
1898+
FrameworkCollaborators AS fwc ON fwc.FrameworkID = FW.ID AND fwc.AdminID = @adminId AND fwc.IsDeleted = 0
18881899
WHERE (FW.ID = @frameworkId)",
18891900
new { adminId, frameworkId }
18901901
);

0 commit comments

Comments
 (0)