Skip to content

Commit e55d9e3

Browse files
authored
Merge pull request #2436 from TechnologyEnhancedLearning/Develop/fix/TD-2481-CourseProgressView-Issues
TD-2481-Course progress UI issue fixed.
2 parents 598a7ae + 47259c8 commit e55d9e3

File tree

3 files changed

+169
-46
lines changed

3 files changed

+169
-46
lines changed

DigitalLearningSolutions.Data/DataServices/CourseDataService.cs

Lines changed: 125 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ FROM dbo.Customisations AS cu
286286
pr.Completed AS Completed,
287287
pr.Evaluated AS Evaluated,
288288
pr.LoginCount,
289-
pr.Duration AS LearningTime,
289+
Sum(apr.TutTime) AS LearningTime,
290290
pr.DiagnosticScore,
291291
LTRIM(RTRIM(pr.Answer1)) AS Answer1,
292292
LTRIM(RTRIM(pr.Answer2)) AS Answer2,
@@ -315,6 +315,7 @@ ap.ArchivedDate AS CourseArchivedDate
315315
FROM Customisations cu
316316
INNER JOIN Applications AS ap ON ap.ApplicationID = cu.ApplicationID
317317
INNER JOIN Progress AS pr ON pr.CustomisationID = cu.CustomisationID
318+
INNER JOIN aspProgress AS apr ON pr.ProgressID = apr.ProgressID
318319
LEFT OUTER JOIN AdminAccounts AS aaSupervisor ON aaSupervisor.ID = pr.SupervisorAdminId
319320
LEFT OUTER JOIN Users AS uSupervisor ON uSupervisor.ID = aaSupervisor.UserID
320321
LEFT OUTER JOIN AdminAccounts AS aaEnrolledBy ON aaEnrolledBy.ID = pr.EnrolledByAdminID
@@ -865,7 +866,47 @@ public IEnumerable<DelegateCourseInfo> GetDelegateCoursesInfo(int delegateId)
865866
$@"{selectDelegateCourseInfoQuery}
866867
WHERE pr.CandidateID = @delegateId
867868
AND pr.RemovedDate IS NULL
868-
AND ap.DefaultContentTypeID <> 4",
869+
AND ap.DefaultContentTypeID <> 4
870+
GROUP BY cu.CustomisationID,
871+
cu.CustomisationName,
872+
ap.ApplicationName,
873+
ap.CourseCategoryID,
874+
cu.IsAssessed,
875+
cu.CentreID,
876+
cu.Active,
877+
cu.AllCentres,
878+
pr.ProgressId,
879+
pr.PLLocked,
880+
pr.SubmittedTime,
881+
pr.CompleteByDate,
882+
pr.RemovedDate,
883+
pr.Completed,
884+
pr.Evaluated,
885+
pr.LoginCount,
886+
pr.Duration,
887+
pr.DiagnosticScore,
888+
LTRIM(RTRIM(pr.Answer1)),
889+
LTRIM(RTRIM(pr.Answer2)),
890+
LTRIM(RTRIM(pr.Answer3)),
891+
pr.FirstSubmittedTime,
892+
pr.EnrollmentMethodID,
893+
uEnrolledBy.FirstName,
894+
uEnrolledBy.LastName,
895+
aaEnrolledBy.Active,
896+
aaSupervisor.ID,
897+
uSupervisor.FirstName,
898+
uSupervisor.LastName,
899+
aaSupervisor.Active,
900+
da.ID,
901+
da.CandidateNumber,
902+
u.FirstName,
903+
u.LastName,
904+
COALESCE(ucd.Email, u.PrimaryEmail),
905+
da.Active,
906+
u.HasBeenPromptedForPrn,
907+
u.ProfessionalRegistrationNumber,
908+
da.CentreID,
909+
ap.ArchivedDate",
869910
new { delegateId }
870911
);
871912
}
@@ -875,7 +916,47 @@ AND pr.RemovedDate IS NULL
875916
return connection.QuerySingleOrDefault<DelegateCourseInfo>(
876917
$@"{selectDelegateCourseInfoQuery}
877918
WHERE pr.ProgressID = @progressId
878-
AND ap.DefaultContentTypeID <> 4",
919+
AND ap.DefaultContentTypeID <> 4
920+
GROUP BY cu.CustomisationID,
921+
cu.CustomisationName,
922+
ap.ApplicationName,
923+
ap.CourseCategoryID,
924+
cu.IsAssessed,
925+
cu.CentreID,
926+
cu.Active,
927+
cu.AllCentres,
928+
pr.ProgressId,
929+
pr.PLLocked,
930+
pr.SubmittedTime,
931+
pr.CompleteByDate,
932+
pr.RemovedDate,
933+
pr.Completed,
934+
pr.Evaluated,
935+
pr.LoginCount,
936+
pr.Duration,
937+
pr.DiagnosticScore,
938+
LTRIM(RTRIM(pr.Answer1)),
939+
LTRIM(RTRIM(pr.Answer2)),
940+
LTRIM(RTRIM(pr.Answer3)),
941+
pr.FirstSubmittedTime,
942+
pr.EnrollmentMethodID,
943+
uEnrolledBy.FirstName,
944+
uEnrolledBy.LastName,
945+
aaEnrolledBy.Active,
946+
aaSupervisor.ID,
947+
uSupervisor.FirstName,
948+
uSupervisor.LastName,
949+
aaSupervisor.Active,
950+
da.ID,
951+
da.CandidateNumber,
952+
u.FirstName,
953+
u.LastName,
954+
COALESCE(ucd.Email, u.PrimaryEmail),
955+
da.Active,
956+
u.HasBeenPromptedForPrn,
957+
u.ProfessionalRegistrationNumber,
958+
da.CentreID,
959+
ap.ArchivedDate",
879960
new { progressId }
880961
);
881962
}
@@ -893,7 +974,47 @@ FROM CentreApplications cap
893974
cap.Active = 1)))
894975
AND da.CentreID = @centreId
895976
AND pr.CustomisationID = @customisationId
896-
AND ap.DefaultContentTypeID <> 4",
977+
AND ap.DefaultContentTypeID <> 4
978+
GROUP BY cu.CustomisationID,
979+
cu.CustomisationName,
980+
ap.ApplicationName,
981+
ap.CourseCategoryID,
982+
cu.IsAssessed,
983+
cu.CentreID,
984+
cu.Active,
985+
cu.AllCentres,
986+
pr.ProgressId,
987+
pr.PLLocked,
988+
pr.SubmittedTime,
989+
pr.CompleteByDate,
990+
pr.RemovedDate,
991+
pr.Completed,
992+
pr.Evaluated,
993+
pr.LoginCount,
994+
pr.Duration,
995+
pr.DiagnosticScore,
996+
LTRIM(RTRIM(pr.Answer1)),
997+
LTRIM(RTRIM(pr.Answer2)),
998+
LTRIM(RTRIM(pr.Answer3)),
999+
pr.FirstSubmittedTime,
1000+
pr.EnrollmentMethodID,
1001+
uEnrolledBy.FirstName,
1002+
uEnrolledBy.LastName,
1003+
aaEnrolledBy.Active,
1004+
aaSupervisor.ID,
1005+
uSupervisor.FirstName,
1006+
uSupervisor.LastName,
1007+
aaSupervisor.Active,
1008+
da.ID,
1009+
da.CandidateNumber,
1010+
u.FirstName,
1011+
u.LastName,
1012+
COALESCE(ucd.Email, u.PrimaryEmail),
1013+
da.Active,
1014+
u.HasBeenPromptedForPrn,
1015+
u.ProfessionalRegistrationNumber,
1016+
da.CentreID,
1017+
ap.ArchivedDate",
8971018
new { customisationId, centreId }
8981019
);
8991020
}

