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 @@ -1538,6 +1538,23 @@ ManageOptionalCompetenciesViewModel model
);
}
}
if (model.GroupOptionalCompetenciesChecked != null)
{
var optionalCompetencies =
selfAssessmentService.GetCandidateAssessmentOptionalCompetencies(selfAssessmentId, delegateUserId);
foreach (var competencyGroup in model.GroupOptionalCompetenciesChecked)
{
var IncludedSelfAssessmentStructureIds = optionalCompetencies.Where(x => x.CompetencyGroup == competencyGroup).Select(x => x.SelfAssessmentStructureId).ToList();
foreach (var selfAssessmentStructureId in IncludedSelfAssessmentStructureIds)
{
selfAssessmentService.UpdateCandidateAssessmentOptionalCompetencies(
selfAssessmentStructureId.Value,
delegateUserId
);
}
}

}

return RedirectToAction("SelfAssessmentOverview", new { selfAssessmentId, vocabulary });
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ public class ManageOptionalCompetenciesViewModel
public CurrentSelfAssessment? SelfAssessment { get; set; }
public IEnumerable<IGrouping<string, Competency>>? CompetencyGroups { get; set; }
public List<int>? IncludedSelfAssessmentStructureIds { get; set; }
public List<string>? GroupOptionalCompetenciesChecked { get; set; }
public string VocabPlural()
{
return FrameworkVocabularyHelper.VocabularyPlural(SelfAssessment.Vocabulary);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
ViewData["SelfAssessmentTitle"] = @Model.SelfAssessment.Name;
var backLinkData = Html.GetRouteValues();
}
<style>
.nhsuk-details__summary-text {
padding: 10px;
}
</style>
@if (ViewBag.FromAddOptionalPage != null)
{
@section breadcrumbs {
Expand Down Expand Up @@ -82,67 +87,97 @@ else
@foreach (var competencyGroup in Model.CompetencyGroups)
{
<fieldset class="nhsuk-fieldset nhsuk-u-margin-bottom-4">
<legend class="nhsuk-fieldset__legend nhsuk-fieldset__legend--l">
<span class="nhsuk-fieldset__heading">
@competencyGroup.Key
</span>
</legend>

@if (competencyGroup.Count() > 1)
{
<div class="nhsuk-grid-row nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-1 js-only-block">
<div class="nhsuk-grid-column-full">
<a class="nhsuk-button select-all-button select-all status-tag nhsuk-u-margin-bottom-1" role="button" data-group="@competencyGroup.Key" name="selectAll" value="true">Select all @Model.VocabPlural().ToLower()</a>
<a class="nhsuk-button select-all-button deselect-all status-tag nhsuk-u-margin-bottom-1" role="button" data-group="@competencyGroup.Key" id="" name="selectAll" value="false">Deselect all @Model.VocabPlural().ToLower()</a>
</div>
</div>
}

<div class="nhsuk-checkboxes">
@foreach (var competency in competencyGroup)
@if (competencyGroup.Any(x => x.GroupOptionalCompetencies))
{
@if (competency.GroupOptionalCompetencies)
{
<div class="nhsuk-checkboxes__item">

<input data-group="@competencyGroup.Key" class="nhsuk-checkboxes__input select-all-checkbox" id="[email protected]" name="resultChecked" type="checkbox" value="@competency.SelfAssessmentStructureId">
<label class="nhsuk-label nhsuk-checkboxes__label nhsuk-u-font-size-16" for="[email protected]">
<h3 class="nhsuk-details__summary-text nhsuk-u-margin-bottom-0"> @competencyGroup.Key</h3>
</label>
</div>

<details class="nhsuk-details">
<summary class="nhsuk-details__summary nhsuk-u-padding-0">
<div class="nhsuk-checkboxes__item">
<input data-group="@competencyGroup.Key" class="nhsuk-checkboxes__input select-all-checkbox" id="[email protected]" name="groupOptionalCompetenciesChecked" checked="@(competencyGroup.Any(x => x.IncludedInSelfAssessment == true) ? true : false)" type="checkbox" value="@competencyGroup.Key">
<label class="nhsuk-label nhsuk-checkboxes__label nhsuk-u-font-size-16" for="[email protected]">
<legend class="nhsuk-fieldset__legend nhsuk-fieldset__legend--l">
<span class="nhsuk-fieldset__heading">
@competencyGroup.Key
</span>
</legend>
</label>
</div>
<details class="nhsuk-details">
<summary class="nhsuk-details__summary nhsuk-u-padding-0">
<h3 class="nhsuk-details__summary-text nhsuk-u-margin-bottom-0">
<span class="nhsuk-u-margin-bottom-0">
<span class="nhsuk-details__summary-text"> &nbsp;&nbsp; What&rsquo;s included in the @competency.CompetencyGroup </span>
<span class="nhsuk-details__summary-text" id="@competencyGroup.Key">
What&rsquo;s included in the @competencyGroup.Key
</span>
</span>
</summary>

<div class="nhsuk-details__text nhsuk-u-margin-left-6 nhsuk-u-margin-top-2">
@(Html.Raw(@competency.Name))
</div>
</details>
<br />
}
else
{
<div class="nhsuk-checkboxes__item">
<input class="nhsuk-checkboxes__input select-all-checkbox" data-group="@competencyGroup.Key" id="[email protected]" name="IncludedSelfAssessmentStructureIds" checked="@(Model.IncludedSelfAssessmentStructureIds != null ? Model.IncludedSelfAssessmentStructureIds.Contains((int)competency.SelfAssessmentStructureId) : false)" type="checkbox" value="@competency.SelfAssessmentStructureId">
<label class="nhsuk-label nhsuk-checkboxes__label" for="[email protected]">
@foreach (var flag in competency.CompetencyFlags)
</h3>
</summary>

<div class="nhsuk-details__text nhsuk-card">
<dl class="nhsuk-summary-list">

@foreach (var competency in competencyGroup)
{
<span class="nhsuk-u-padding-right-2 @(ViewData["cssClass"]?.ToString())">
<strong class="nhsuk-tag @flag.FlagTagClass">
@flag.FlagName
</strong>
</span>
<div class="nhsuk-summary-list__row">
@foreach (var flag in competency.CompetencyFlags)
{
<span class="nhsuk-u-padding-right-2 @(ViewData["cssClass"]?.ToString())">
<strong class="nhsuk-tag @flag.FlagTagClass">
@flag.FlagName
</strong>
</span>
}
<dd class="nhsuk-summary-list__value">
@competency.Name
</dd>
</div>
}
</dl>

@competency.Name
</label>

</div>


</details>
}
else
{
<legend class="nhsuk-fieldset__legend nhsuk-fieldset__legend--l">
<span class="nhsuk-fieldset__heading">
@competencyGroup.Key
</span>
</legend>
<div class="nhsuk-grid-row nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-1 js-only-block">
<div class="nhsuk-grid-column-full">
<a class="nhsuk-button select-all-button select-all status-tag nhsuk-u-margin-bottom-1" role="button" data-group="@competencyGroup.Key" name="selectAll" value="true">Select all @Model.VocabPlural().ToLower()</a>
<a class="nhsuk-button select-all-button deselect-all status-tag nhsuk-u-margin-bottom-1" role="button" data-group="@competencyGroup.Key" id="" name="selectAll" value="false">Deselect all @Model.VocabPlural().ToLower()</a>
</div>
}
</div>
<div class="nhsuk-checkboxes">
@foreach (var competency in competencyGroup)
{
<div class="nhsuk-checkboxes__item">
<input class="nhsuk-checkboxes__input select-all-checkbox" data-group="@competencyGroup.Key" id="[email protected]" name="IncludedSelfAssessmentStructureIds" checked="@(Model.IncludedSelfAssessmentStructureIds != null ? Model.IncludedSelfAssessmentStructureIds.Contains((int)competency.SelfAssessmentStructureId) : false)" type="checkbox" value="@competency.SelfAssessmentStructureId">
<label class="nhsuk-label nhsuk-checkboxes__label" for="[email protected]">
@foreach (var flag in competency.CompetencyFlags)
{
<span class="nhsuk-u-padding-right-2 @(ViewData["cssClass"]?.ToString())">
<strong class="nhsuk-tag @flag.FlagTagClass">
@flag.FlagName
</strong>
</span>
}

@competency.Name
</label>
</div>

}
</div>
}
</div>
}
</fieldset>
}
</nhs-form-group>
Expand Down
Loading