Skip to content

Commit a6e78a2

Browse files
authored
Merge pull request #2877 from TechnologyEnhancedLearning/Develop/Fixes/TD-4333-MakingCourseAdminFieldsOptionalAgain
TD-4333 Making course admin fields optional again
2 parents 30e8a74 + 0ca243d commit a6e78a2

File tree

4 files changed

+53
-53
lines changed

4 files changed

+53
-53
lines changed

DigitalLearningSolutions.Data/Helpers/NewlineSeparatedStringListHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public static string RemoveStringFromNewlineSeparatedList(string list, int index
1717
public static string AddStringToNewlineSeparatedList(string? list, string newItem)
1818
{
1919
var options = list != null ? SplitNewlineSeparatedList(list) : new List<string>();
20-
options.Add(newItem.Trim());
20+
options.Add(newItem?.Trim());
2121
return JoinNewlineSeparatedList(options);
2222
}
2323

DigitalLearningSolutions.Web/ViewModels/TrackingSystem/CourseSetup/AdminFieldAnswersViewModel.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public AdminFieldAnswersViewModel(
2323

2424
public List<string> Options => NewlineSeparatedStringListHelper.SplitNewlineSeparatedList(OptionsString);
2525

26-
[Required(ErrorMessage = "Enter a response")]
2726
[MaxLength(100, ErrorMessage = "Response must be 100 characters or fewer")]
2827
public string? Answer { get; set; }
2928

DigitalLearningSolutions.Web/Views/TrackingSystem/CourseSetup/AdminFields/AddAdminField.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
autocomplete=""
5454
hint-text=""
5555
css-class="nhsuk-u-width-full"
56-
required="true" />
56+
required="false" />
5757
<button name="action" class="nhsuk-button nhsuk-button--secondary" value="@AdminFieldsController.AddPromptAction">Add</button>
5858
</div>
5959
</div>

DigitalLearningSolutions.Web/Views/TrackingSystem/CourseSetup/AdminFields/EditAdminField.cshtml

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -6,65 +6,66 @@
66
<link rel="stylesheet" href="@Url.Content("~/css/shared/cardWithButtons.css")" asp-append-version="true">
77

88
@{
9-
var errorHasOccurred = !ViewData.ModelState.IsValid;
10-
ViewData["Title"] = errorHasOccurred ? "Error: Edit course admin field" : "Edit course admin field";
11-
var cancelLinkData = Html.GetRouteValues();
9+
var errorHasOccurred = !ViewData.ModelState.IsValid;
10+
ViewData["Title"] = errorHasOccurred ? "Error: Edit course admin field" : "Edit course admin field";
11+
var cancelLinkData = Html.GetRouteValues();
1212
}
1313

1414
<div class="nhsuk-grid-row">
15-
<div class="nhsuk-grid-column-full">
16-
@if (errorHasOccurred) {
17-
<vc:error-summary order-of-property-names="@(new []{ nameof(EditAdminFieldViewModel.OptionsString), nameof(EditAdminFieldViewModel.Answer)})" />
18-
}
19-
<h1 class="nhsuk-heading-xl">Edit course admin field</h1>
15+
<div class="nhsuk-grid-column-full">
16+
@if (errorHasOccurred)
17+
{
18+
<vc:error-summary order-of-property-names="@(new []{ nameof(EditAdminFieldViewModel.OptionsString), nameof(EditAdminFieldViewModel.Answer)})" />
19+
}
20+
<h1 class="nhsuk-heading-xl">Edit course admin field</h1>
2021

21-
<form method="post" novalidate asp-action="EditAdminField">
22-
<div class="hidden-submit">
23-
<button name="action" class="nhsuk-button" value="@AdminFieldsController.AddPromptAction" aria-hidden="true" tabindex="-1">Add</button>
24-
</div>
22+
<form method="post" novalidate asp-action="EditAdminField">
23+
<div class="hidden-submit">
24+
<button name="action" class="nhsuk-button" value="@AdminFieldsController.AddPromptAction" aria-hidden="true" tabindex="-1">Add</button>
25+
</div>
2526

26-
<input type="hidden" asp-for="OptionsString" />
27-
<input type="hidden" asp-for="Prompt" />
28-
<input type="hidden" asp-for="PromptNumber" />
27+
<input type="hidden" asp-for="OptionsString" />
28+
<input type="hidden" asp-for="Prompt" />
29+
<input type="hidden" asp-for="PromptNumber" />
2930

30-
<vc:field-name-value-display display-name="Field" field-value="@Model.Prompt" />
31+
<vc:field-name-value-display display-name="Field" field-value="@Model.Prompt" />
3132

32-
@if (string.IsNullOrEmpty(Model.OptionsString))
33-
{
34-
<partial name="_NoConfiguredAnswers" />
35-
}
36-
else
37-
{
38-
<partial name="_AdminFieldAnswerTable" model="Model" />
39-
}
33+
@if (string.IsNullOrEmpty(Model.OptionsString))
34+
{
35+
<partial name="_NoConfiguredAnswers" />
36+
}
37+
else
38+
{
39+
<partial name="_AdminFieldAnswerTable" model="Model" />
40+
}
4041

41-
<div class="nhsuk-grid-row divider">
42-
<div class="nhsuk-grid-column-one-half">
43-
<vc:text-input asp-for="@nameof(Model.Answer)"
44-
label="Add a new response"
45-
populate-with-current-value="true"
46-
type="text"
47-
spell-check="true"
48-
autocomplete=""
49-
hint-text=""
50-
css-class="nhsuk-u-width-full"
51-
required="true" />
52-
<button name="action" class="nhsuk-button nhsuk-button--secondary" value="@AdminFieldsController.AddPromptAction">Add</button>
53-
</div>
54-
</div>
42+
<div class="nhsuk-grid-row divider">
43+
<div class="nhsuk-grid-column-one-half">
44+
<vc:text-input asp-for="@nameof(Model.Answer)"
45+
label="Add a new response"
46+
populate-with-current-value="true"
47+
type="text"
48+
spell-check="true"
49+
autocomplete=""
50+
hint-text=""
51+
css-class="nhsuk-u-width-full"
52+
required="false" />
53+
<button name="action" class="nhsuk-button nhsuk-button--secondary" value="@AdminFieldsController.AddPromptAction">Add</button>
54+
</div>
55+
</div>
5556

56-
<div class="nhsuk-grid-row divider">
57-
<div class="nhsuk-grid-column-one-half">
58-
<p class="nhsuk-label">Want to edit responses in bulk?</p>
59-
<button name="action" class="nhsuk-button nhsuk-button--secondary" value="@AdminFieldsController.BulkAction">Bulk edit</button>
60-
</div>
61-
</div>
57+
<div class="nhsuk-grid-row divider">
58+
<div class="nhsuk-grid-column-one-half">
59+
<p class="nhsuk-label">Want to edit responses in bulk?</p>
60+
<button name="action" class="nhsuk-button nhsuk-button--secondary" value="@AdminFieldsController.BulkAction">Bulk edit</button>
61+
</div>
62+
</div>
6263

63-
<div class="nhsuk-u-margin-bottom-3">
64-
<button name="action" class="nhsuk-button" value="@AdminFieldsController.SaveAction">Save</button>
65-
</div>
66-
</form>
64+
<div class="nhsuk-u-margin-bottom-3">
65+
<button name="action" class="nhsuk-button" value="@AdminFieldsController.SaveAction">Save</button>
66+
</div>
67+
</form>
6768

68-
<vc:cancel-link asp-controller="AdminFields" asp-action="Index" asp-all-route-data="@cancelLinkData" />
69-
</div>
69+
<vc:cancel-link asp-controller="AdminFields" asp-action="Index" asp-all-route-data="@cancelLinkData" />
70+
</div>
7071
</div>

0 commit comments

Comments
 (0)