Skip to content

Commit 123d3f5

Browse files
authored
Merge pull request #3120 from TechnologyEnhancedLearning/DLS-Release-v1.2.0
Dls release v1.2.0 to DEV
2 parents 84ac07f + 6f7b1e2 commit 123d3f5

File tree

67 files changed

+179
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+179
-89
lines changed

.github/workflows/build-and-deploy-production.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
steps:
2020
- uses: actions/checkout@v4
2121

22-
- name: Setup .NET Core SDK 6.0
22+
- name: Setup .NET Core SDK 8.0
2323
uses: actions/setup-dotnet@v4
2424
with:
25-
dotnet-version: 6.0.x
25+
dotnet-version: 8.0.x
2626
- name: Setup node
2727
uses: actions/setup-node@v4
2828
with:

.github/workflows/build-and-deploy-uat.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
steps:
2323
- uses: actions/checkout@v4
2424

25-
- name: Setup .NET Core SDK 6.0
25+
- name: Setup .NET Core SDK 8.0
2626
uses: actions/setup-dotnet@v4
2727
with:
28-
dotnet-version: 6.0.x
28+
dotnet-version: 8.0.x
2929
- name: Setup node
3030
uses: actions/setup-node@v4
3131
with:

.github/workflows/continuous-integration-workflow.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ jobs:
1212
steps:
1313
- uses: actions/checkout@v4
1414

15-
- name: Setup .NET Core SDK 6.0
15+
- name: Setup .NET Core SDK 8.0
1616
uses: actions/setup-dotnet@v4
1717
with:
18-
dotnet-version: 6.0.x
18+
dotnet-version: 8.0.x
1919

2020
- name: Add TechnologyEnhancedLearning as nuget package source
2121
run: dotnet nuget add source https://pkgs.dev.azure.com/e-LfH/_packaging/LearningHubFeed/nuget/v3/index.json --name TechnologyEnhancedLearning --username 'kevin.whittaker' --password ${{ secrets.AZURE_DEVOPS_PAT }} --store-password-in-clear-text

DigitalLearningSolutions.Data/DataServices/FrameworkDataService.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ bool zeroBased
133133

134134
int InsertFrameworkCompetency(int competencyId, int? frameworkCompetencyGroupID, int adminId, int frameworkId, bool alwaysShowDescription = false);
135135

136-
int AddCollaboratorToFramework(int frameworkId, string userEmail, bool canModify);
136+
int AddCollaboratorToFramework(int frameworkId, string userEmail, bool canModify, int? centreID);
137+
137138
int AddCustomFlagToFramework(int frameworkId, string flagName, string flagGroup, string flagTagClass);
138139
void UpdateFrameworkCustomFlag(int frameworkId, int id, string flagName, string flagGroup, string flagTagClass);
139140

@@ -740,7 +741,7 @@ FROM FrameworkCollaborators fc
740741
);
741742
}
742743

743-
public int AddCollaboratorToFramework(int frameworkId, string? userEmail, bool canModify)
744+
public int AddCollaboratorToFramework(int frameworkId, string? userEmail, bool canModify, int? centreID)
744745
{
745746
if (userEmail is null || userEmail.Length == 0)
746747
{
@@ -763,8 +764,8 @@ FROM FrameworkCollaborators
763764
}
764765

765766
var adminId = (int?)connection.ExecuteScalar(
766-
@"SELECT AdminID FROM AdminUsers WHERE Email = @userEmail AND Active = 1",
767-
new { userEmail }
767+
@"SELECT AdminID FROM AdminUsers WHERE Email = @userEmail AND Active = 1 AND CentreID = @centreID",
768+
new { userEmail, centreID }
768769
);
769770
if (adminId is null)
770771
{

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/CompetencyDataService.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,41 @@ FROM SelfAssessmentResults
615615
);
616616
}
617617

