Skip to content

Commit 9cb7184

Browse files
authored
Merge pull request #3009 from TechnologyEnhancedLearning/Develop/Fix/TD-4787-Assessor-role-instead-Educator-manager
TD-4787- Changed role from Educator/Manager to Assessor for nominated supervisors
2 parents 8fcc378 + 11c4522 commit 9cb7184

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
namespace DigitalLearningSolutions.Data.Migrations
2+
{
3+
using FluentMigrator;
4+
5+
[Migration(202412020900)]
6+
public class UpdateCandidateAssessmentSupervisorsTable : ForwardOnlyMigration
7+
{
8+
public override void Up()
9+
{
10+
Execute.Sql($@"UPDATE cas
11+
SET SelfAssessmentSupervisorRoleID = (SELECT ID FROM SelfAssessmentSupervisorRoles
12+
WHERE SelfAssessmentID = ssr.SelfAssessmentID and AllowDelegateNomination = 1)
13+
FROM CandidateAssessmentSupervisors cas INNER JOIN
14+
SelfAssessmentSupervisorRoles ssr ON cas.SelfAssessmentSupervisorRoleID = ssr.ID
15+
AND cas.Removed IS NULL AND ssr.AllowDelegateNomination = 0 INNER JOIN
16+
SupervisorDelegates sd ON cas.SupervisorDelegateId = sd.ID INNER JOIN
17+
AdminAccounts aa ON sd.SupervisorAdminID = aa.ID
18+
WHERE aa.IsSupervisor = 0 AND aa.IsNominatedSupervisor = 1
19+
-- to exclude duplicate CandidateAssessmentID from update
20+
AND cas.CandidateAssessmentID NOT IN (
21+
SELECT CandidateAssessmentID FROM CandidateAssessmentSupervisors WHERE CandidateAssessmentID in (
22+
SELECT Cas2.CandidateAssessmentID
23+
FROM CandidateAssessmentSupervisors cas2 with (nolock) INNER JOIN
24+
SelfAssessmentSupervisorRoles ssr2 with (nolock) ON cas2.SelfAssessmentSupervisorRoleID = ssr2.ID
25+
AND cas2.Removed IS NULL AND ssr2.AllowDelegateNomination = 0 INNER JOIN
26+
SupervisorDelegates sd2 with (nolock) ON cas2.SupervisorDelegateId = sd2.ID INNER JOIN
27+
AdminAccounts aa2 with (nolock) ON sd2.SupervisorAdminID = aa2.ID
28+
WHERE aa2.IsSupervisor = 0 AND aa2.IsNominatedSupervisor = 1
29+
)
30+
GROUP BY CandidateAssessmentID,SupervisorDelegateId
31+
HAVING COUNT(*)>1
32+
)"
33+
);
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)