diff --git a/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml b/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml
index a63546665e..d1f4fe94de 100644
--- a/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml
+++ b/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml
@@ -80,11 +80,7 @@
}
@if (Model.SelfAssessment.IsSupervised && Model.CompetencyGroups.Count() > 5)
{
-
+
}
@if ((competencyQuestionsSummary == competencyVerifiedSummary) && (Model.NumberOfSelfAssessedOptionalCompetencies < Model.SelfAssessment.MinimumOptionalCompetencies))
@@ -190,57 +186,7 @@
}
@if (Model.SelfAssessment.IsSupervised)
{
-
-
-
@Model.SelfAssessment.SignOffRoleName Sign-off
-
(int)c["questionsCount"]) == competencySummaries.Sum(c => (int)c["verifiedCount"]) },
- { "IsOngoingSelfAssessment", latestResult > latestSignoff }})" />
- @if (Model.AllQuestionsVerifiedOrNotRequired)
- {
- @if (!Model.SupervisorSignOffs.Any())
- {
- You have not yet requested @Model.SelfAssessment.SignOffRoleName sign-off for this self assessment.
- }
- else if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any() && latestResult > latestSignoff)
- {
-
-
-
- New self assessment results
- New self assessment results
-
-
-
- You have submitted new self assessment results since this self assessment was signed off.
- Please resubmit your self assessment for sign off once these results are confirmed.
-
-
- }
- @if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any()
- && (latestResult > latestSignoff || !signedOff)
- && (Model.NumberOfSelfAssessedOptionalCompetencies >= Model.SelfAssessment.MinimumOptionalCompetencies)
- )
- {
-
- Request @Model.SelfAssessment.SignOffRoleName sign-off
-
- }
- }
- else
- {
-
- All required @Model.SelfAssessment.Vocabulary.ToLower() self-assessments must be completed and confirmed,
- before requesting @Model.SelfAssessment.SignOffRoleName sign off of the @Model.SelfAssessment.Name.
-
- }
-
+
}
diff --git a/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/_SupervisorSignOffPanel.cshtml b/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/_SupervisorSignOffPanel.cshtml
new file mode 100644
index 0000000000..1035780ee8
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/_SupervisorSignOffPanel.cshtml
@@ -0,0 +1,77 @@
+@model DigitalLearningSolutions.Web.ViewModels.LearningPortal.SelfAssessments.SelfAssessmentOverviewViewModel
+@{
+ var latestSignoff = Model.SupervisorSignOffs
+ .Select(s => s.Verified)
+ .DefaultIfEmpty(DateTime.MinValue)
+ .Max();
+ var latestResult = Model.CompetencyGroups
+ .SelectMany(g => g.SelectMany(c => c.AssessmentQuestions))
+ .Select(q => q.ResultDateTime)
+ .DefaultIfEmpty(DateTime.MinValue)
+ .Max();
+ bool signedOff = (from record in Model.SupervisorSignOffs
+ orderby record.ID descending
+ select record.SignedOff).FirstOrDefault();
+ var competencySummaries = from g in Model.CompetencyGroups
+ let questions = g.SelectMany(c => c.AssessmentQuestions).Where(q => q.Required)
+ let selfAssessedCount = questions.Count(q => q.Result.HasValue)
+ let verifiedCount = questions.Count(q => !((q.Result == null || q.Verified == null || q.SignedOff != true) && q.Required))
+ select new ViewDataDictionary(ViewData)
+ {
+ { "isSupervisorResultsReviewed", Model.SelfAssessment.IsSupervisorResultsReviewed },
+ { "questionsCount", questions.Count() },
+ { "selfAssessedCount", selfAssessedCount },
+ { "verifiedCount", verifiedCount }
+ };
+}
+
+
+
@Model.SelfAssessment.SignOffRoleName Sign-off
+
(int)c["questionsCount"]) == competencySummaries.Sum(c => (int)c["verifiedCount"]) },
+ { "IsOngoingSelfAssessment", latestResult > latestSignoff }})" />
+ @if (Model.AllQuestionsVerifiedOrNotRequired)
+ {
+ @if (!Model.SupervisorSignOffs.Any())
+ {
+ You have not yet requested @Model.SelfAssessment.SignOffRoleName sign-off for this self assessment.
+ }
+ else if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any() && latestResult > latestSignoff)
+ {
+
+
+
+ New self assessment results
+ New self assessment results
+
+
+
+ You have submitted new self assessment results since this self assessment was signed off.
+ Please resubmit your self assessment for sign off once these results are confirmed.
+
+
+ }
+ @if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any()
+ && (latestResult > latestSignoff || !signedOff)
+ && (Model.NumberOfSelfAssessedOptionalCompetencies >= Model.SelfAssessment.MinimumOptionalCompetencies)
+ )
+ {
+
+ Request @Model.SelfAssessment.SignOffRoleName sign-off
+
+ }
+ }
+ else
+ {
+
+ All required @Model.SelfAssessment.Vocabulary.ToLower() self-assessments must be completed and confirmed,
+ before requesting @Model.SelfAssessment.SignOffRoleName sign off of the @Model.SelfAssessment.Name.
+
+ }
+