Skip to content

Commit 7156b71

Browse files
committed
TD-2932-A self-assessment ID check is added when the learner removes the supervisor.
1 parent b0defdf commit 7156b71

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

DigitalLearningSolutions.Data/DataServices/SupervisorService.cs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public interface ISupervisorService
5353
int IsSupervisorDelegateExistAndReturnId(int? supervisorAdminId, string delegateEmail, int centreId);
5454
SupervisorDelegate GetSupervisorDelegateById(int supervisorDelegateId);
5555
void RemoveCandidateAssessmentSupervisorVerification(int id);
56-
bool RemoveDelegateSelfAssessmentsupervisor(int candidateAssessmentId, int supervisorDelegateId);
56+
bool RemoveDelegateSelfAssessmentsupervisor(int candidateAssessmentId, int supervisorDelegateId);
5757
}
5858
public class SupervisorService : ISupervisorService
5959
{
@@ -410,14 +410,7 @@ public bool RemoveSupervisorDelegateById(int supervisorDelegateId, int delegateU
410410
connection.Execute(
411411
@"DELETE FROM sarsv FROM SelfAssessmentResultSupervisorVerifications as sarsv
412412
LEFT JOIN CandidateAssessmentSupervisors AS cas ON cas.ID = sarsv.CandidateAssessmentSupervisorID
413-
WHERE cas.SupervisorDelegateId IN (SELECT sd.ID
414-
FROM SupervisorDelegates sd
415-
JOIN (
416-
SELECT DelegateEmail
417-
FROM SupervisorDelegates
418-
WHERE ID = @supervisorDelegateId
419-
) sds
420-
ON sd.SupervisorEmail = sds.DelegateEmail) AND cas.Removed IS NULL AND sarsv.Verified IS NULL", new { supervisorDelegateId }
413+
WHERE cas.SupervisorDelegateId = @supervisorDelegateId AND cas.Removed IS NULL AND sarsv.Verified IS NULL", new { supervisorDelegateId }
421414
);
422415

423416
var numberOfAffectedRows = connection.Execute(
@@ -866,7 +859,7 @@ ROLLBACK TRANSACTION
866859
if (numberOfAffectedRows < 1)
867860
{
868861
logger.LogWarning(
869-
$"Not removing Candidate Assessment Supervisors as db update failed. candidateAssessmentId: {candidateAssessmentId} " +$"supervisorDelegateId: {supervisorDelegateId}"
862+
$"Not removing Candidate Assessment Supervisors as db update failed. candidateAssessmentId: {candidateAssessmentId} " + $"supervisorDelegateId: {supervisorDelegateId}"
870863
);
871864
return false;
872865
}
@@ -877,7 +870,11 @@ public bool RemoveCandidateAssessmentSupervisor(int selfAssessmentId, int superv
877870
connection.Execute(
878871
@"DELETE FROM sarsv FROM SelfAssessmentResultSupervisorVerifications as sarsv
879872
LEFT JOIN CandidateAssessmentSupervisors AS cas ON cas.ID = sarsv.CandidateAssessmentSupervisorID
880-
WHERE cas.SupervisorDelegateId = @supervisorDelegateId AND cas.Removed IS NULL AND sarsv.Verified IS NULL", new { supervisorDelegateId }
873+
INNER JOIN SelfAssessmentResults AS srs ON sarsv.SelfAssessmentResultId = srs.ID
874+
INNER JOIN SelfAssessments AS sa ON srs.SelfAssessmentID = sa.ID
875+
WHERE cas.SupervisorDelegateId = @supervisorDelegateId
876+
AND cas.Removed IS NULL AND sarsv.Verified IS NULL
877+
AND sa.ID = @selfAssessmentId", new { supervisorDelegateId, selfAssessmentId }
881878
);
882879

883880
var deletedCandidateAssessmentSupervisors = connection.Execute(

0 commit comments

Comments
 (0)