Skip to content

Commit 32a402b

Browse files
authored
Merge pull request #2863 from TechnologyEnhancedLearning/Develop/Features/TD-4560-ChangetheManageoptionalcompetenciesviewtoallowselectionofcompetenciesbygroup
TD-4560 Change the Manage optional competencies view to allow selection of competencies by group
2 parents 1dc6b01 + f5e3aa1 commit 32a402b

File tree

3 files changed

+42
-14
lines changed

3 files changed

+42
-14
lines changed

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/CompetencyDataService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,8 @@ public IEnumerable<Competency> GetCandidateAssessmentOptionalCompetencies(int se
456456
CG.ID AS CompetencyGroupID,
457457
'Capability' AS Vocabulary,
458458
SAS.Optional,
459-
COALESCE (CAOC.IncludedInSelfAssessment, 0) AS IncludedInSelfAssessment
459+
COALESCE (CAOC.IncludedInSelfAssessment, 0) AS IncludedInSelfAssessment,
460+
SAS.GroupOptionalCompetencies
460461
FROM Competencies AS C
461462
INNER JOIN CandidateAssessments AS CA
462463
ON CA.SelfAssessmentID = @selfAssessmentId AND CA.DelegateUserID = @delegateUserId AND CA.RemovedDate IS NULL

DigitalLearningSolutions.Data/Models/SelfAssessments/Competency.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class Competency
1616
public string CompetencyGroupDescription { get; set; } = string.Empty;
1717
public string? Vocabulary { get; set; }
1818
public bool Optional { get; set; }
19+
public bool GroupOptionalCompetencies { get; set; }
1920
public bool AlwaysShowDescription { get; set; }
2021
public bool IncludedInSelfAssessment { get; set; }
2122
public DateTime? Verified { get; set; }

DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/ManageOptionalCompetencies.cshtml

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -100,21 +100,47 @@ else
100100
<div class="nhsuk-checkboxes">
101101
@foreach (var competency in competencyGroup)
102102
{
103-
<div class="nhsuk-checkboxes__item">
104-
<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">
105-
<label class="nhsuk-label nhsuk-checkboxes__label" for="[email protected]">
106-
@foreach (var flag in competency.CompetencyFlags)
107-
{
108-
<span class="nhsuk-u-padding-right-2 @(ViewData["cssClass"]?.ToString())">
109-
<strong class="nhsuk-tag @flag.FlagTagClass">
110-
@flag.FlagName
111-
</strong>
103+
@if (competency.GroupOptionalCompetencies)
104+
{
105+
<div class="nhsuk-checkboxes__item">
106+
107+
<input data-group="@competencyGroup.Key" class="nhsuk-checkboxes__input select-all-checkbox" id="[email protected]" name="resultChecked" type="checkbox" value="@competency.SelfAssessmentStructureId">
108+
<label class="nhsuk-label nhsuk-checkboxes__label nhsuk-u-font-size-16" for="[email protected]">
109+
<h3 class="nhsuk-details__summary-text nhsuk-u-margin-bottom-0"> @competencyGroup.Key</h3>
110+
</label>
111+
</div>
112+
113+
<details class="nhsuk-details">
114+
<summary class="nhsuk-details__summary nhsuk-u-padding-0">
115+
<span class="nhsuk-u-margin-bottom-0">
116+
<span class="nhsuk-details__summary-text"> &nbsp;&nbsp; What&rsquo;s included in the @competency.CompetencyGroup </span>
112117
</span>
113-
}
118+
</summary>
114119

115-
@competency.Name
116-
</label>
117-
</div>
120+
<div class="nhsuk-details__text nhsuk-u-margin-left-6 nhsuk-u-margin-top-2">
121+
@(Html.Raw(@competency.Name))
122+
</div>
123+
</details>
124+
<br />
125+
}
126+
else
127+
{
128+
<div class="nhsuk-checkboxes__item">
129+
<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">
130+
<label class="nhsuk-label nhsuk-checkboxes__label" for="[email protected]">
131+
@foreach (var flag in competency.CompetencyFlags)
132+
{
133+
<span class="nhsuk-u-padding-right-2 @(ViewData["cssClass"]?.ToString())">
134+
<strong class="nhsuk-tag @flag.FlagTagClass">
135+
@flag.FlagName
136+
</strong>
137+
</span>
138+
}
139+
140+
@competency.Name
141+
</label>
142+
</div>
143+
}
118144
}
119145
</div>
120146
</fieldset>

0 commit comments

Comments
 (0)