@@ -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}
0 commit comments