Skip to content

Commit 3f800dc

Browse files
committed
Merge branch 'Release-2023.26-Hotfix' into UAT
2 parents 38f161b + b91a58a commit 3f800dc

File tree

10 files changed

+46
-55
lines changed

10 files changed

+46
-55
lines changed

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/CandidateAssessmentsDataService.cs

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,10 @@ public CompetencySelfAssessmentCertificate GetCompetencySelfAssessmentCertificat
348348
LearnerDetails.SelfAssessmentID,
349349
LearnerDetails.Vocabulary,
350350
LearnerDetails.SupervisorDelegateId,
351-
LearnerDetails.FormattedDate
351+
LearnerDetails.FormattedDate,
352+
LearnerDetails.NonReportable
352353
FROM(SELECT casv.ID,
354+
ca.NonReportable,
353355
sa.Name AS SelfAssessment,
354356
Learner.FirstName + ' ' + Learner.LastName AS LearnerName,
355357
Learner.ProfessionalRegistrationNumber AS LearnerPRN,
@@ -430,7 +432,7 @@ LEFT OUTER JOIN SelfAssessmentSupervisorRoles AS sasr
430432
INNER JOIN Users AS u ON U.PrimaryEmail = au.Email
431433
WHERE
432434
(sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (ca.DelegateUserID = @DelegateUserID) AND (ca.SelfAssessmentID = @selfAssessmentId)) Accessor
433-
ORDER BY AccessorPRN DESC",
435+
ORDER BY AccessorName, AccessorPRN DESC",
434436
new { selfAssessmentId, delegateUserID }
435437
);
436438
}
@@ -478,26 +480,5 @@ CandidateAssessmentSupervisorVerifications AS casv INNER JOIN
478480
new { CandidateAssessmentSupervisorVerificationsId }
479481
);
480482
}
481-
public int? GetRoleCount(int candidateAssessmentId)
482-
{
483-
return connection.QueryFirstOrDefault<int?>(
484-
@"SELECT COUNT(sas1.CompetencyID) AS MeetingCount
485-
FROM SelfAssessmentResultSupervisorVerifications AS sasrv INNER JOIN
486-
SelfAssessmentResults AS sar1 ON sasrv.SelfAssessmentResultId = sar1.ID AND sasrv.Superceded = 0 LEFT OUTER JOIN
487-
CompetencyAssessmentQuestionRoleRequirements AS caqrr1 ON sar1.Result = caqrr1.LevelValue AND
488-
sar1.CompetencyID = caqrr1.CompetencyID AND sar1.SelfAssessmentID = caqrr1.SelfAssessmentID AND
489-
sar1.AssessmentQuestionID = caqrr1.AssessmentQuestionID RIGHT OUTER JOIN
490-
SelfAssessmentStructure AS sas1 INNER JOIN
491-
CandidateAssessments AS ca1 ON sas1.SelfAssessmentID = ca1.SelfAssessmentID INNER JOIN
492-
CompetencyAssessmentQuestions AS caq1 ON sas1.CompetencyID = caq1.CompetencyID ON sar1.SelfAssessmentID=sas1.SelfAssessmentID and
493-
sar1.CompetencyID=sas1.CompetencyID AND sar1.AssessmentQuestionID = caq1.AssessmentQuestionID AND sar1.DelegateUserID = ca1.DelegateUserID
494-
LEFT OUTER JOIN CandidateAssessmentOptionalCompetencies AS caoc1 ON sas1.CompetencyID = caoc1.CompetencyID AND sas1.CompetencyGroupID = caoc1.CompetencyGroupID AND ca1.ID = caoc1.CandidateAssessmentID
495-
WHERE (ca1.ID = @CandidateAssessmentId) AND (sas1.Optional = 0) AND (NOT (sar1.Result IS NULL)) AND (sasrv.SignedOff = 1) AND (caqrr1.LevelRAG = 3) OR
496-
(ca1.ID = @candidateAssessmentId) AND (caoc1.IncludedInSelfAssessment = 1) AND (NOT (sar1.Result IS NULL)) AND (sasrv.SignedOff = 1) AND (caqrr1.LevelRAG = 3) OR
497-
(ca1.ID = @candidateAssessmentId) AND (sas1.Optional = 0) AND (NOT (sar1.SupportingComments IS NULL)) AND (sasrv.SignedOff = 1) AND (caqrr1.LevelRAG = 3) OR
498-
(ca1.ID = @candidateAssessmentId) AND (caoc1.IncludedInSelfAssessment = 1) AND (NOT (sar1.SupportingComments IS NULL)) AND (sasrv.SignedOff = 1) AND (caqrr1.LevelRAG = 3)",
499-
new { candidateAssessmentId }
500-
);
501-
}
502483
}
503484
}

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@ int GetSelfAssessmentActivityDelegatesExportCount(string searchString, string so
169169
CompetencySelfAssessmentCertificate GetCompetencySelfAssessmentCertificate(int candidateAssessmentID);
170170
IEnumerable<Accessor> GetAccessor(int selfAssessmentId, int delegateUserID);
171171
ActivitySummaryCompetencySelfAssesment GetActivitySummaryCompetencySelfAssesment(int CandidateAssessmentSupervisorVerificationsId);
172-
int? GetRoleCount(int candidateAssessmentId);
173172
bool IsUnsupervisedSelfAssessment(int selfAssessmentId);
174173
}
175174

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentSupervisorDataService.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ int delegateUserId
7676
{
7777
return connection.Query<SelfAssessmentSupervisor>(
7878
@$"{SelectSelfAssessmentSupervisorQuery}
79-
WHERE (sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (ca.DelegateUserID = @delegateUserId) AND (ca.SelfAssessmentID = @selfAssessmentId)",
79+
WHERE (sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (ca.DelegateUserID = @delegateUserId) AND (ca.SelfAssessmentID = @selfAssessmentId)
80+
ORDER BY SupervisorName",
8081
new { selfAssessmentId, delegateUserId }
8182
);
8283
}
@@ -91,7 +92,8 @@ int delegateUserId
9192
WHERE (sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (sd.DelegateUserID = @delegateUserId)
9293
AND (ca.SelfAssessmentID = @selfAssessmentId) AND (sd.SupervisorAdminID IS NOT NULL)
9394
AND (coalesce(sasr.ResultsReview, 1) = 1)
94-
AND au.Active = 1",
95+
AND au.Active = 1
96+
ORDER BY SupervisorName",
9597
new { selfAssessmentId, delegateUserId }
9698
);
9799
}
@@ -119,7 +121,8 @@ FROM SupervisorDelegates AS sd
119121
INNER JOIN DelegateAccounts da ON sd.DelegateUserID = da.UserID and au.CentreID = da.CentreID and da.Active=1
120122
WHERE (sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (sd.SupervisorAdminID IS NOT NULL) AND (sd.DelegateUserID = @delegateUserId)
121123
AND (au.Supervisor = 1 OR au.NominatedSupervisor = 1) AND (au.Active = 1)
122-
AND (ca.SelfAssessmentID <> @selfAssessmentId)",
124+
AND (ca.SelfAssessmentID <> @selfAssessmentId)
125+
ORDER BY SupervisorName",
123126
new { selfAssessmentId, delegateUserId }
124127
);
125128
}
@@ -144,7 +147,8 @@ int delegateUserId
144147
@$"{SelectSelfAssessmentSupervisorQuery}
145148
WHERE (sd.Removed IS NULL) AND (cas.Removed IS NULL) AND (sd.DelegateUserID = @delegateUserId) AND (ca.SelfAssessmentID = @selfAssessmentId)
146149
AND (sd.SupervisorAdminID IS NOT NULL) AND (coalesce(sasr.SelfAssessmentReview, 1) = 1)
147-
AND (cas.ID NOT IN (SELECT CandidateAssessmentSupervisorID FROM CandidateAssessmentSupervisorVerifications WHERE Verified IS NULL))",
150+
AND (cas.ID NOT IN (SELECT CandidateAssessmentSupervisorID FROM CandidateAssessmentSupervisorVerifications WHERE Verified IS NULL))
151+
ORDER BY SupervisorName",
148152
new { selfAssessmentId, delegateUserId }
149153
);
150154
}
@@ -251,7 +255,8 @@ INNER JOIN CandidateAssessments AS ca
251255
AND (cas.Removed IS NULL)
252256
AND (sd.Removed IS NULL)
253257
)
254-
AND (Supervisor = 1 OR NominatedSupervisor = 1) AND (Active = 1) AND (Email LIKE '%@%')",
258+
AND (Supervisor = 1 OR NominatedSupervisor = 1) AND (Active = 1) AND (Email LIKE '%@%')
259+
ORDER BY Forename, Surname",
255260
new { centreId, selfAssessmentId, delegateUserId }
256261
);
257262
}

