Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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 =
Expand Down Expand Up @@ -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,
Expand All @@ -1517,19 +1517,19 @@ 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;
END
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;
Expand All @@ -1540,7 +1540,7 @@ UPDATE SelfAssessments
new
{
competencyAssessmentId,
supervised,
signoff,
confirm,
supervisorDeclarationValue,
supervisorCustomText,
Expand All @@ -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} "
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")]
Expand Down Expand Up @@ -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
Expand All @@ -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 });
}
}
Expand All @@ -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);
Expand Down Expand Up @@ -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);
Expand All @@ -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);
}
Expand All @@ -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);
Expand All @@ -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);
Expand All @@ -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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ bool UpdateCompetencyAssessmentFeaturesTaskStatus(int id, bool descriptionStatus
int UpdateCompetencyAssessmentQuestionRoleRequirement(int assessmentId, int competencyId, int assessmentQuestionId, Dictionary<int, int?> responseRoleRequirements);
bool UpdateSupervisorRolesTaskStatus(int competencyAssessmentId, bool taskCompleteChecked);
bool UpdateSelfAssessments(int competencyAssessmentId,
int? supervised,
int? signoff,
int? confirm,
int? supervisorDeclarationValue,
string? supervisorCustomText,
Expand Down Expand Up @@ -521,24 +521,24 @@ 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,
int? leanerDeclarationValue,
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)
Expand Down
Loading
Loading