Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,7 @@
}
@if (Model.SelfAssessment.IsSupervised && Model.CompetencyGroups.Count() > 5)
{
<div class="nhsuk-panell competency-group-panel nhsuk-u-padding-4">
<partial name="SelfAssessments/_SelfAssessmentOverallProgress"
model="@competencySummaries"
view-data="@(new ViewDataDictionary(ViewData) { { "IsSupervisorResultsReviewed", Model.SelfAssessment.IsSupervisorResultsReviewed } })" />
</div>
<partial name="SelfAssessments/_SupervisorSignOffPanel" model="Model" />
}
<partial name="_OverviewActionButtons.cshtml" model=Model />
@if ((competencyQuestionsSummary == competencyVerifiedSummary) && (Model.NumberOfSelfAssessedOptionalCompetencies < Model.SelfAssessment.MinimumOptionalCompetencies))
Expand Down Expand Up @@ -190,57 +186,7 @@
}
@if (Model.SelfAssessment.IsSupervised)
{
<div class="nhsuk-panell competency-group-panel nhsuk-u-padding-4">
<partial name="SelfAssessments/_SelfAssessmentOverallProgress"
model="@competencySummaries"
view-data="@(new ViewDataDictionary(ViewData) { { "IsSupervisorResultsReviewed", Model.SelfAssessment.IsSupervisorResultsReviewed } })" />
<h2>@Model.SelfAssessment.SignOffRoleName Sign-off</h2>
<partial name="../../Supervisor/Shared/_SupervisorSignOffSummary.cshtml" model="Model.SupervisorSignOffs"
view-data="@(new ViewDataDictionary(ViewData) { { "IsAllCompetencyConfirmed", competencySummaries.Sum(c => (int)c["questionsCount"]) == competencySummaries.Sum(c => (int)c["verifiedCount"]) },
{ "IsOngoingSelfAssessment", latestResult > latestSignoff }})" />
@if (Model.AllQuestionsVerifiedOrNotRequired)
{
@if (!Model.SupervisorSignOffs.Any())
{
<p class="nhsuk-body-l">You have not yet requested @Model.SelfAssessment.SignOffRoleName sign-off for this self assessment.</p>
}
else if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any() && latestResult > latestSignoff)
{
<div class="nhsuk-warning-callout">
<h3 class="nhsuk-warning-callout__label">
<span role="text">
<span class="nhsuk-u-visually-hidden">New self assessment results</span>
New self assessment results
</span>
</h3>
<p>
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.
</p>
</div>
}
@if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any()
&& (latestResult > latestSignoff || !signedOff)
&& (Model.NumberOfSelfAssessedOptionalCompetencies >= Model.SelfAssessment.MinimumOptionalCompetencies)
)
{
<a class="nhsuk-button nhsuk-button--secondary nhsuk-u-margin-bottom-2"
asp-action="RequestSignOff"
asp-route-vocabulary="@Model.SelfAssessment.Vocabulary"
asp-route-selfAssessmentId="@Model.SelfAssessment.Id"
role="button">
Request @Model.SelfAssessment.SignOffRoleName sign-off
</a>
}
}
else
{
<p class="nhsuk-body-l">
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.
</p>
}
</div>
<partial name="SelfAssessments/_SupervisorSignOffPanel" model="Model" />
}
</div>
</div>
Original file line number Diff line number Diff line change
@@ -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 }
};
}
<div class="nhsuk-panell competency-group-panel nhsuk-u-padding-4">
<partial name="SelfAssessments/_SelfAssessmentOverallProgress"
model="@competencySummaries"
view-data="@(new ViewDataDictionary(ViewData) { { "IsSupervisorResultsReviewed", Model.SelfAssessment.IsSupervisorResultsReviewed } })" />
<h2>@Model.SelfAssessment.SignOffRoleName Sign-off</h2>
<partial name="../../Supervisor/Shared/_SupervisorSignOffSummary.cshtml" model="Model.SupervisorSignOffs"
view-data="@(new ViewDataDictionary(ViewData) { { "IsAllCompetencyConfirmed", competencySummaries.Sum(c => (int)c["questionsCount"]) == competencySummaries.Sum(c => (int)c["verifiedCount"]) },
{ "IsOngoingSelfAssessment", latestResult > latestSignoff }})" />
@if (Model.AllQuestionsVerifiedOrNotRequired)
{
@if (!Model.SupervisorSignOffs.Any())
{
<p class="nhsuk-body-l">You have not yet requested @Model.SelfAssessment.SignOffRoleName sign-off for this self assessment.</p>
}
else if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any() && latestResult > latestSignoff)
{
<div class="nhsuk-warning-callout">
<h3 class="nhsuk-warning-callout__label">
<span role="text">
<span class="nhsuk-u-visually-hidden">New self assessment results</span>
New self assessment results
</span>
</h3>
<p>
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.
</p>
</div>
}
@if (!Model.SupervisorSignOffs.Where(x => x.Verified == null).Any()
&& (latestResult > latestSignoff || !signedOff)
&& (Model.NumberOfSelfAssessedOptionalCompetencies >= Model.SelfAssessment.MinimumOptionalCompetencies)
)
{
<a class="nhsuk-button nhsuk-button--secondary nhsuk-u-margin-bottom-2"
asp-action="RequestSignOff"
asp-route-vocabulary="@Model.SelfAssessment.Vocabulary"
asp-route-selfAssessmentId="@Model.SelfAssessment.Id"
role="button">
Request @Model.SelfAssessment.SignOffRoleName sign-off
</a>
}
}
else
{
<p class="nhsuk-body-l">
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.
</p>
}
</div>
Loading