DigitalLearningSolutions.Data/Models/SelfAssessments/CompetencySelfAssessmentCertificate.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@ public class CompetencySelfAssessmentCertificate
2626
public string? Vocabulary { get; set; }
2727
public int SupervisorDelegateId { get; set; }
2828
public string FormattedDate { get; set; } = string.Empty;
29+
public bool NonReportable { get; set; }
2930
}
3031
}

DigitalLearningSolutions.Web/Controllers/LearningPortalController/Current.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,6 @@ public IActionResult CompetencySelfAssessmentCertificate(int candidateAssessment
374374
}
375375

376376
var competencycount = selfAssessmentService.GetCompetencyCountSelfAssessmentCertificate(candidateAssessmentId);
377-
var roleCount = selfAssessmentService.GetRoleCount(candidateAssessmentId);
378377
var accessors = selfAssessmentService.GetAccessor(competencymaindata.SelfAssessmentID, competencymaindata.LearnerId);
379378
var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById(delegateUserId, competencymaindata.SelfAssessmentID);
380379
var competencyIds = recentResults.Select(c => c.Id).ToArray();
@@ -413,7 +412,7 @@ public IActionResult CompetencySelfAssessmentCertificate(int candidateAssessment
413412

414413
ViewBag.CompetencySummaries = competencySummaries;
415414
var activitySummaryCompetencySelfAssesment = selfAssessmentService.GetActivitySummaryCompetencySelfAssesment(competencymaindata.Id);
416-
var model = new CompetencySelfAssessmentCertificateViewModel(competencymaindata, competencycount, route, accessors, activitySummaryCompetencySelfAssesment, roleCount);
415+
var model = new CompetencySelfAssessmentCertificateViewModel(competencymaindata, competencycount, route, accessors, activitySummaryCompetencySelfAssesment);
417416
ViewBag.LoggedInSupervisorDelegatesId = supervisorDelegateId;
418417
return View("Current/CompetencySelfAssessmentCertificate", model);
419418
}
@@ -435,7 +434,6 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId)
435434
var delegateUserId = competencymaindata.LearnerId;
436435

