Skip to content

Commit a37e385

Browse files
authored
Merge pull request #3217 from TechnologyEnhancedLearning/Develop/Fix/TD-5511-View-Edit-link-for-frameworks
TD-5511- The admin userid is used to check the framework owner
2 parents 305f2d5 + 3821eb4 commit a37e385

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

DigitalLearningSolutions.Data/DataServices/FrameworkDataService.cs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,13 +277,22 @@ public class FrameworkDataService : IFrameworkDataService
277277
OwnerAdminID,
278278
(SELECT Forename + ' ' + Surname + (CASE WHEN Active = 1 THEN '' ELSE ' (Inactive)' END) AS Expr1 FROM AdminUsers WHERE (AdminID = FW.OwnerAdminID)) AS Owner,
279279
BrandID,
280-
CategoryID,
280+
FW.CategoryID,
281281
TopicID,
282282
CreatedDate,
283283
PublishStatusID,
284284
UpdatedByAdminID,
285285
(SELECT Forename + ' ' + Surname + (CASE WHEN Active = 1 THEN '' ELSE ' (Inactive)' END) AS Expr1 FROM AdminUsers AS AdminUsers_1 WHERE (AdminID = FW.UpdatedByAdminID)) AS UpdatedBy,
286-
CASE WHEN FW.OwnerAdminID = @adminId THEN 3 WHEN fwc.CanModify = 1 THEN 2 WHEN fwc.CanModify = 0 THEN 1 ELSE 0 END AS UserRole,
286+
CASE
287+
WHEN (aa.UserID = (SELECT UserID FROM AdminAccounts WHERE ID = @adminId)) THEN 3
288+
WHEN (fwc.CanModify = 1) OR
289+
(SELECT COUNT(*)
290+
FROM FrameworkCollaborators fc
291+
JOIN AdminAccounts aa1 ON fc.AdminID = aa1.ID
292+
WHERE fc.FrameworkID = fw.ID
293+
AND fc.CanModify = 1 AND fc.IsDeleted = 0
294+
AND aa1.UserID = (SELECT aa2.UserID FROM AdminAccounts aa2 WHERE aa2.ID = 12842)) > 0 THEN 2
295+
WHEN fwc.CanModify = 0 THEN 1 ELSE 0 END AS UserRole,
287296
fwr.ID AS FrameworkReviewID";
288297

289298
private const string BrandedFrameworkFields =
@@ -304,9 +313,9 @@ FROM CourseTopics
304313
private const string FlagFields = @"fl.ID AS FlagId, fl.FrameworkId, fl.FlagName, fl.FlagGroup, fl.FlagTagClass";
305314

306315
private const string FrameworkTables =
307-
@"Frameworks AS FW LEFT OUTER JOIN
308-
FrameworkCollaborators AS fwc ON fwc.FrameworkID = FW.ID AND fwc.AdminID = @adminId AND COALESCE(IsDeleted, 0) = 0
309-
LEFT OUTER JOIN FrameworkReviews AS fwr ON fwc.ID = fwr.FrameworkCollaboratorID AND fwr.Archived IS NULL AND fwr.ReviewComplete IS NULL";
316+
@"Frameworks AS FW INNER JOIN AdminAccounts AS aa ON aa.ID = fw.OwnerAdminID
317+
LEFT OUTER JOIN FrameworkCollaborators AS fwc ON fwc.FrameworkID = FW.ID AND fwc.AdminID = @adminId AND COALESCE(IsDeleted, 0) = 0
318+
LEFT OUTER JOIN FrameworkReviews AS fwr ON fwc.ID = fwr.FrameworkCollaboratorID AND fwr.Archived IS NULL AND fwr.ReviewComplete IS NULL";
310319

311320
private const string AssessmentQuestionFields =
312321
@"SELECT AQ.ID, AQ.Question, AQ.MinValue, AQ.MaxValue, AQ.AssessmentQuestionInputTypeID, AQI.InputTypeName, AQ.AddedByAdminId, CASE WHEN AQ.AddedByAdminId = @adminId THEN 1 ELSE 0 END AS UserIsOwner, AQ.CommentsPrompt, AQ.CommentsHint";
@@ -707,7 +716,7 @@ FROM [FrameworkCompetencies]
707716
new { competencyId, frameworkCompetencyGroupID }
708717
);
709718
}
710-
if(addDefaultQuestions)
719+
if (addDefaultQuestions)
711720
{
712721
AddDefaultQuestionsToCompetency(competencyId, frameworkId);
713722
}

0 commit comments

Comments
 (0)