diff --git a/DigitalLearningSolutions.Data/DataServices/CompetencyAssessmentDataService.cs b/DigitalLearningSolutions.Data/DataServices/CompetencyAssessmentDataService.cs index f320996d20..d5788c2c20 100644 --- a/DigitalLearningSolutions.Data/DataServices/CompetencyAssessmentDataService.cs +++ b/DigitalLearningSolutions.Data/DataServices/CompetencyAssessmentDataService.cs @@ -91,7 +91,7 @@ bool UpdateCompetencyAssessmentFeaturesTaskStatus(int id, bool descriptionStatus int GetCountOfAsssessmentQuestionInCompetencyAssessment(int competencyAssessmentId, int assessmentQuestionId); bool UpdateSupervisorRolesTaskStatus(int competencyAssessmentId, bool taskCompleteChecked); bool UpdateSelfAssessments(int competencyAssessmentId, - int? supervised, + int? signoff, int? confirm, int? supervisorDeclarationValue, string? supervisorCustomText, @@ -142,7 +142,7 @@ public class CompetencyAssessmentDataService : ICompetencyAssessmentDataService sa.MinimumOptionalCompetencies, sa.ManageOptionalCompetenciesPrompt, sa.IncludeLearnerDeclarationPrompt, sa.IncludesSignposting, sa.LinearNavigation, sa.UseDescriptionExpanders, sa.QuestionLabel, sa.ReviewerCommentsLabel, - sa.SupervisorSelfAssessmentReview, sa.SupervisorResultsReview, sar.ID AS SelfAssessmentReviewID, + sa.SupervisorSelfAssessmentReview, sa.SupervisorResultsReview, sar.ID AS SelfAssessmentReviewID, sa.SignOffSupervisorStatement, sa.SignOffRequestorStatement, sar.SelfAssessmentCommentID"; private const string SelfAssessmentFields = @@ -1508,7 +1508,7 @@ public bool UpdateSupervisorRolesTaskStatus(int competencyAssessmentId, bool tas return true; } public bool UpdateSelfAssessments(int competencyAssessmentId, - int? supervised, + int? signoff, int? confirm, int? supervisorDeclarationValue, string? supervisorCustomText, @@ -1517,10 +1517,10 @@ public bool UpdateSelfAssessments(int competencyAssessmentId, ) { var sqlQuery = @" - IF @supervised = 0 + IF @signoff = 0 BEGIN - UPDATE SelfAssessments SET SupervisorResultsReview = 0, - SupervisorSelfAssessmentReview = 0, + UPDATE SelfAssessments SET SupervisorSelfAssessmentReview = 0, + SupervisorResultsReview = 0, SignOffSupervisorStatement = NULL, SignOffRequestorStatement = NULL WHERE ID = @competencyAssessmentId; @@ -1528,8 +1528,8 @@ public bool UpdateSelfAssessments(int competencyAssessmentId, ELSE BEGIN UPDATE SelfAssessments - SET SupervisorResultsReview = 1, - SupervisorSelfAssessmentReview = @confirm, + SET SupervisorSelfAssessmentReview = 1, + SupervisorResultsReview = @confirm, SignOffSupervisorStatement = CASE WHEN @supervisorDeclarationValue = 0 THEN NULL ELSE @supervisorCustomText END, SignOffRequestorStatement = CASE WHEN @leanerDeclarationValue = 0 THEN NULL ELSE @leanerCustomText END WHERE ID = @competencyAssessmentId; @@ -1540,7 +1540,7 @@ UPDATE SelfAssessments new { competencyAssessmentId, - supervised, + signoff, confirm, supervisorDeclarationValue, supervisorCustomText, @@ -1553,7 +1553,7 @@ UPDATE SelfAssessments { logger.LogWarning( "Not updating SelfAssessments as db update failed. " + - $"competencyAssessmentId: {competencyAssessmentId}, supervised: {supervised}" + + $"competencyAssessmentId: {competencyAssessmentId}, signoff: {signoff}" + $"confirm: {confirm}, supervisorDeclarationValue: {supervisorDeclarationValue} " + $"supervisorCustomText: {supervisorCustomText}, leanerDeclarationValue: {leanerDeclarationValue}, leanerCustomText: {leanerCustomText} " ); diff --git a/DigitalLearningSolutions.Web/Controllers/CompetencyAssessmentsController/CompetencyAssessments.cs b/DigitalLearningSolutions.Web/Controllers/CompetencyAssessmentsController/CompetencyAssessments.cs index 9067c657b3..9357c697ae 100644 --- a/DigitalLearningSolutions.Web/Controllers/CompetencyAssessmentsController/CompetencyAssessments.cs +++ b/DigitalLearningSolutions.Web/Controllers/CompetencyAssessmentsController/CompetencyAssessments.cs @@ -1207,13 +1207,26 @@ public IActionResult SupervisorRoles(int competencyAssessmentId) var result = ValidateCompetencyAssessmentAndRole(competencyAssessmentId, adminId, "Supervisor Roles", competencyAssessmentBase); if (result.StatusCode != 200) return result; + + var model = new ManagesupervisionViewModel(competencyAssessmentId, competencyAssessmentBase.CompetencyAssessmentName, + competencyAssessmentBase.SupervisorResultsReview, + competencyAssessmentBase.SupervisorSelfAssessmentReview, + competencyAssessmentBase.SignOffSupervisorStatement, + competencyAssessmentBase.SignOffRequestorStatement, + this.config.GetLearnerDefaultText(), + this.config.GetSupervisorDefaultText()); + + SetManagesupervisionData(model); + var competencyAssessmentTaskStatus = competencyAssessmentService.GetCompetencyAssessmentTaskStatus(competencyAssessmentId, null); - if (competencyAssessmentTaskStatus.SupervisorRolesTaskStatus != null) return RedirectToAction("ManageSupervisionSettings", "CompetencyAssessments", + if (competencyAssessmentTaskStatus.SupervisorRolesTaskStatus != null) + return RedirectToAction("ManageSupervisionSettings", "CompetencyAssessments", new { CompetencyAssessmentId = competencyAssessmentId, ActionName = "SupervisorRoles" - }); return RedirectToAction("SupervisedSelfAssessmentSignoff", "CompetencyAssessments", new { competencyAssessmentId }); + }); + return RedirectToAction("SupervisedSelfAssessmentSignoff", "CompetencyAssessments", new { competencyAssessmentId }); } [Route("/CompetencyAssessments/{competencyAssessmentId}/Supervised")] @@ -1241,28 +1254,28 @@ public IActionResult SupervisedSelfAssessmentSignoff(int competencyAssessmentId, public IActionResult SupervisedSelfAssessmentSignoff(SupervisedSelfAssessmentSignoffViewModel supervisedSelf) { if (supervisedSelf == null) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 }); - if (supervisedSelf.Supervised == null) + if (supervisedSelf.Signoff == null) { - ModelState.AddModelError(nameof(supervisedSelf.Supervised), "Please select a Supervised self assessment option"); + ModelState.AddModelError(nameof(supervisedSelf.Signoff), "Please select a Supervisor signs off self assessment option"); return View(supervisedSelf); } - if (supervisedSelf.Confirm == null && supervisedSelf.SupervisedText == "Yes") + if (supervisedSelf.Confirm == null && supervisedSelf.SignoffText == "Yes") { ModelState.AddModelError(nameof(supervisedSelf.Confirm), "Please select a Supervisor or nominated supervisor confirm individual assessment option"); return View(supervisedSelf); } - if (supervisedSelf.SupervisedText == "No") + if (supervisedSelf.SignoffText == "No") { var model = new ManagesupervisionViewModel(supervisedSelf); SetManagesupervisionData(model); - var competencyAssessmentTaskStatus = competencyAssessmentService.GetCompetencyAssessmentTaskStatus(supervisedSelf.CompetencyAssessmentId, null); - competencyAssessmentService.UpdateSupervisorRolesTaskStatus(supervisedSelf.CompetencyAssessmentId, competencyAssessmentTaskStatus.SupervisorRolesTaskStatus ?? false); return RedirectToAction("ManageSupervisionSettings", "CompetencyAssessments", new { supervisedSelf.CompetencyAssessmentId }); } else if (supervisedSelf.ActionName != null) { var data = GetManagesupervisionData(); + data.CompetencyAssessmentId = supervisedSelf.CompetencyAssessmentId; var model = new ManagesupervisionViewModel(data.LearnerDeclaration, data.SupervisorDeclaration, supervisedSelf); + model.CompetencyAssessmentId = supervisedSelf.CompetencyAssessmentId; SetManagesupervisionData(model); return RedirectToAction("SupervisorSignoffDeclaration", "CompetencyAssessments", new @@ -1276,7 +1289,6 @@ public IActionResult SupervisedSelfAssessmentSignoff(SupervisedSelfAssessmentSig var model = new ManagesupervisionViewModel(supervisedSelf); SetManagesupervisionData(model); var competencyAssessmentTaskStatus = competencyAssessmentService.GetCompetencyAssessmentTaskStatus(supervisedSelf.CompetencyAssessmentId, null); - competencyAssessmentService.UpdateSupervisorRolesTaskStatus(supervisedSelf.CompetencyAssessmentId, competencyAssessmentTaskStatus.SupervisorRolesTaskStatus ?? false); return RedirectToAction("SupervisorSignoffDeclaration", "CompetencyAssessments", new { supervisedSelf.CompetencyAssessmentId }); } } @@ -1293,6 +1305,7 @@ public IActionResult SupervisorSignoffDeclaration(int competencyAssessmentId, st var data = GetManagesupervisionData(); if (actionName == "Supervisor") { + data.CompetencyAssessmentId = competencyAssessmentId; data.SupervisorDeclaration.DefaultText = this.config.GetSupervisorDefaultText(); data.SupervisorDeclaration.ActionName = actionName; var models = new SupervisorSignoffDeclarationViewModel(data.SupervisorDeclaration); @@ -1320,6 +1333,11 @@ public IActionResult SupervisorSignoffDeclaration(SupervisorSignoffDeclarationVi ModelState.AddModelError(nameof(viewModel.CustomText), "Please enter the custom declaration text"); return View(viewModel); } + else if (viewModel.DeclarationValue == 1 && viewModel.CustomText.Length > 2000) + { + ModelState.AddModelError(nameof(viewModel.CustomText), "Declaration text must be 2000 characters or fewer"); + return View(viewModel); + } var data = GetManagesupervisionData(); var model = new ManagesupervisionViewModel(data.LearnerDeclaration, viewModel, data.Signoff); @@ -1346,14 +1364,16 @@ public IActionResult LearnerSignoffDeclaration(int competencyAssessmentId, strin var data = GetManagesupervisionData(); if (actionName == "Learner") { + data.CompetencyAssessmentId = competencyAssessmentId; data.LearnerDeclaration.DefaultText = this.config.GetLearnerDefaultText(); data.LearnerDeclaration.ActionName = actionName; var models = new LearnerSignoffDeclarationViewModel(data.LearnerDeclaration); + models.CompetencyAssessmentId = competencyAssessmentId; return View(models); } var model = new LearnerSignoffDeclarationViewModel(competencyAssessmentId); model.CompetencyAssessmentName = data.CompetencyAssessmentName; - model.CompetencyAssessmentId = competencyAssessmentId; + model.CompetencyAssessmentId = competencyAssessmentId; model.DefaultText = this.config.GetLearnerDefaultText().Replace("{{CompetencyAssessmentName}}", model.CompetencyAssessmentName); return View(model); } @@ -1373,6 +1393,11 @@ public IActionResult LearnerSignoffDeclaration(LearnerSignoffDeclarationViewMode ModelState.AddModelError(nameof(viewModel.CustomText), "Please enter the custom declaration text"); return View(viewModel); } + else if (viewModel.DeclarationValue == 1 && viewModel.CustomText.Length > 2000) + { + ModelState.AddModelError(nameof(viewModel.CustomText), "Declaration text must be 2000 characters or fewer"); + return View(viewModel); + } var data = GetManagesupervisionData(); var model = new ManagesupervisionViewModel(viewModel, data.SupervisorDeclaration, data.Signoff); @@ -1393,13 +1418,13 @@ public IActionResult ManageSupervisionSettings(int competencyAssessmentId, strin var competencyAssessmentTaskStatus = competencyAssessmentService.GetCompetencyAssessmentTaskStatus(competencyAssessmentId, null); if (actionName == "SupervisorRoles") { - var model = new ManagesupervisionViewModel(competencyAssessmentId, baseData.CompetencyAssessmentName, - baseData.SupervisorResultsReview, - baseData.SupervisorSelfAssessmentReview, - baseData.SignOffSupervisorStatement, - baseData.SignOffRequestorStatement, - this.config.GetLearnerDefaultText(), - this.config.GetSupervisorDefaultText()); + var model = new ManagesupervisionViewModel(competencyAssessmentId, baseData.CompetencyAssessmentName, + baseData.SupervisorResultsReview, + baseData.SupervisorSelfAssessmentReview, + baseData.SignOffSupervisorStatement, + baseData.SignOffRequestorStatement, + this.config.GetLearnerDefaultText(), + this.config.GetSupervisorDefaultText()); model.TaskCompleteChecked = competencyAssessmentTaskStatus.SupervisorRolesTaskStatus; SetManagesupervisionData(model); return View(model); @@ -1426,7 +1451,7 @@ public IActionResult ManageSupervisionSettings(ManagesupervisionViewModel viewMo var competencyAssessmentTaskStatus = competencyAssessmentService.GetCompetencyAssessmentTaskStatus(data.Signoff.CompetencyAssessmentId, null); competencyAssessmentService.UpdateSupervisorRolesTaskStatus(data.Signoff.CompetencyAssessmentId, viewModel.TaskCompleteChecked ?? false); competencyAssessmentService.UpdateSelfAssessments(data.Signoff.CompetencyAssessmentId, - data.Signoff.Supervised, + data.Signoff.Signoff, data.Signoff.Confirm, data.SupervisorDeclaration.DeclarationValue, SanitizerHelper.SanitizeHtmlData(data.SupervisorDeclaration.CustomText), diff --git a/DigitalLearningSolutions.Web/Services/CompetencyAssessmentService.cs b/DigitalLearningSolutions.Web/Services/CompetencyAssessmentService.cs index c407247922..ab2bffac1b 100644 --- a/DigitalLearningSolutions.Web/Services/CompetencyAssessmentService.cs +++ b/DigitalLearningSolutions.Web/Services/CompetencyAssessmentService.cs @@ -89,7 +89,7 @@ bool UpdateCompetencyAssessmentFeaturesTaskStatus(int id, bool descriptionStatus int UpdateCompetencyAssessmentQuestionRoleRequirement(int assessmentId, int competencyId, int assessmentQuestionId, Dictionary responseRoleRequirements); bool UpdateSupervisorRolesTaskStatus(int competencyAssessmentId, bool taskCompleteChecked); bool UpdateSelfAssessments(int competencyAssessmentId, - int? supervised, + int? signoff, int? confirm, int? supervisorDeclarationValue, string? supervisorCustomText, @@ -521,16 +521,16 @@ public int UpdateCompetencyAssessmentQuestionRoleRequirement(int assessmentId, i } return rowCount; } - public void InsertIntoSelfAssessmentCollaboratorsFromFrameworkCollaborators(int selfAssessmentId, int? frameworkId) - { - competencyAssessmentDataService.InsertIntoSelfAssessmentCollaboratorsFromFrameworkCollaborators(selfAssessmentId, frameworkId); - } + public void InsertIntoSelfAssessmentCollaboratorsFromFrameworkCollaborators(int selfAssessmentId, int? frameworkId) + { + competencyAssessmentDataService.InsertIntoSelfAssessmentCollaboratorsFromFrameworkCollaborators(selfAssessmentId, frameworkId); + } public bool UpdateSupervisorRolesTaskStatus(int competencyAssessmentId, bool taskCompleteChecked) { return competencyAssessmentDataService.UpdateSupervisorRolesTaskStatus(competencyAssessmentId, taskCompleteChecked); } public bool UpdateSelfAssessments(int competencyAssessmentId, - int? supervised, + int? signoff, int? confirm, int? supervisorDeclarationValue, string? supervisorCustomText, @@ -538,7 +538,7 @@ public bool UpdateSelfAssessments(int competencyAssessmentId, string? leanerCustomText ) { - return competencyAssessmentDataService.UpdateSelfAssessments(competencyAssessmentId, supervised, confirm, + return competencyAssessmentDataService.UpdateSelfAssessments(competencyAssessmentId, signoff, confirm, supervisorDeclarationValue, supervisorCustomText, leanerDeclarationValue, leanerCustomText); } public void UpdateCompetencyAssessmentPublishStatus(int competencyAssessmentId, int status, int adminId) diff --git a/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/ManagesupervisionViewModel.cs b/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/ManagesupervisionViewModel.cs index 16f21c1ee3..9a2b783f6e 100644 --- a/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/ManagesupervisionViewModel.cs +++ b/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/ManagesupervisionViewModel.cs @@ -1,70 +1,70 @@ namespace DigitalLearningSolutions.Web.ViewModels.CompetencyAssessments { - public class ManagesupervisionViewModel + public class ManagesupervisionViewModel + { + public ManagesupervisionViewModel() { } + public ManagesupervisionViewModel(SupervisedSelfAssessmentSignoffViewModel signoff) { - public ManagesupervisionViewModel() { } - public ManagesupervisionViewModel(SupervisedSelfAssessmentSignoffViewModel signoff) - { - Signoff = signoff; - CompetencyAssessmentName = signoff.CompetencyAssessmentName; - } - public ManagesupervisionViewModel(SupervisorSignoffDeclarationViewModel supervisorDeclaration, - SupervisedSelfAssessmentSignoffViewModel signoff) - { - SupervisorDeclaration = supervisorDeclaration; - Signoff = signoff; - } - public ManagesupervisionViewModel(LearnerSignoffDeclarationViewModel learnerDeclaration, - SupervisorSignoffDeclarationViewModel supervisorDeclaration, - SupervisedSelfAssessmentSignoffViewModel signoff) - { - LearnerDeclaration = learnerDeclaration; - SupervisorDeclaration = supervisorDeclaration; - Signoff = signoff; - } - public ManagesupervisionViewModel(int competencyAssessmentId, - ManagesupervisionViewModel model, - string learnerDefaultText, - string supervisorDefaultText) - { - CompetencyAssessmentId = competencyAssessmentId; - CompetencyAssessmentName = model.CompetencyAssessmentName; - Signoff = model.Signoff; - SupervisorDeclaration = model.SupervisorDeclaration; - SupervisorDeclaration.DefaultText = supervisorDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); - LearnerDeclaration = model.LearnerDeclaration; - LearnerDeclaration.DefaultText = learnerDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); - } - public ManagesupervisionViewModel(int competencyAssessmentId, string competencyAssessmentName, - bool supervisorResultsReview, - bool SupervisorSelfAssessmentReview, - string? signOffSupervisorStatement, - string? signOffRequestorStatement, - string learnerDefaultText, - string supervisorDefaultText) - { - CompetencyAssessmentId = competencyAssessmentId; - CompetencyAssessmentName = competencyAssessmentName; - Signoff.CompetencyAssessmentId = competencyAssessmentId; - Signoff.Supervised = supervisorResultsReview == true ? 1 : 0; - Signoff.Confirm = SupervisorSelfAssessmentReview == true ? 1 : 0; - SupervisorDeclaration.CompetencyAssessmentName = competencyAssessmentName; - SupervisorDeclaration.CompetencyAssessmentId = competencyAssessmentId; - SupervisorDeclaration.DeclarationValue = signOffSupervisorStatement == null ? 0 : 1; - SupervisorDeclaration.CustomText = signOffSupervisorStatement; - SupervisorDeclaration.DefaultText = supervisorDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); - LearnerDeclaration.DeclarationValue = signOffRequestorStatement == null ? 0 : 1; - LearnerDeclaration.CustomText = signOffRequestorStatement; - LearnerDeclaration.DefaultText = learnerDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); - LearnerDeclaration.CompetencyAssessmentName = competencyAssessmentName; - LearnerDeclaration.CompetencyAssessmentId = competencyAssessmentId; - } - public SupervisedSelfAssessmentSignoffViewModel Signoff { get; set; } = new SupervisedSelfAssessmentSignoffViewModel(); - public SupervisorSignoffDeclarationViewModel SupervisorDeclaration { get; set; } = new SupervisorSignoffDeclarationViewModel(); - public LearnerSignoffDeclarationViewModel LearnerDeclaration { get; set; } = new LearnerSignoffDeclarationViewModel(); - public bool? TaskCompleteChecked { get; set; } - public int CompetencyAssessmentId { get; set; } - public string CompetencyAssessmentName { get; set; } = string.Empty; - + Signoff = signoff; + CompetencyAssessmentName = signoff.CompetencyAssessmentName; + } + public ManagesupervisionViewModel(SupervisorSignoffDeclarationViewModel supervisorDeclaration, + SupervisedSelfAssessmentSignoffViewModel signoff) + { + SupervisorDeclaration = supervisorDeclaration; + Signoff = signoff; + } + public ManagesupervisionViewModel(LearnerSignoffDeclarationViewModel learnerDeclaration, + SupervisorSignoffDeclarationViewModel supervisorDeclaration, + SupervisedSelfAssessmentSignoffViewModel signoff) + { + LearnerDeclaration = learnerDeclaration; + SupervisorDeclaration = supervisorDeclaration; + Signoff = signoff; + } + public ManagesupervisionViewModel(int competencyAssessmentId, + ManagesupervisionViewModel model, + string learnerDefaultText, + string supervisorDefaultText) + { + CompetencyAssessmentId = competencyAssessmentId; + CompetencyAssessmentName = model.CompetencyAssessmentName; + Signoff = model.Signoff; + SupervisorDeclaration = model.SupervisorDeclaration; + SupervisorDeclaration.DefaultText = supervisorDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); + LearnerDeclaration = model.LearnerDeclaration; + LearnerDeclaration.DefaultText = learnerDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); + } + public ManagesupervisionViewModel(int competencyAssessmentId, string competencyAssessmentName, + bool supervisorResultsReview, + bool SupervisorSelfAssessmentReview, + string? signOffSupervisorStatement, + string? signOffRequestorStatement, + string learnerDefaultText, + string supervisorDefaultText) + { + CompetencyAssessmentId = competencyAssessmentId; + CompetencyAssessmentName = competencyAssessmentName; + Signoff.CompetencyAssessmentId = competencyAssessmentId; + Signoff.Signoff = SupervisorSelfAssessmentReview == true ? 1 : 0; + Signoff.Confirm = supervisorResultsReview == true ? 1 : 0; + SupervisorDeclaration.CompetencyAssessmentName = competencyAssessmentName; + SupervisorDeclaration.CompetencyAssessmentId = competencyAssessmentId; + SupervisorDeclaration.DeclarationValue = signOffSupervisorStatement == null ? 0 : 1; + SupervisorDeclaration.CustomText = signOffSupervisorStatement; + SupervisorDeclaration.DefaultText = supervisorDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); + LearnerDeclaration.DeclarationValue = signOffRequestorStatement == null ? 0 : 1; + LearnerDeclaration.CustomText = signOffRequestorStatement; + LearnerDeclaration.DefaultText = learnerDefaultText.Replace("{{CompetencyAssessmentName}}", CompetencyAssessmentName); + LearnerDeclaration.CompetencyAssessmentName = competencyAssessmentName; + LearnerDeclaration.CompetencyAssessmentId = competencyAssessmentId; + } + public SupervisedSelfAssessmentSignoffViewModel Signoff { get; set; } = new SupervisedSelfAssessmentSignoffViewModel(); + public SupervisorSignoffDeclarationViewModel SupervisorDeclaration { get; set; } = new SupervisorSignoffDeclarationViewModel(); + public LearnerSignoffDeclarationViewModel LearnerDeclaration { get; set; } = new LearnerSignoffDeclarationViewModel(); + public bool? TaskCompleteChecked { get; set; } + public int CompetencyAssessmentId { get; set; } + public string CompetencyAssessmentName { get; set; } = string.Empty; + } } diff --git a/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/SupervisedSelfAssessmentSignoffViewModel.cs b/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/SupervisedSelfAssessmentSignoffViewModel.cs index 7d456e6c7c..7a17b381a3 100644 --- a/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/SupervisedSelfAssessmentSignoffViewModel.cs +++ b/DigitalLearningSolutions.Web/ViewModels/CompetencyAssessments/SupervisedSelfAssessmentSignoffViewModel.cs @@ -14,15 +14,15 @@ public SupervisedSelfAssessmentSignoffViewModel(SupervisedSelfAssessmentSignoffV { CompetencyAssessmentId = model.CompetencyAssessmentId; Confirm = model.Confirm; - Supervised = model.Supervised; + Signoff = model.Signoff; ActionName = model.ActionName; } public int CompetencyAssessmentId { get; set; } public string CompetencyAssessmentName { get; set; } = string.Empty; - public int? Supervised { get; set; } + public int? Signoff { get; set; } public int? Confirm { get; set; } public string? ActionName { get; set; } - public string SupervisedText => Supervised == 1 ? "Yes" : "No"; + public string SignoffText => Signoff == 1 ? "Yes" : "No"; public string ConfirmText => Confirm == 1 ? "Yes" : "No"; } } diff --git a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/LearnerSignoffDeclaration.cshtml b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/LearnerSignoffDeclaration.cshtml index cbb6f83e2d..d1ea62cb3d 100644 --- a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/LearnerSignoffDeclaration.cshtml +++ b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/LearnerSignoffDeclaration.cshtml @@ -15,7 +15,7 @@
  1. Competency Assessments
  2. Manage Competency Assessment
  3. -
  4. Supervised self assessment and sign off
  5. +
  6. Supervisor roles
  7. Supervisor sign off declaration
  8. Learner sign off declaration
diff --git a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/ManageSupervisionSettings.cshtml b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/ManageSupervisionSettings.cshtml index 12a6f76454..92869acbf0 100644 --- a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/ManageSupervisionSettings.cshtml +++ b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/ManageSupervisionSettings.cshtml @@ -13,9 +13,12 @@
  1. Competency Assessments
  2. Manage Competency Assessment
  3. -
  4. Supervised self assessment and sign off
  5. -
  6. Supervisor sign off declaration
  7. -
  8. Learner sign off declaration
  9. +
  10. Supervisor roles
  11. + @if (@Model.Signoff.SignoffText == "Yes") + { +
  12. Supervisor sign off declaration
  13. +
  14. Learner sign off declaration
  15. + }
  16. Manage supervision settings
@@ -39,101 +42,101 @@
- Self assessment is supervised + Supervisor signs off self assessment
- @Model.Signoff.SupervisedText + @Model.Signoff.SignoffText
- @if (@Model.Signoff.SupervisedText == "Yes") - { -
-
- Supervisor sign off statement -
-
- @Model.SupervisorDeclaration.Declaration - - -
-
- - - View declaration text - - -
- @Html.Raw(@Model.SupervisorDeclaration.DeclarationText) -
-
+ @if (@Model.Signoff.SignoffText == "Yes") + { +
+
+ Supervisor sign off statement +
+
+ @Model.SupervisorDeclaration.Declaration + + +
+
+ + + View declaration text + + +
+ @Html.Raw(@Model.SupervisorDeclaration.DeclarationText)
-
-
- -
+
-
-
- Learner sign off statement -
-
- @Model.LearnerDeclaration.Declaration - - -
-
- - - View declaration text - - -
- @Html.Raw(@Model.LearnerDeclaration.DeclarationText) -
- -
+
+
+ +
+
+
+
+ Learner sign off statement +
+
+ @Model.LearnerDeclaration.Declaration + + +
+
+ + + View declaration text + + +
+ @Html.Raw(@Model.LearnerDeclaration.DeclarationText)
-
-
- -
-
-
-
- Supervisor or nominated supervisor confirms individual assessment results -
-
- @Model.Signoff.ConfirmText -
-
- } + + + +
+ +
+ +
+
+ Supervisor or nominated supervisor confirms individual assessment results +
+
+ @Model.Signoff.ConfirmText +
+ +
+ } - + @@ -153,4 +156,4 @@ - + diff --git a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisedSelfAssessmentSignoff.cshtml b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisedSelfAssessmentSignoff.cshtml index 06d29c94c4..8f10d4fb64 100644 --- a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisedSelfAssessmentSignoff.cshtml +++ b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisedSelfAssessmentSignoff.cshtml @@ -14,7 +14,7 @@
  1. Competency Assessments
  2. Manage Competency Assessment
  3. -
  4. Supervised self assessment and sign off
  5. +
  6. Supervisor roles
@@ -23,93 +23,92 @@
@if (errorHasOccurred) { - + } -
+
+
+ +

+ Supervisor roles +

+
-

Supervised self assessment and sign-off

- -
- -

- Will the self assessment be supervised? -

-
- -
-
- @if (ViewData.ModelState.ContainsKey("Supervised")) - { - - Error: - @ViewData.ModelState[nameof(Model.Supervised)]?.Errors.FirstOrDefault()?.ErrorMessage - - } +
+
+ @if (ViewData.ModelState.ContainsKey("Signoff") && ViewData.ModelState["Signoff"].Errors.Count > 0) + { + + Error: + @ViewData.ModelState[nameof(Model.Signoff)]?.Errors.FirstOrDefault()?.ErrorMessage + + } +
+
- -
-
- -
-
-
- @if (ViewData.ModelState.ContainsKey("Supervised")) +
+ +
+
+ @if (ViewData.ModelState.ContainsKey("Confirm") && ViewData.ModelState["Confirm"].Errors.Count > 0) { Error: - @ViewData.ModelState[nameof(Model.Confirm)]?.Errors.FirstOrDefault()?.ErrorMessage + @ViewData.ModelState[nameof(Model.Confirm)]?.Errors.FirstOrDefault()?.ErrorMessage } - + -
- - -
-
- - -
-
-
- -
-
- - +
+ + +
+
+ + +
+
+ - - - - - + + + + + + diff --git a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisorSignoffDeclaration.cshtml b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisorSignoffDeclaration.cshtml index 4c8abe6d68..96758f957f 100644 --- a/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisorSignoffDeclaration.cshtml +++ b/DigitalLearningSolutions.Web/Views/CompetencyAssessments/SupervisorSignoffDeclaration.cshtml @@ -15,7 +15,7 @@
  1. Competency Assessments
  2. Manage Competency Assessment
  3. -
  4. Supervised self assessment and sign off
  5. +
  6. Supervisor roles
  7. Supervisor sign off declaration