437436
var competencycount = selfAssessmentService.GetCompetencyCountSelfAssessmentCertificate(candidateAssessmentId);
438-
var roleCount = selfAssessmentService.GetRoleCount(candidateAssessmentId);
439437
var accessors = selfAssessmentService.GetAccessor(competencymaindata.SelfAssessmentID, competencymaindata.LearnerId);
440438
var activitySummaryCompetencySelfAssesment = selfAssessmentService.GetActivitySummaryCompetencySelfAssesment(competencymaindata.Id);
441439
var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById(delegateUserId, competencymaindata.SelfAssessmentID);
@@ -474,7 +472,7 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId)
474472
};
475473

476474
ViewBag.CompetencySummaries = competencySummaries;
477-
var model = new CompetencySelfAssessmentCertificateViewModel(competencymaindata, competencycount, 1, accessors, activitySummaryCompetencySelfAssesment, roleCount);
475+
var model = new CompetencySelfAssessmentCertificateViewModel(competencymaindata, competencycount, 1, accessors, activitySummaryCompetencySelfAssesment);
478476
var renderedViewHTML = RenderRazorViewToString(this, "Current/DownloadCompetencySelfAssessmentCertificate", model);
479477

480478
var pdfReportResponse = await pdfService.PdfReport(candidateAssessmentId.ToString(), renderedViewHTML, delegateId);

DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ public IActionResult StartAddNewSupervisor(int selfAssessmentId)
639639
User.GetCentreIdKnownNotNull(),
640640
selfAssessmentId,
641641
User.GetUserIdKnownNotNull()
642-
).Select(c => new { c.CentreID, c.CentreName }).Distinct().ToList();
642+
).Select(c => new { c.CentreID, c.CentreName }).Distinct().OrderBy(o => o.CentreName).ToList();
643643

644644
if (distinctSupervisorCentres.Count() > 1)
645645
{
@@ -672,7 +672,7 @@ public IActionResult AddNewSupervisor(int selfAssessmentId,
672672
User.GetCentreIdKnownNotNull(),
673673
selfAssessmentId,
674674
User.GetUserIdKnownNotNull()
675-
).OrderBy(s => s.Forename).ToList();
675+
).ToList();
676676

677677
if (sessionAddSupervisor?.CentreID != null)
678678
{

DigitalLearningSolutions.Web/Services/SelfAssessmentService.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ public int GetSelfAssessmentActivityDelegatesExportCount(string searchString, st
147147
CompetencySelfAssessmentCertificate GetCompetencySelfAssessmentCertificate(int candidateAssessmentID);
148148
IEnumerable<Accessor> GetAccessor(int selfAssessmentId, int delegateUserID);
149149
ActivitySummaryCompetencySelfAssesment GetActivitySummaryCompetencySelfAssesment(int CandidateAssessmentSupervisorVerificationsId);
150-
int? GetRoleCount(int candidateAssessmentId);
151150
bool IsUnsupervisedSelfAssessment(int selfAssessmentId);
152151
}
153152

@@ -537,11 +536,6 @@ public ActivitySummaryCompetencySelfAssesment GetActivitySummaryCompetencySelfAs
537536
{
538537
return selfAssessmentDataService.GetActivitySummaryCompetencySelfAssesment(CandidateAssessmentSupervisorVerificationsId);
539538

540-
}
541-
public int? GetRoleCount(int candidateAssessmentId)
542-
{
543-
return selfAssessmentDataService.GetRoleCount(candidateAssessmentId);
544-
545539
}
546540
public bool IsUnsupervisedSelfAssessment(int selfAssessmentId)
547541
{

DigitalLearningSolutions.Web/ViewModels/LearningPortal/Current/CompetencySelfAssessmentCertificateViewModel.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ public CompetencySelfAssessmentCertificateViewModel()
1414
public CompetencySelfAssessmentCertificateViewModel(CompetencySelfAssessmentCertificate competency,
1515
IEnumerable<CompetencyCountSelfAssessmentCertificate> competencies,
1616
int route, IEnumerable<Accessor> accessors,
17-
ActivitySummaryCompetencySelfAssesment activitySummaryCompetencySelfAssesment,
18-
int? roleCount
17+
ActivitySummaryCompetencySelfAssesment activitySummaryCompetencySelfAssesment
1918
)
2019
{
2120
Route = route;
@@ -24,11 +23,9 @@ public CompetencySelfAssessmentCertificateViewModel(CompetencySelfAssessmentCert
2423
VocabPlural = FrameworkVocabularyHelper.VocabularyPlural(competency.Vocabulary);
2524
Accessors = accessors;
2625
ActivitySummaryCompetencySelfAssesment = activitySummaryCompetencySelfAssesment;
27-
RoleCount = roleCount;
2826
}
2927

3028
public int Route { get; set; }
31-
public int? RoleCount { get; set; }
3229
public string? VocabPlural { get; set; }
3330
public ActivitySummaryCompetencySelfAssesment ActivitySummaryCompetencySelfAssesment { get; set; }
3431
public CompetencySelfAssessmentCertificate CompetencySelfAssessmentCertificates { get; set; }

DigitalLearningSolutions.Web/Views/LearningPortal/Current/CompetencySelfAssessmentCertificate.cshtml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,15 @@
159159
}
160160
</div>
161161

162+
@if (Model.CompetencySelfAssessmentCertificates.NonReportable)
163+
{
164+
<div class="footer">
165+
<p class="nhsuk-body-l nhsuk-u-font-weight-bold">
166+
THIS IS AN EXAMPLE ONLY, GENERATED FROM A TEST SELF ASSESSMENT
167+
</p>
168+
</div>
169+
}
170+
162171
<div class="footer">
163172
<div class="text">
164173
<p class="blue">Certificate generated on @DateTime.Now.ToString("dd/MM/yyyy")</p>
@@ -186,6 +195,10 @@
186195
<div class="body">
187196
<h2>Activity summary report</h2>
188197
<br />
198+
@if (Model.CompetencySelfAssessmentCertificates.NonReportable)
199+
{
200+
<h3>THIS IS AN EXAMPLE ONLY, GENERATED FROM A TEST SELF ASSESSMENT</h3>
201+
}
189202
<div class="activity">
190203
<p><b>Activity: </b>@Model.CompetencySelfAssessmentCertificates.SelfAssessment</p>
191204
</div>
@@ -200,11 +213,6 @@
200213
@sumQuestions
201214
</p>
202215
</div>
203-
<div class="activity">
204-
<p><b>Responses meeting role requirements</b></p> <p>
205-
@Model.RoleCount
206-
</p>
207-
</div>
208216
<div class="activity">
209217
<p><b>Responses confirmed by assessor</b></p> <p>
210218
@sumVerifiedCount

DigitalLearningSolutions.Web/Views/LearningPortal/Current/DownloadCompetencySelfAssessmentCertificate.cshtml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,15 @@
468468
}
469469
</div>
470470

471+
@if (Model.CompetencySelfAssessmentCertificates.NonReportable)
472+
{
473+
<div class="footer">
474+
<p class="nhsuk-body-l nhsuk-u-font-weight-bold">
475+
<b>THIS IS AN EXAMPLE ONLY, GENERATED FROM A TEST SELF ASSESSMENT</b>
476+
</p>
477+
</div>
478+
}
479+
471480
<div class="footer">
472481
<div class="text">
473482
<p class="blue">Certificate generated on @DateTime.Now.ToString("dd/MM/yyyy")</p>
@@ -497,6 +506,10 @@
497506
<div class="body">
498507
<h2>Activity summary report</h2>
499508
<br />
509+
@if (Model.CompetencySelfAssessmentCertificates.NonReportable)
510+
{
511+
<h3>THIS IS AN EXAMPLE ONLY, GENERATED FROM A TEST SELF ASSESSMENT</h3>
512+
}
500513
<div class="activity">
501514
<p><b>Activity: </b>@Model.CompetencySelfAssessmentCertificates.SelfAssessment</p>
502515
</div>
@@ -512,11 +525,6 @@
512525
@sumQuestions
513526
</p>
514527
</div>
515-
<div class="activity">
516-
<p><b>Responses meeting role requirements</b></p> <p>
517-
@Model.RoleCount
518-
</p>
519-
</div>
520528
<div class="activity">
521529
<p><b>Responses confirmed by assessor</b></p> <p>
522530
@sumVerifiedCount

0 commit comments

Comments
 (0)