+
Manage content and settings across the whole system.
-
-
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/FrameworkPrintLayout.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/FrameworkPrintLayout.cshtml
new file mode 100644
index 0000000000..7d69325447
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/FrameworkPrintLayout.cshtml
@@ -0,0 +1,129 @@
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks;
+@model FrameworkViewModel;
+@{
+ ViewData["Title"] = Model.DetailFramework.FrameworkName;
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ int groupNum = 0;
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+
+
+ @Model.DetailFramework.FrameworkName
+
+ @if (!String.IsNullOrEmpty(Model.DetailFramework.Description.Trim()))
+ {
+
+
+
+ Framework description
+
+
+
+ @(Html.Raw(Model.DetailFramework.Description))
+
+
+
+ }
+
Framework @Model.VocabPlural().ToLower()
+
+ @if (Model.FrameworkCompetencyGroups != null)
+ {
+ if (Model.FrameworkCompetencyGroups.Any())
+ {
+ @foreach (var frameworkCompetencyGroup in Model.FrameworkCompetencyGroups)
+ {
+ if (frameworkCompetencyGroup.FrameworkCompetencies.Count() > 0)
+ {
+ groupNum++;
+
@frameworkCompetencyGroup.Name
+ if (frameworkCompetencyGroup.Description != null)
+ {
+
+ @frameworkCompetencyGroup.Description
+
+ }
+
+ int compNum = 0;
+ if (frameworkCompetencyGroup.FrameworkCompetencies[0] != null)
+ {
+
+
+
+ |
+ @Model.VocabSingular()
+ |
+
+ Date and Signature
+ |
+
+
+
+ @foreach (var frameworkCompetency in frameworkCompetencyGroup.FrameworkCompetencies)
+ {
+ compNum++;
+
+ |
+ @frameworkCompetency.Name
+
+
+ @if (frameworkCompetency.Description != null)
+ {
+
+ @Html.Raw(frameworkCompetency.Description)
+
+ }
+ |
+
+ |
+
+ }
+
+
+ }
+ }
+ }
+ }
+ }
+ @if (Model.FrameworkCompetencies != null)
+ {
+ if (Model.FrameworkCompetencies.Any())
+ {
+ groupNum++;
+ int compNum = 0;
+
Ungrouped @Model.VocabPlural().ToLower()
+ foreach (var frameworkCompetency in Model.FrameworkCompetencies)
+ {
+ compNum++;
+
+
@frameworkCompetency.Name
+
+ @if (frameworkCompetency.Description != null)
+ {
+
+ @Html.Raw(frameworkCompetency.Description)
+
+ }
+
+ }
+ }
+ }
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/AddAssessmentQuestions.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/AddAssessmentQuestions.cshtml
new file mode 100644
index 0000000000..9e6c443d05
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/AddAssessmentQuestions.cshtml
@@ -0,0 +1,105 @@
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+
+@model AddAssessmentQuestionsViewModel
+
+@{
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ var checkListErrorClass = !ViewData.ModelState.IsValid && Model.AddDefaultAssessmentQuestions == null ? "nhsuk-form-group nhsuk-form-group--error" : "nhsuk-form-group";
+ ViewData["Title"] = errorHasOccurred ? "Error: Add Assessment Questions" : "Add Assessment Questions";
+ var cancelLinkData = Html.GetRouteValues();
+ var hintTextString = Model.NewCompetencies != 0 && Model.ExistingCompetencies != 0 ? "new and/or updated " : (Model.NewCompetencies == 0 ? "updated " : "new ");
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+
+ @if (errorHasOccurred)
+ {
+
+ }
+
+
+
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/AddQuestionsToWhichCompetencies.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/AddQuestionsToWhichCompetencies.cshtml
new file mode 100644
index 0000000000..8e3b9ebdf9
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/AddQuestionsToWhichCompetencies.cshtml
@@ -0,0 +1,87 @@
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+
+@model AddQuestionsToWhichCompetenciesViewModel
+
+@{
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ ViewData["Title"] = errorHasOccurred ? "Error: Add Assessment Questions" : "Add Assessment Questions";
+ var cancelLinkData = Html.GetRouteValues();
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ApplyCompetencyOrdering.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ApplyCompetencyOrdering.cshtml
new file mode 100644
index 0000000000..be6ac9cb3d
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ApplyCompetencyOrdering.cshtml
@@ -0,0 +1,80 @@
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+
+@model ApplyCompetencyOrderingViewModel
+
+@{
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ ViewData["Title"] = errorHasOccurred ? "Error: Add Assessment Questions" : "Add Assessment Questions";
+ var cancelLinkData = Html.GetRouteValues();
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportCompleted.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportCompleted.cshtml
new file mode 100644
index 0000000000..3a5cd7aa8d
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportCompleted.cshtml
@@ -0,0 +1,98 @@
+@inject IConfiguration Configuration
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+@using Microsoft.Extensions.Configuration
+@model ImportCompetenciesPreProcessViewModel
+@{
+ ViewData["Title"] = "Framework - Import Competencies";
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ var cancelLinkData = Html.GetRouteValues();
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+
@Model.FrameworkVocabularySingular file uploaded
+
+
@(Model.ErrorCount == 0 ? "Your file is error free and ready to be processed. Check the information below looks, correct before processing" : "Your file contains the following, including some errors:")
+
+ - @Model.ToProcessCount @(Model.ToProcessCount == 1 ? "row" : "rows") uploaded
+ @if (Model.ErrorCount > 0)
+ {
+ - @Model.ErrorCount @(Model.ErrorCount == 1 ? "row" : "rows") containing errors that cannot be processed
+ }
+ else
+ {
+ - @Model.CompetenciesToAddCount new @(Model.CompetenciesToAddCount == 1 ? Model.FrameworkVocabularySingular.ToLower() : Model.FrameworkVocabularyPlural.ToLower()) to add
+ - @Model.ToUpdateOrSkipCount @Model.FrameworkVocabularySingular.ToLower() @(Model.ToUpdateOrSkipCount == 1 ? "record" : "records") to update (or skip if unchanged)
+ - In @Model.CompetencyGroupCount @Model.FrameworkVocabularySingular.ToLower() groups
+ - With @Model.FlagCount flags assigned to @Model.FrameworkVocabularyPlural.ToLower() (@Model.DistinctFlagsCount distinct flags)
+ @if (Model.CompetenciesToReorderCount > 0)
+ {
+
+ -
+ Some existing @Model.FrameworkVocabularySingular.ToLower() @(Model.CompetenciesToReorderCount == 1 ? "record" : "records") have changed sequence in your uploaded sheet. You can choose whether to fix them in the new order next.
+
+ }
+ - No errors
+ }
+
+ @if (Model.ErrorCount == 0)
+ {
+
Continue
+ }
+ else
+ {
+
Check the information below. You will need to fix these errors before continuing or remove the rows with errors from your spreadsheet:
+
+
Upload corrected file
+
+ Once you have made corrections to the Excel competency workbook to address the errors above, save and restart the upload process.
+
+
+ }
+
+
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportFailed.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportFailed.cshtml
new file mode 100644
index 0000000000..a99c9ff5bd
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportFailed.cshtml
@@ -0,0 +1,46 @@
+@inject IConfiguration Configuration
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+@using Microsoft.Extensions.Configuration
+@model ImportCompetenciesViewModel
+@{
+ ViewData["Title"] = "Framework - Import Failed";
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ var cancelLinkData = Html.GetRouteValues();
+ cancelLinkData.Add("IsNotBlank", Model.IsNotBlank.ToString());
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+
+
Import failed
+
+
+ The file that you uploaded either does not have the correct column headers on the first row or is not formatted as a table.
+
+
+
Refer to the instructions on the Import @Model.FrameworkVocabularyPlural page to make sure your Excel file has the correct column headers.
+
+
+
+
+
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportSummary.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportSummary.cshtml
new file mode 100644
index 0000000000..21bb2f85a2
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/ImportSummary.cshtml
@@ -0,0 +1,114 @@
+@inject IConfiguration Configuration
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+@using Microsoft.Extensions.Configuration
+@model ImportSummaryViewModel
+@{
+ ViewData["Title"] = "Framework - Import Competencies";
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ var cancelLinkData = Html.GetRouteValues();
+ var process = Model.CompetenciesToAddCount > 0 && Model.ToUpdateOrSkipCount > 0 ? "add and update" : Model.CompetenciesToAddCount > 0 ? "add" : "update";
+ var addQsTo = Model.AddAssessmentQuestionsOption == 1 ? "new" : Model.AddAssessmentQuestionsOption == 2 ? "new and updated" : "all";
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+
@Model.FrameworkVocabularyPlural import summary
+ @if (Model.PublishStatusID == 3)
+ {
+
+ }
+
Your @Model.FrameworkVocabularySingular.ToLower() sheet is ready to be processed. Please check the details below are correct before proceeding to @process @Model.FrameworkVocabularyPlural.ToLower() in the framework @Model.FrameworkName.
+
Upload summary
+
+
+
+
-
+ @Model.FrameworkVocabularySingular rows uploaded
+
+ -
+ @Model.ToProcessCount
+
+
+
+
+
+
-
+ @Model.FrameworkVocabularyPlural to add
+
+ -
+ @Model.CompetenciesToAddCount
+
+
+
+
+
+
-
+ @Model.FrameworkVocabularyPlural to update (or skip if unchanged)
+
+ -
+ @Model.ToUpdateOrSkipCount
+
+
+
+
Additional processing steps
+
+ @if (Model.CompetenciesToReorderCount > 0)
+ {
+
+ }
+
+
-
+ Add questions to @addQsTo @Model.FrameworkVocabularyPlural.ToLower() in sheet
+
+
-
+ @Model.DefaultAssessmentQuestionIDs.Count() framework default questions @(Model.AddCustomAssessmentQuestion && Model.CustomAssessmentQuestionID != null ? "AND a custom question" : "")
+
+
-
+
+ Change assessment question options
+
+
+
+
+
+
+
Important:
+
Once @Model.FrameworkVocabularySingular.ToLower() records are processed, changes cannot be undone.
+
+
+
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/Index.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/Index.cshtml
new file mode 100644
index 0000000000..68d46d3fd6
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/Index.cshtml
@@ -0,0 +1,131 @@
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+@model ImportCompetenciesViewModel
+@{
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ ViewData["Title"] = errorHasOccurred ? "Error: Bulk upload " + Model.FrameworkVocabularyPlural.ToLower() : "Bulk upload " + Model.FrameworkVocabularyPlural.ToLower();
+ var cancelLinkData = Html.GetRouteValues();
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+ @if (errorHasOccurred)
+ {
+
+ }
+
Bulk upload @(Model.IsNotBlank ? "or update" : "") @Model.FrameworkVocabularyPlural.ToLower()
+
+ @if (Model.PublishStatusID == 3)
+ {
+
+ }
+
+
+
+
Upload file
+
+ Once you have an Excel @Model.FrameworkVocabularyPlural.ToLower() workbook, add or update @Model.FrameworkVocabularyPlural.ToLower() to the worksheet, save and start the upload process.
+
+
+
+
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/UploadResults.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/UploadResults.cshtml
new file mode 100644
index 0000000000..bf4af2c283
--- /dev/null
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/Import/UploadResults.cshtml
@@ -0,0 +1,67 @@
+@inject IConfiguration Configuration
+@using DigitalLearningSolutions.Web.Extensions
+@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import
+@using Microsoft.Extensions.Configuration
+@model ImportCompetenciesResultsViewModel
+@{
+ ViewData["Title"] = "Framework - Import Competencies";
+ ViewData["Application"] = "Framework Service";
+ ViewData["HeaderPathName"] = "Framework Service";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+ var cancelLinkData = Html.GetRouteValues();
+}
+
+@section NavMenuItems {
+
+}
+@section NavBreadcrumbs {
+
+}
+
+
+
+
Import @Model.FrameworkVocabularyPlural.ToLower() complete
+
+
Summary of results:
+
+ - @Model.ProcessedCount @(Model.ProcessedCount == 1 ? "line" : "lines") processed
+ - @Model.CompetencyGroupsInsertedCount new @(Model.CompetencyGroupsInsertedCount == 1 ? $"{Model.FrameworkVocabularySingular.ToLower()} group" : $"{Model.FrameworkVocabularySingular.ToLower()} groups") inserted
+ - @Model.CompetenciesInsertedCount new @(Model.CompetenciesInsertedCount == 1 ? Model.FrameworkVocabularySingular.ToLower() : Model.FrameworkVocabularyPlural.ToLower()) inserted
+ - @Model.CompetenciesUpdatedCount existing @(Model.CompetenciesUpdatedCount == 1 ? Model.FrameworkVocabularySingular.ToLower() : Model.FrameworkVocabularyPlural.ToLower()) updated
+ - @(Model.CompetenciesReorderedCount == 0 ? "No existing " + Model.FrameworkVocabularyPlural.ToLower() : Model.CompetenciesReorderedCount == 1 ? "An existing " + Model.FrameworkVocabularySingular.ToLower() : "Some existing " + Model.FrameworkVocabularyPlural.ToLower()) reordered
+ - @Model.SkippedCount rows @(Model.SkippedCount == 1 ? "line" : "lines") skipped (nothing inserted or updated but no errors)
+ - @Model.ErrorCount @(Model.ErrorCount == 1 ? "line" : "lines") skipped due to errors
+
+
+ @if (Model.ErrorCount > 0)
+ {
+
+
+
+ Important:
+ The imported Excel worksheet contained errors
+
+
+
The lines below were skipped due to errors during processing:
+
+ @foreach (var (rowNumber, errorMessage) in Model.Errors)
+ {
+ - Line @rowNumber: @errorMessage
+ }
+
+
+ }
+
+
+
+
+
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportCompetencies.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportCompetencies.cshtml
deleted file mode 100644
index 65e65b9838..0000000000
--- a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportCompetencies.cshtml
+++ /dev/null
@@ -1,60 +0,0 @@
-@using DigitalLearningSolutions.Web.Extensions
-@using DigitalLearningSolutions.Web.ViewModels.Frameworks
-@model ImportCompetenciesViewModel
-@{
- ViewData["Title"] = "Framework - Import Competencies";
- ViewData["Application"] = "Framework Service";
- ViewData["HeaderPathName"] = "Framework Service";
- var errorHasOccurred = !ViewData.ModelState.IsValid;
- var cancelLinkData = Html.GetRouteValues();
-}
-
-@section NavMenuItems {
-
-}
- @section NavBreadcrumbs {
-
-}
-
-
- @if (errorHasOccurred)
- {
-
- }
-
Import from Excel
-
-
- To import competencies from Excel, you will need an .xlsx worksheet file saved to your computer that meets the following requirements:
-
- - Has import data formatted as a table on the first worksheet in the file
- -
- Has the following column titles on the cells in the first row:
-
- - Competency group (cell A1)
- - Competency name (cell B1)
- - Competency description (cell C1)
-
-
- - Import data in subsequent rows with no blank rows (including hidden rows)
- - Import data must be formatted as a table (select all data and choose "Format as Table" in Excel
- - Import data rows must include a Competency name
- - If Competency group is left blank, the competency will be imported without a group and listed after grouped competencies in the framework
-
-
-
-
-
-
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportCompleted.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportCompleted.cshtml
deleted file mode 100644
index fefffeae4f..0000000000
--- a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportCompleted.cshtml
+++ /dev/null
@@ -1,64 +0,0 @@
-@inject IConfiguration Configuration
-@using DigitalLearningSolutions.Web.Extensions
-@using DigitalLearningSolutions.Web.ViewModels.Frameworks
-@using Microsoft.Extensions.Configuration
-@model ImportCompetenciesResultsViewModel
-@{
- ViewData["Title"] = "Framework - Import Competencies";
- ViewData["Application"] = "Framework Service";
- ViewData["HeaderPathName"] = "Framework Service";
- var errorHasOccurred = !ViewData.ModelState.IsValid;
- var cancelLinkData = Html.GetRouteValues();
-}
-
-@section NavMenuItems {
-
-}
- @section NavBreadcrumbs {
-
-}
-
-
-
-
Import competencies complete
-
-
Summary of results:
-
- - @Model.ProcessedCount @(Model.ProcessedCount == 1 ? "line" : "lines") processed
- - @Model.CompetencyGroupsInsertedCount new @(Model.CompetencyGroupsInsertedCount == 1 ? "competency group" : "competency groups") inserted
- - @Model.CompetenciesInsertedCount new @(Model.CompetenciesInsertedCount == 1 ? "competency" : "competencies") inserted
- - @Model.SkippedCount rows @(Model.SkippedCount == 1 ? "record" : "records") skipped (nothing inserted but no errors)
- - @Model.ErrorCount @(Model.ErrorCount == 1 ? "line" : "lines") skipped due to errors
-
-
- @if (Model.ErrorCount > 0)
- {
-
-
-
- Important:
- The imported Excel worksheet contained errors
-
-
-
The lines below were skipped due to errors during processing:
-
- @foreach (var (rowNumber, errorMessage) in Model.Errors)
- {
- - Line @rowNumber: @errorMessage
- }
-
-
- }
-
-
-
-
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportFailed.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportFailed.cshtml
deleted file mode 100644
index 0176c0b656..0000000000
--- a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/ImportFailed.cshtml
+++ /dev/null
@@ -1,44 +0,0 @@
-@inject IConfiguration Configuration
-@using DigitalLearningSolutions.Web.Extensions
-@using DigitalLearningSolutions.Web.ViewModels.Frameworks
-@using Microsoft.Extensions.Configuration
-@model ImportCompetenciesResultsViewModel
-@{
- ViewData["Title"] = "Framework - Import Failed";
- ViewData["Application"] = "Framework Service";
- ViewData["HeaderPathName"] = "Framework Service";
- var errorHasOccurred = !ViewData.ModelState.IsValid;
- var cancelLinkData = Html.GetRouteValues();
-}
-
-@section NavMenuItems {
-
-}
- @section NavBreadcrumbs {
-
-}
-
-
-
-
Import failed
-
-
- The file that you uploaded either does not have the correct column headers on the first row or is not formatted as a table.
-
-
-
Refer to the instructions on the Import Competencies page to make sure your Excel file has the correct column headers.
-
-
-
-
-
-
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/_Structure.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/_Structure.cshtml
index 7fa159981d..12ba6ac9a2 100644
--- a/DigitalLearningSolutions.Web/Views/Frameworks/Developer/_Structure.cshtml
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Developer/_Structure.cshtml
@@ -1,5 +1,23 @@
@using DigitalLearningSolutions.Web.ViewModels.Frameworks;
@model FrameworkViewModel;
+
+
+
+
+
Framework structure
@if (Model.FrameworkCompetencyGroups.Any())
{
@@ -11,7 +29,7 @@
FrameworkCompetencyGroup =frameworkCompetencyGroup,
CompetencyFlags = Model.CompetencyFlags
}"
- view-data='new ViewDataDictionary(ViewData)
+ view-data='new ViewDataDictionary(ViewData)
{
{ "VocabSingular", Model.VocabSingular() },
{ "VocabPlural", Model.VocabPlural() },
@@ -66,7 +84,7 @@ else
FrameworkCompetency = frameworkCompetency,
CompetencyFlags = Model.CompetencyFlags.Where(c => c.CompetencyId == frameworkCompetency.CompetencyID)
}"
- view-data='new ViewDataDictionary(ViewData)
+ view-data='new ViewDataDictionary(ViewData)
{
{ "VocabSingular", Model.VocabSingular() },
{"VocabPlural", Model.VocabPlural() }
@@ -75,14 +93,3 @@ else
}
-}
-
diff --git a/DigitalLearningSolutions.Web/Views/Frameworks/Shared/_NavMenuItems.cshtml b/DigitalLearningSolutions.Web/Views/Frameworks/Shared/_NavMenuItems.cshtml
index 770be2e6fb..b2f8dff16a 100644
--- a/DigitalLearningSolutions.Web/Views/Frameworks/Shared/_NavMenuItems.cshtml
+++ b/DigitalLearningSolutions.Web/Views/Frameworks/Shared/_NavMenuItems.cshtml
@@ -5,32 +5,27 @@
diff --git a/DigitalLearningSolutions.Web/Views/LearningMenu/Shared/_NavMenuItems.cshtml b/DigitalLearningSolutions.Web/Views/LearningMenu/Shared/_NavMenuItems.cshtml
index 2ea72c7d40..dd019227a7 100644
--- a/DigitalLearningSolutions.Web/Views/LearningMenu/Shared/_NavMenuItems.cshtml
+++ b/DigitalLearningSolutions.Web/Views/LearningMenu/Shared/_NavMenuItems.cshtml
@@ -2,12 +2,10 @@
diff --git a/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml b/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml
index e9e97c5bbf..61eca271ee 100644
--- a/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml
+++ b/DigitalLearningSolutions.Web/Views/LearningPortal/SelfAssessments/SelfAssessmentOverview.cshtml
@@ -1,5 +1,6 @@
@inject IConfiguration Configuration
@using DigitalLearningSolutions.Data.Extensions
+@using DigitalLearningSolutions.Web.Helpers
@using DigitalLearningSolutions.Web.ViewModels.LearningPortal.SelfAssessments
@using Microsoft.Extensions.Configuration
@model SelfAssessmentOverviewViewModel
@@ -113,7 +114,7 @@
- @if (!String.IsNullOrEmpty(groupDetails.CompetencyGroupDescription))
+ @if (!String.IsNullOrEmpty(StringHelper.StripHtmlTags(groupDetails.CompetencyGroupDescription)))
{
@Html.Raw(groupDetails.CompetencyGroupDescription)
}
diff --git a/DigitalLearningSolutions.Web/Views/LearningPortal/Shared/_NavMenuItems.cshtml b/DigitalLearningSolutions.Web/Views/LearningPortal/Shared/_NavMenuItems.cshtml
index 90242f331c..6502b36796 100644
--- a/DigitalLearningSolutions.Web/Views/LearningPortal/Shared/_NavMenuItems.cshtml
+++ b/DigitalLearningSolutions.Web/Views/LearningPortal/Shared/_NavMenuItems.cshtml
@@ -3,24 +3,20 @@
diff --git a/DigitalLearningSolutions.Web/Views/Shared/Components/DateInput/Default.cshtml b/DigitalLearningSolutions.Web/Views/Shared/Components/DateInput/Default.cshtml
index 426e572352..0497063261 100644
--- a/DigitalLearningSolutions.Web/Views/Shared/Components/DateInput/Default.cshtml
+++ b/DigitalLearningSolutions.Web/Views/Shared/Components/DateInput/Default.cshtml
@@ -8,7 +8,7 @@
var yearErrorCss = Model.HasYearError ? "nhsuk-input--error" : "";
var hintTextLine = string.Empty;
}
-
+@* Removed pattern property *@
@@ -69,12 +69,12 @@
id="@Model.MonthId"
name="@Model.MonthId"
value="@Model.MonthValue"
- type="number"
- pattern="[0-9]*"
+ type="text"
min="1"
max="12"
step="1"
- inputmode="numeric" />
+ inputmode="numeric"
+ aria-describedby="date-error" aria-invalid="false" />