Skip to content

Commit ec57870

Browse files
committed
TD-4887- added param 'adminCategaoryId' to GetOtherSupervisorsForCandidate(+) to retrieve Quick Add supervisor based on logged n admin category
1 parent df38a7c commit ec57870

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ int competencyId
9393
// SelfAssessmentSupervisorDataService
9494
SelfAssessmentSupervisor? GetSupervisorForSelfAssessmentId(int selfAssessmentId, int delegateUserId);
9595

96-
IEnumerable<SelfAssessmentSupervisor> GetOtherSupervisorsForCandidate(int selfAssessmentId, int delegateUserId);
96+
IEnumerable<SelfAssessmentSupervisor> GetOtherSupervisorsForCandidate(int selfAssessmentId, int delegateUserId, int? adminCategoryId);
9797

9898
IEnumerable<SelfAssessmentSupervisor> GetAllSupervisorsForSelfAssessmentId(
9999
int selfAssessmentId,

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentSupervisorDataService.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ int delegateUserId
100100

101101
public IEnumerable<SelfAssessmentSupervisor> GetOtherSupervisorsForCandidate(
102102
int selfAssessmentId,
103-
int delegateUserId
103+
int delegateUserId,
104+
int? adminCategoryId
104105
)
105106
{
106107
return connection.Query<SelfAssessmentSupervisor>(
@@ -117,13 +118,15 @@ int delegateUserId
117118
FROM SupervisorDelegates AS sd
118119
INNER JOIN CandidateAssessmentSupervisors AS cas ON sd.ID = cas.SupervisorDelegateId
119120
INNER JOIN CandidateAssessments AS ca ON cas.CandidateAssessmentID = ca.ID
121+
INNER JOIN SelfAssessments AS sa ON ca.SelfAssessmentID = sa.ID
120122
INNER JOIN AdminUsers AS au ON sd.SupervisorAdminID = au.AdminID AND au.Active = 1
121123
INNER JOIN DelegateAccounts da ON sd.DelegateUserID = da.UserID and au.CentreID = da.CentreID and da.Active=1
122124
WHERE (sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (sd.SupervisorAdminID IS NOT NULL) AND (sd.DelegateUserID = @delegateUserId)
123125
AND (au.Supervisor = 1 OR au.NominatedSupervisor = 1) AND (au.Active = 1)
124126
AND (ca.SelfAssessmentID <> @selfAssessmentId)
127+
AND (ISNULL(@adminCategoryId, 0) = 0 OR sa.CategoryID = @adminCategoryId)
125128
ORDER BY SupervisorName",
126-
new { selfAssessmentId, delegateUserId }
129+
new { selfAssessmentId, delegateUserId, adminCategoryId }
127130
);
128131
}
129132

DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -619,13 +619,16 @@ public IActionResult ManageSupervisors(int selfAssessmentId)
619619
return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
620620
}
621621

622+
var adminId = User.GetAdminIdKnownNotNull();
623+
var loggedInAdminUser = userService.GetAdminUserById(adminId);
624+
622625
var supervisors = selfAssessmentService.GetAllSupervisorsForSelfAssessmentId(selfAssessmentId, delegateUserId)
623626
.ToList();
624627
var suggestedSupervisors = new List<SelfAssessmentSupervisor>();
625628
if (assessment.HasDelegateNominatedRoles)
626629
{
627630
suggestedSupervisors = selfAssessmentService
628-
.GetOtherSupervisorsForCandidate(selfAssessmentId, delegateUserId)
631+
.GetOtherSupervisorsForCandidate(selfAssessmentId, delegateUserId, loggedInAdminUser.CategoryId)
629632
.Where(item => supervisors.All(s => !item.SupervisorAdminID.Equals(s.SupervisorAdminID)))
630633
.ToList();
631634
}
@@ -1756,7 +1759,7 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId)
17561759
{
17571760
return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
17581761
}
1759-
if (userId != competencymaindata.LearnerId) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
1762+
if (userId != competencymaindata.LearnerId) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
17601763
var delegateUserId = competencymaindata.LearnerId;
17611764
var competencycount = selfAssessmentService.GetCompetencyCountSelfAssessmentCertificate(candidateAssessmentId);
17621765
var accessors = selfAssessmentService.GetAccessor(competencymaindata.SelfAssessmentID, competencymaindata.LearnerId);

DigitalLearningSolutions.Web/Services/SelfAssessmentService.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ IEnumerable<SelfAssessmentSupervisor> GetAllSupervisorsForSelfAssessmentId(
8585
int delegateUserId
8686
);
8787

88-
IEnumerable<SelfAssessmentSupervisor> GetOtherSupervisorsForCandidate(int selfAssessmentId, int delegateUserId);
88+
IEnumerable<SelfAssessmentSupervisor> GetOtherSupervisorsForCandidate(int selfAssessmentId, int delegateUserId, int? adminCategoryId);
8989

9090
IEnumerable<Administrator> GetValidSupervisorsForActivity(int centreId, int selfAssessmentId, int delegateUserId);
9191

@@ -246,10 +246,11 @@ int delegateUserId
246246

247247
public IEnumerable<SelfAssessmentSupervisor> GetOtherSupervisorsForCandidate(
248248
int selfAssessmentId,
249-
int delegateUserId
249+
int delegateUserId,
250+
int? adminCategoryId
250251
)
251252
{
252-
return selfAssessmentDataService.GetOtherSupervisorsForCandidate(selfAssessmentId, delegateUserId);
253+
return selfAssessmentDataService.GetOtherSupervisorsForCandidate(selfAssessmentId, delegateUserId, adminCategoryId);
253254
}
254255

255256
public IEnumerable<Administrator> GetValidSupervisorsForActivity(

0 commit comments

Comments
 (0)