DigitalLearningSolutions.Data/DataServices/ProgressDataService.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,8 @@ INNER JOIN Sections AS s
436436
INNER JOIN Tutorials AS t ON s.SectionID = t.SectionID
437437
INNER JOIN CustomisationTutorials AS ct ON t.TutorialID = ct.TutorialID ON asp1.TutorialID = t.TutorialID
438438
LEFT OUTER JOIN AssessAttempts AS aa ON asp1.ProgressID = aa.ProgressID AND s.SectionNumber = aa.SectionNumber
439+
AND (aa.AssessAttemptID = (SELECT TOP(1) AssessAttemptID FROM AssessAttempts AS aa1
440+
WHERE p.ProgressID = aa1.ProgressID AND S.SectionNumber = aa1.SectionNumber ORDER BY aa1.Status DESC, aa1.Score DESC))
439441
WHERE
440442
(ct.CustomisationID = p.CustomisationID) AND (p.ProgressID = @progressId) AND (s.ArchivedDate IS NULL)
441443
AND (ct.Status = 1 OR ct.DiagStatus = 1 OR cu.IsAssessed = 1)

DigitalLearningSolutions.Web/Views/TrackingSystem/Delegates/DelegateProgress/_SectionProgress.cshtml

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,58 +2,58 @@
22
@model SectionProgressViewModel
33