618+
public IEnumerable<SelfAssessmentResult> GetSelfAssessmentResultswithSupervisorVerificationsForDelegateSelfAssessmentCompetency(
619+
int delegateUserId,
620+
int selfAssessmentId,
621+
int competencyId
622+
)
623+
{
624+
return connection.Query<SelfAssessmentResult>(
625+
@"SELECT
626+
s.ID,
627+
s.SelfAssessmentID,
628+
s.CompetencyID,
629+
s.AssessmentQuestionID,
630+
s.Result,
631+
s.DateTime,
632+
s.SupportingComments,
633+
s.DelegateUserId
634+
FROM SelfAssessmentResults s inner join
635+
SelfAssessmentResultSupervisorVerifications sv ON s.ID = sv.SelfAssessmentResultId AND sv.Superceded = 0
636+
WHERE s.CompetencyID = @competencyId
637+
AND s.SelfAssessmentID = @selfAssessmentId
638+
AND s.DelegateUserID = @delegateUserId",
639+
new { selfAssessmentId, delegateUserId, competencyId }
640+
);
641+
}
642+
643+
public void RemoveReviewCandidateAssessmentOptionalCompetencies(int id)
644+
{
645+
646+
connection.Execute(@"UPDATE SelfAssessmentResults SET Result = NULL WHERE ID = @id", new { id});
647+
648+
connection.Execute(
649+
@"delete from SelfAssessmentResultSupervisorVerifications WHERE SelfAssessmentResultId = @id", new { id });
650+
651+
}
652+
618653
private static string PrintResult(
619654
int competencyId,
620655
int selfAssessmentId,

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,12 @@ int GetSelfAssessmentActivityDelegatesExportCount(string searchString, string so
173173
bool IsCentreSelfAssessment(int selfAssessmentId, int centreId);
174174
bool HasMinimumOptionalCompetencies(int selfAssessmentId, int delegateUserId);
175175
int GetSelfAssessmentCategoryId(int selfAssessmentId);
176+
void RemoveReviewCandidateAssessmentOptionalCompetencies(int id);
177+
public IEnumerable<SelfAssessmentResult> GetSelfAssessmentResultswithSupervisorVerificationsForDelegateSelfAssessmentCompetency(
178+
int delegateUserId,
179+
int selfAssessmentId,
180+
int competencyId
181+
);
176182
}
177183
public partial class SelfAssessmentDataService : ISelfAssessmentDataService
178184
{

DigitalLearningSolutions.Web/Controllers/FrameworksController/Frameworks.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public IActionResult CreateNewFramework(string actionname, int frameworkId = 0)
166166
var sessionNewFramework = multiPageFormService.GetMultiPageFormData<SessionNewFramework>(
167167
MultiPageFormDataFeature.AddNewFramework,
168168
TempData
169-
).GetAwaiter().GetResult();
169+
).GetAwaiter().GetResult();
170170
multiPageFormService.SetMultiPageFormData(sessionNewFramework, MultiPageFormDataFeature.AddNewFramework, TempData);
171171
detailFramework = sessionNewFramework.DetailFramework;
172172
}
@@ -252,7 +252,7 @@ public IActionResult SaveNewFramework(string frameworkname, string actionname)
252252
{
253253
return StatusCode(500);
254254
}
255-
var sessionNewFramework = multiPageFormService.GetMultiPageFormData<SessionNewFramework>(MultiPageFormDataFeature.AddNewFramework, TempData).GetAwaiter().GetResult();
255+
var sessionNewFramework = multiPageFormService.GetMultiPageFormData<SessionNewFramework>(MultiPageFormDataFeature.AddNewFramework, TempData).GetAwaiter().GetResult();
256256
multiPageFormService.SetMultiPageFormData(
257257
sessionNewFramework,
258258
MultiPageFormDataFeature.AddNewFramework,
@@ -641,7 +641,8 @@ public IActionResult AddCollaborators(string actionname, int frameworkId, bool e
641641
[Route("/Frameworks/Collaborators/{actionname}/{frameworkId}/")]
642642
public IActionResult AddCollaborator(string actionname, string userEmail, bool canModify, int frameworkId)
643643
{
644-
var collaboratorId = frameworkService.AddCollaboratorToFramework(frameworkId, userEmail, canModify);
644+
int? centreID = GetCentreId();
645+
var collaboratorId = frameworkService.AddCollaboratorToFramework(frameworkId, userEmail, canModify, centreID);
645646
if (collaboratorId > 0)
646647
{
647648
frameworkNotificationService.SendFrameworkCollaboratorInvite(collaboratorId, GetAdminId());

DigitalLearningSolutions.Web/Controllers/LearningPortalController/SelfAssessment.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1532,6 +1532,22 @@ ManageOptionalCompetenciesViewModel model
15321532
);
15331533
}
15341534
}
1535+
var optionalCompetency =
1536+
(selfAssessmentService.GetCandidateAssessmentOptionalCompetencies(selfAssessmentId, delegateUserId)).Where(x => !x.IncludedInSelfAssessment);
1537+
if (optionalCompetency.Any())
1538+
{
1539+
foreach (var optinal in optionalCompetency)
1540+
{
1541+
var selfAssessmentResults = selfAssessmentService.GetSelfAssessmentResultswithSupervisorVerificationsForDelegateSelfAssessmentCompetency(delegateUserId, selfAssessmentId, optinal.Id);
1542+
if (selfAssessmentResults.Any())
1543+
{
1544+
foreach (var item in selfAssessmentResults)
1545+
{
1546+
selfAssessmentService.RemoveReviewCandidateAssessmentOptionalCompetencies(item.Id);
1547+
}
1548+
}
1549+
}
1550+
}
15351551
if (model.GroupOptionalCompetenciesChecked != null)
15361552
{
15371553
var optionalCompetencies =
@@ -1549,7 +1565,7 @@ ManageOptionalCompetenciesViewModel model
15491565
}
15501566

15511567
}
1552-
1568+
15531569
return RedirectToAction("SelfAssessmentOverview", new { selfAssessmentId, vocabulary });
15541570
}
15551571

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
declare module 'nhsuk-frontend/packages/components/header/header' {
1+
declare module 'nhse-tel-frontend/packages/components/header/header' {
22
export default function Header(): void;
33
}
44

5-
declare module 'nhsuk-frontend/packages/components/skip-link/skip-link' {
5+
declare module 'nhse-tel-frontend/packages/components/skip-link/skip-link' {
66
export default function SkipLink(): void;
77
}
88

9-
declare module 'nhsuk-frontend/packages/components/details/details' {
9+
declare module 'nhse-tel-frontend/packages/components/details/details' {
1010
export default function Details(): void;
1111
}
1212

13-
declare module 'nhsuk-frontend/packages/components/radios/radios' {
13+
declare module 'nhse-tel-frontend/packages/components/radios/radios' {
1414
export default function Radios(): void;
1515
}
1616

17-
declare module 'nhsuk-frontend/packages/components/checkboxes/checkboxes' {
17+
declare module 'nhse-tel-frontend/packages/components/checkboxes/checkboxes' {
1818
export default function Checkboxes(): void;
1919
}
2020

21-
declare module 'nhsuk-frontend/packages/components/card/card' {
21+
declare module 'nhse-tel-frontend/packages/components/card/card' {
2222
export default function Card(): void;
2323
}

DigitalLearningSolutions.Web/Scripts/nhsuk.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// Components
2-
import Header from 'nhsuk-frontend/packages/components/header/header';
3-
import SkipLink from 'nhsuk-frontend/packages/components/skip-link/skip-link';
4-
import Details from 'nhsuk-frontend/packages/components/details/details';
5-
import Radios from 'nhsuk-frontend/packages/components/radios/radios';
6-
import Checkboxes from 'nhsuk-frontend/packages/components/checkboxes/checkboxes';
2+
import Header from 'nhse-tel-frontend/packages/components/header/header';
3+
import SkipLink from 'nhse-tel-frontend/packages/components/skip-link/skip-link';
4+
import Details from 'nhse-tel-frontend/packages/components/details/details';
5+
import Radios from 'nhse-tel-frontend/packages/components/radios/radios';
6+
import Checkboxes from 'nhse-tel-frontend/packages/components/checkboxes/checkboxes';
77

88
// Polyfills
9-
import 'nhsuk-frontend/packages/polyfills';
9+
import 'nhse-tel-frontend/packages/polyfills';
1010
import 'core-js/stable';
1111
import 'regenerator-runtime/runtime';
1212

0 commit comments

Comments
 (0)