Skip to content

Commit 052a0b0

Browse files
committed
TD-483 Begins to implement add competencies MVC view
1 parent d456967 commit 052a0b0

File tree

5 files changed

+53
-9
lines changed

5 files changed

+53
-9
lines changed

DigitalLearningSolutions.Web/Controllers/CompetencyAssessmentsController/CompetencyAssessments.cs

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,11 +482,11 @@ public IActionResult RemoveFramework(ConfirmRemoveFrameworkSourceViewModel model
482482
return RedirectToAction("SelectFrameworkSources", new { model.CompetencyAssessmentId, actionName = "Summary" });
483483
}
484484
[Route("/CompetencyAssessments/{competencyAssessmentId}/Competencies")]
485-
public IActionResult SelectCompetencies(int competencyAssessmentId)
485+
public IActionResult ViewSelectedCompetencies(int competencyAssessmentId)
486486
{
487-
487+
488488
var competencies = competencyAssessmentService.GetCompetenciesForCompetencyAssessment(competencyAssessmentId);
489-
if(!competencies.Any())
489+
if (!competencies.Any())
490490
{
491491
return RedirectToAction("AddCompetenciesSelectFramework", new { competencyAssessmentId });
492492
}
@@ -501,7 +501,7 @@ public IActionResult SelectCompetencies(int competencyAssessmentId)
501501
{
502502
return StatusCode(403);
503503
}
504-
var model = new SelectCompetenciesViewModel(competencyAssessmentBase, competencies);
504+
var model = new ViewSelectedCompetenciesViewModel(competencyAssessmentBase, competencies);
505505
return View(model);
506506
}
507507
[Route("/CompetencyAssessments/{competencyAssessmentId}/Competencies/Add/SelectFramework")]
@@ -527,5 +527,39 @@ public IActionResult AddCompetenciesSelectFramework(int competencyAssessmentId)
527527
var model = new AddCompetenciesSelectFrameworkViewModel(competencyAssessmentBase, linkedFrameworks);
528528
return View(model);
529529
}
530+
[HttpPost]
531+
[Route("/CompetencyAssessments/{competencyAssessmentId}/Competencies/Add/SelectFramework")]
532+
public IActionResult AddCompetenciesSelectFramework(AddCompetenciesSelectFrameworkViewModel model)
533+
{
534+
if (!ModelState.IsValid)
535+
{
536+
var linkedFrameworks = competencyAssessmentService.GetLinkedFrameworksForCompetencyAssessment(model.ID);
537+
model.LinkedFrameworks = linkedFrameworks;
538+
return View("AddCompetenciesSelectFramework", model);
539+
}
540+
else
541+
{
542+
return RedirectToAction("AddCompetencies", new { competencyAssessmentId = model.ID, frameworkId = model.FrameworkId });
543+
}
544+
}
545+
[Route("/CompetencyAssessments/{competencyAssessmentId}/Competencies/Add/{frameworkId}")]
546+
public IActionResult AddCompetencies(int competencyAssessmentId, int frameworkId)
547+
{
548+
var adminId = GetAdminID();
549+
var competencyAssessmentBase = competencyAssessmentService.GetCompetencyAssessmentBaseById(competencyAssessmentId, adminId);
550+
if (competencyAssessmentBase == null)
551+
{
552+
logger.LogWarning($"Failed to load Competencies page for competencyAssessmentId: {competencyAssessmentId} adminId: {adminId}");
553+
return StatusCode(500);
554+
}
555+
if (competencyAssessmentBase.UserRole < 2)
556+
{
557+
return StatusCode(403);
558+
}
559+
var groupedCompetencies = frameworkService.GetFrameworkCompetencyGroups(frameworkId);
560+
var ungroupedCompetencies = frameworkService.GetFrameworkCompetenciesUngrouped(frameworkId);
561+
var model = new AddCompetenciesViewModel(competencyAssessmentBase, groupedCompetencies, ungroupedCompetencies, frameworkId);
562+
return View(model);
563+
}
530564
}
531565
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace DigitalLearningSolutions.Web.ViewModels.CompetencyAssessments
2+
{
3+
public class AddCompetenciesViewModel
4+
{
5+
public AddCompetenciesViewModel()
6+
{
7+
8+
}
9+
}
10+
}

DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/SelectCompetenciesViewModel.cs renamed to DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/ViewSelectedCompetenciesViewModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
namespace DigitalLearningSolutions.Web.ViewModels.CompetencyAssessments
66
{
7-
public class SelectCompetenciesViewModel
7+
public class ViewSelectedCompetenciesViewModel
88
{
9-
public SelectCompetenciesViewModel() { }
10-
public SelectCompetenciesViewModel(CompetencyAssessmentBase competencyAssessmentBase, IEnumerable<Competency> competencies)
9+
public ViewSelectedCompetenciesViewModel() { }
10+
public ViewSelectedCompetenciesViewModel(CompetencyAssessmentBase competencyAssessmentBase, IEnumerable<Competency> competencies)
1111
{
1212
ID = competencyAssessmentBase.ID;
1313
CompetencyAssessmentName = competencyAssessmentBase.CompetencyAssessmentName;

DigitalLearningSolutions.Web/Views/CompetencyAssessments/ManageCompetencyAssessment.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
else
130130
{
131131
<div class="nhsuk-task-list__name-and-hint" aria-describedby="select-competencies-status">
132-
<a class="nhsuk-link nhsuk-task-list__link" asp-action="SelectCompetencies" asp-route-competencyAssessmentId="@ViewContext.RouteData.Values["competencyAssessmentId"]">
132+
<a class="nhsuk-link nhsuk-task-list__link" asp-action="ViewSelectedCompetencies" asp-route-competencyAssessmentId="@ViewContext.RouteData.Values["competencyAssessmentId"]">
133133
Select @Model.VocabularyPlural.ToLower() to assess
134134
</a>
135135
</div>

DigitalLearningSolutions.Web/Views/CompetencyAssessments/SelectCompetencies.cshtml renamed to DigitalLearningSolutions.Web/Views/CompetencyAssessments/ViewSelectedCompetencies.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@using DigitalLearningSolutions.Web.ViewModels.CompetencyAssessments
2-
@model SelectCompetenciesViewModel;
2+
@model ViewSelectedCompetencies;
33
@{
44
ViewData["Title"] = "Select Competencies";
55
ViewData["Application"] = "Framework Service";

0 commit comments

Comments
 (0)