44
<div class="nhsuk-body-l nhsuk-u-font-weight-bold word-break">
5-
@Model.SectionName
5+
@Model.SectionName
66
</div>
77

88
<dl class="basic-summary-list nhsuk-u-margin-bottom-3">
9-
<div class="nhsuk-summary-list__row basic-summary-list__row">
10-
<dt class="nhsuk-summary-list__key">
11-
Completion
12-
</dt>
13-
<dd class="nhsuk-summary-list__value">
14-
@Model.Completion%
15-
</dd>
16-
</div>
17-
<div class="nhsuk-summary-list__row basic-summary-list__row">
18-
<dt class="nhsuk-summary-list__key">
19-
Learning Time
20-
</dt>
21-
<dd class="nhsuk-summary-list__value">
22-
@Model.TotalTime min (average learning time is @Model.AverageTime min)
23-
</dd>
24-
</div>
25-
@if (Model.PostLearningAssessment)
26-
{
27-
@if (Model.Attempts > 0)
28-
{
29-
<div class="nhsuk-summary-list__row">
9+
<div class="nhsuk-summary-list__row basic-summary-list__row">
3010
<dt class="nhsuk-summary-list__key">
31-
Outcome
11+
Completion
3212
</dt>
3313
<dd class="nhsuk-summary-list__value">
34-
@Model.Outcome%
14+
@Model.Completion%
3515
</dd>
36-
</div>
37-
}
38-
<div class="nhsuk-summary-list__row">
39-
<dt class="nhsuk-summary-list__key">
40-
Attempts
41-
</dt>
42-
<dd class="nhsuk-summary-list__value">
43-
@(Model.Attempts > 0 ? Model.Attempts.ToString() : "Not attempted")
44-
</dd>
4516
</div>
46-
<div class="nhsuk-summary-list__row">
47-
<dt class="nhsuk-summary-list__key">
48-
Passed/Failed
49-
</dt>
50-
<dt class="nhsuk-summary-list__value">
51-
@(Model.Attempts > 0 ? (Model.Passed ? "Passed" : "Failed") : "Not attempted")
52-
</dt>
17+
<div class="nhsuk-summary-list__row basic-summary-list__row">
18+
<dt class="nhsuk-summary-list__key">
19+
Learning Time
20+
</dt>
21+
<dd class="nhsuk-summary-list__value">
22+
@Model.TotalTime min
23+
</dd>
5324
</div>
54-
}
25+
@if (Model.PostLearningAssessment)
26+
{
27+
@if (Model.Attempts > 0)
28+
{
29+
<div class="nhsuk-summary-list__row">
30+
<dt class="nhsuk-summary-list__key">
31+
Outcome
32+
</dt>
33+
<dd class="nhsuk-summary-list__value">
34+
@Model.Outcome%
35+
</dd>
36+
</div>
37+
}
38+
<div class="nhsuk-summary-list__row">
39+
<dt class="nhsuk-summary-list__key">
40+
Attempts
41+
</dt>
42+
<dd class="nhsuk-summary-list__value">
43+
@(Model.Attempts > 0 ? Model.Attempts.ToString() : "Not attempted")
44+
</dd>
45+
</div>
46+
<div class="nhsuk-summary-list__row">
47+
<dt class="nhsuk-summary-list__key">
48+
Passed/Failed
49+
</dt>
50+
<dt class="nhsuk-summary-list__value">
51+
@(Model.Attempts > 0 ? (Model.Passed ? "Passed" : "Failed") : "Not attempted")
52+
</dt>
53+
</div>
54+
}
5555
</dl>
5656

5757
<div class="nhsuk-u-margin-top-3">
58-
<partial name="_TutorialProgressTable" model="Model.Tutorials" />
58+
<partial name="_TutorialProgressTable" model="Model.Tutorials" />
5959
</div>

0 commit comments

Comments
 (0)