Skip to content

Commit 5c53542

Browse files
committed
Merge branch 'DLS-Release-v1.1.2' into UAT
2 parents 5249088 + d77ec78 commit 5c53542

File tree

4 files changed

+33
-9
lines changed

4 files changed

+33
-9
lines changed

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/CandidateAssessmentsDataService.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,13 @@ INNER JOIN CompetencyGroups AS CG
298298
}
299299
}
300300

301+
public void RemoveSignoffRequestById(int candidateAssessmentSupervisorVerificationsId)
302+
{
303+
var numberOfAffectedRows = connection.Execute(
304+
@" DELETE FROM CandidateAssessmentSupervisorVerifications WHERE ID = @candidateAssessmentSupervisorVerificationsId ",
305+
new { candidateAssessmentSupervisorVerificationsId });
306+
}
307+
301308

302309
public void SetCompleteByDate(int selfAssessmentId, int delegateUserId, DateTime? completeByDate)
303310
{

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ int competencyId
7878

7979
void UpdateLastAccessed(int selfAssessmentId, int delegateUserId);
8080
void RemoveSignoffRequests(int selfAssessmentId, int delegateUserId, int competencyGroupsId);
81+
void RemoveSignoffRequestById(int candidateAssessmentSupervisorVerificationsId);
8182
void SetCompleteByDate(int selfAssessmentId, int delegateUserId, DateTime? completeByDate);
8283

8384
void SetSubmittedDateNow(int selfAssessmentId, int delegateUserId);

DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,7 +1565,18 @@ ManageOptionalCompetenciesViewModel model
15651565
}
15661566

15671567
}
1568-
1568+
1569+
if (!selfAssessmentService.HasMinimumOptionalCompetencies(selfAssessmentId, delegateUserId))
1570+
{
1571+
var supervisorsSignOffs = selfAssessmentService.GetSupervisorSignOffsForCandidateAssessment(selfAssessmentId, delegateUserId);
1572+
1573+
if (supervisorsSignOffs.FirstOrDefault() is { Verified: null, Removed: null })
1574+
{
1575+
selfAssessmentService.RemoveSignoffRequestById(supervisorsSignOffs.FirstOrDefault().ID);
1576+
}
1577+
}
1578+
1579+
15691580
return RedirectToAction("SelfAssessmentOverview", new { selfAssessmentId, vocabulary });
15701581
}
15711582

@@ -1577,9 +1588,9 @@ public IActionResult RequestSignOff(int selfAssessmentId)
15771588
var delegateId = User.GetCandidateIdKnownNotNull();
15781589
var recentResults = selfAssessmentService.GetMostRecentResults(selfAssessmentId, delegateId).ToList();
15791590
var competencySummaries = CertificateHelper.CompetencySummation(recentResults);
1580-
1581-
if (competencySummaries.QuestionsCount != competencySummaries.VerifiedCount) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
1582-
1591+
1592+
if (competencySummaries.QuestionsCount != competencySummaries.VerifiedCount) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
1593+
15831594
var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById(delegateUserId, selfAssessmentId);
15841595
var supervisors =
15851596
selfAssessmentService.GetSignOffSupervisorsForSelfAssessmentId(selfAssessmentId, delegateUserId);
@@ -1591,7 +1602,7 @@ public IActionResult RequestSignOff(int selfAssessmentId)
15911602
NumberOfSelfAssessedOptionalCompetencies = optionalCompetencies.Count(x => x.IncludedInSelfAssessment)
15921603
};
15931604
if (model.NumberOfSelfAssessedOptionalCompetencies < model.SelfAssessment.MinimumOptionalCompetencies) return RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 });
1594-
1605+
15951606
return View("SelfAssessments/RequestSignOff", model);
15961607
}
15971608

DigitalLearningSolutions.Web/Services/SelfAssessmentService.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public interface ISelfAssessmentService
2727

2828
void UpdateLastAccessed(int selfAssessmentId, int delegateUserId);
2929
void RemoveSignoffRequests(int selfAssessmentId, int delegateUserId, int competencyGroupsId);
30+
void RemoveSignoffRequestById(int candidateAssessmentSupervisorVerificationsId);
3031
void IncrementLaunchCount(int selfAssessmentId, int delegateUserId);
3132

3233
void SetCompleteByDate(int selfAssessmentId, int delegateUserId, DateTime? completeByDate);
@@ -160,7 +161,7 @@ public IEnumerable<SelfAssessmentResult> GetSelfAssessmentResultswithSupervisorV
160161
int selfAssessmentId,
161162
int competencyId
162163
);
163-
void RemoveReviewCandidateAssessmentOptionalCompetencies(int id);
164+
void RemoveReviewCandidateAssessmentOptionalCompetencies(int id);
164165
}
165166

166167
public class SelfAssessmentService : ISelfAssessmentService
@@ -201,6 +202,10 @@ public void RemoveSignoffRequests(int selfAssessmentId, int delegateUserId, int
201202
{
202203
selfAssessmentDataService.RemoveSignoffRequests(selfAssessmentId, delegateUserId, competencyGroupId);
203204
}
205+
public void RemoveSignoffRequestById(int candidateAssessmentSupervisorVerificationsId)
206+
{
207+
selfAssessmentDataService.RemoveSignoffRequestById(candidateAssessmentSupervisorVerificationsId);
208+
}
204209
public void IncrementLaunchCount(int selfAssessmentId, int delegateUserId)
205210
{
206211
selfAssessmentDataService.IncrementLaunchCount(selfAssessmentId, delegateUserId);
@@ -467,10 +472,10 @@ public void RemoveEnrolment(int selfAssessmentId, int delegateUserId)
467472

468473
var selfAssessmentCategoryId = selfAssessmentDataService.GetSelfAssessmentCategoryId((int)selfAssessmentId);
469474

470-
if (adminCategoryId > 0 && adminCategoryId != selfAssessmentCategoryId)
475+
if (adminCategoryId > 0 && adminCategoryId != selfAssessmentCategoryId)
471476
{
472477
// return null variants of the object when the categoryID mismatches
473-
return (new SelfAssessmentDelegatesData(), null);
478+
return (new SelfAssessmentDelegatesData(), null);
474479
}
475480

476481
(var delegateselfAssessments, int resultCount) = selfAssessmentDataService.GetSelfAssessmentDelegates(searchString, offSet, itemsPerPage, sortBy, sortDirection,
@@ -603,7 +608,7 @@ int competencyId
603608
}
604609
public void RemoveReviewCandidateAssessmentOptionalCompetencies(int id)
605610
{
606-
selfAssessmentDataService.RemoveReviewCandidateAssessmentOptionalCompetencies(id);
611+
selfAssessmentDataService.RemoveReviewCandidateAssessmentOptionalCompetencies(id);
607612
}
608613
}
609614
}

0 commit comments

Comments
 (0)