Skip to content

Commit 93eefb5

Browse files
authored
Merge pull request #253 from TechnologyEnhancedLearning/releases/LHPhoenix
Releases/lh phoenix
2 parents c28819b + d2d7ba5 commit 93eefb5

File tree

84 files changed

+2515
-380
lines changed

Some content is hidden

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

84 files changed

+2515
-380
lines changed

.github/azure-pipeline-database-ci.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
trigger:
22
branches:
3-
include:
4-
- CI
3+
exclude:
4+
- '*'
5+
6+
pr:
7+
branches:
8+
exclude:
9+
- '*'
10+
511
resources:
612
repositories:
713
- repository: self
@@ -12,6 +18,7 @@ jobs:
1218
displayName: Agent job
1319
pool:
1420
vmImage: windows-2019
21+
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/CI'))
1522
steps:
1623
- checkout: self
1724
clean: true

.github/azure-pipeline-openapi-reportapi-ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ trigger:
88
branches:
99
include:
1010
- CI
11+
exclude:
12+
- '*'
1113
name: $(date:yyyyMMdd)$(rev:.r)
1214
resources:
1315
repositories:
1416
- repository: self
1517
type: git
16-
ref: refs/heads/RC
18+
ref: refs/heads/CI
1719
jobs:
1820
- job: Job_1
1921
displayName: Agent job

.github/azure-pipeline-webui-ci.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@ variables:
44
value: '**/*.csproj'
55
- name: BuildParameters.TestProjects
66
value: '**/*[Tt]ests/*.csproj'
7-
trigger:
8-
branches:
9-
include:
10-
- CI
7+
# Triggered Via Azure pipeline
118
name: $(date:yyyyMMdd)$(rev:.r)
129
resources:
1310
repositories:

AdminUI/LearningHub.Nhs.AdminUI/Helpers/LearningActivityHelper.cs

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public static string GetResourceTypeVerb(this MyLearningDetailedItemViewModel my
128128
/// <returns>The .</returns>
129129
public static string GetActivityStatusDisplayText(this MyLearningDetailedItemViewModel myLearningDetailedItemViewModel)
130130
{
131-
if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Launched
131+
if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Completed
132132
&& (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Article
133133
|| myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.WebLink
134134
|| myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Image
@@ -137,7 +137,7 @@ public static string GetActivityStatusDisplayText(this MyLearningDetailedItemVie
137137
{
138138
return "Completed";
139139
}
140-
else if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Launched
140+
else if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Completed
141141
&& (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.GenericFile))
142142
{
143143
return "Downloaded";
@@ -164,36 +164,33 @@ public static string GetActivityStatusDisplayText(this MyLearningDetailedItemVie
164164
/// </summary>
165165
/// <param name="myLearningDetailedItemViewModel">The myLearningDetailedItemViewModel.</param>
166166
/// <returns>The <see cref="ActivityStatusEnum"/>.</returns>
167-
public static ActivityStatusEnum GetActivityStatus(this MyLearningDetailedItemViewModel myLearningDetailedItemViewModel)
167+
public static string GetActivityStatus(this MyLearningDetailedItemViewModel myLearningDetailedItemViewModel)
168168
{
169-
if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Launched
169+
if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Completed
170170
&& (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Article
171-
|| myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.WebLink
172171
|| myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Image
173172
|| myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Html
174173
|| myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Case))
175174
{
176-
return ActivityStatusEnum.Completed;
175+
return "Viewed";
177176
}
178-
else if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Launched
179-
&& (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.GenericFile))
177+
else if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Completed
178+
&& (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.WebLink))
180179
{
181-
return ActivityStatusEnum.Downloaded;
180+
return "Launched";
182181
}
183-
else if (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.Assessment)
182+
else if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Completed
183+
&& (myLearningDetailedItemViewModel.ResourceType == ResourceTypeEnum.GenericFile))
184184
{
185-
if (myLearningDetailedItemViewModel.Complete)
186-
{
187-
return myLearningDetailedItemViewModel.ScorePercentage >= myLearningDetailedItemViewModel.AssessmentDetails.PassMark ? ActivityStatusEnum.Passed : ActivityStatusEnum.Failed;
188-
}
189-
else
190-
{
191-
return myLearningDetailedItemViewModel.ScorePercentage >= myLearningDetailedItemViewModel.AssessmentDetails.PassMark ? ActivityStatusEnum.Passed : ActivityStatusEnum.InProgress;
192-
}
185+
return ActivityStatusEnum.Downloaded.ToString();
186+
}
187+
else if (myLearningDetailedItemViewModel.ActivityStatus == ActivityStatusEnum.Incomplete)
188+
{
189+
return ActivityStatusEnum.InProgress.ToString();
193190
}
194191
else
195192
{
196-
return myLearningDetailedItemViewModel.ActivityStatus;
193+
return myLearningDetailedItemViewModel.ActivityStatus.ToString();
197194
}
198195
}
199196

AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<PackageReference Include="HtmlSanitizer" Version="6.0.453" />
9090
<PackageReference Include="IdentityModel" Version="4.4.0" />
9191
<PackageReference Include="LearningHub.Nhs.Caching" Version="2.0.2" />
92-
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.29" />
92+
<PackageReference Include="LearningHub.Nhs.Models" Version="3.0.30" />
9393
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.19.0" />
9494
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.0" />
9595
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.0" />

AdminUI/LearningHub.Nhs.AdminUI/Views/User/_UserLearningRecord.cshtml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,36 +81,48 @@
8181
</td>
8282
<td>
8383
<span class="nhsuk-u-text-align-left table-content-spacing">
84-
@if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Completed)
84+
@if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Completed.ToString())
8585
{
8686
<strong class="nhsuk-tag nhsuk-tag--green tag-font">
8787
Completed
8888
</strong>
8989
}
90-
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Passed)
90+
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == "Viewed")
91+
{
92+
<strong class="nhsuk-tag nhsuk-tag--blue tag-font">
93+
Viewed
94+
</strong>
95+
}
96+
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Passed.ToString())
9197
{
9298
<strong class="nhsuk-tag tag-font">
9399
Passed
94100
</strong>
95101
}
96-
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Downloaded)
102+
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Downloaded.ToString())
97103
{
98-
<strong class="nhsuk-tag nhsuk-tag--green tag-font">
104+
<strong class="nhsuk-tag nhsuk-tag--grey tag-font">
99105
Downloaded
100106
</strong>
101107
}
102-
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.InProgress)
108+
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.InProgress.ToString())
103109
{
104110
<strong class="nhsuk-tag nhsuk-tag--yellow tag-font">
105-
Incomplete
111+
In progress
106112
</strong>
107113
}
108-
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Failed)
114+
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Failed.ToString())
109115
{
110116
<strong class="nhsuk-tag nhsuk-tag--red tag-font">
111117
Failed
112118
</strong>
113119
}
120+
else if (LearningActivityHelper.GetActivityStatus(userLearningRecord) == ActivityStatusEnum.Launched.ToString())
121+
{
122+
<strong class="nhsuk-tag nhsuk-tag--blue tag-font">
123+
Launched
124+
</strong>
125+
}
114126
</span>
115127
</td>
116128
</tr>

LearningHub.Nhs.WebUI/Configuration/Settings.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,16 @@ public Settings()
151151
/// </summary>
152152
public string AzureFileStorageConnectionString { get; set; }
153153

154+
/// <summary>
155+
/// Gets or sets the AzureSourceFileStorageConnectionString.
156+
/// </summary>
157+
public string AzureSourceArchiveStorageConnectionString { get; set; }
158+
159+
/// <summary>
160+
/// Gets or sets the AzurePurgedFileStorageConnectionString.
161+
/// </summary>
162+
public string AzureContentArchiveStorageConnectionString { get; set; }
163+
154164
/// <summary>
155165
/// Gets or sets the AzureFileStorageResourceShareName.
156166
/// </summary>

LearningHub.Nhs.WebUI/Controllers/AccountController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -953,7 +953,6 @@ public async Task<IActionResult> CreateAccountWorkPlaceSearch()
953953
public async Task<IActionResult> CreateAccountWorkPlace(AccountCreationViewModel accountCreationViewModel)
954954
{
955955
var accountCreation = await this.multiPageFormService.GetMultiPageFormData<AccountCreationViewModel>(MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);
956-
957956
if (string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
958957
{
959958
if (!string.IsNullOrWhiteSpace(accountCreation.LocationId))
@@ -1265,10 +1264,11 @@ private async Task<AccountCreationConfirmation> GetAccountConfirmationDetails(Ac
12651264
var employer = await this.locationService.GetByIdAsync(int.TryParse(accountCreationViewModel.LocationId, out int primaryEmploymentId) ? primaryEmploymentId : 0);
12661265
var region = await this.regionService.GetAllAsync();
12671266
var specialty = await this.specialtyService.GetSpecialtiesAsync();
1268-
var role = await this.jobRoleService.GetPagedFilteredAsync(accountCreationViewModel.CurrentRoleName, accountCreationViewModel.CurrentPageIndex, UserRegistrationContentPageSize);
1269-
if (role.Item1 > 0)
1267+
1268+
var role = await this.jobRoleService.GetFilteredAsync(accountCreationViewModel.CurrentRoleName);
1269+
if (role.Count > 0)
12701270
{
1271-
accountCreationViewModel.CurrentRoleName = role.Item2.FirstOrDefault(x => x.Id == int.Parse(accountCreationViewModel.CurrentRole)).NameWithStaffGroup;
1271+
accountCreationViewModel.CurrentRoleName = role.FirstOrDefault(x => x.Id == int.Parse(accountCreationViewModel.CurrentRole)).NameWithStaffGroup;
12721272
}
12731273

12741274
var grade = await this.gradeService.GetGradesForJobRoleAsync(int.TryParse(accountCreationViewModel.CurrentRole, out int roleId) ? roleId : 0);

LearningHub.Nhs.WebUI/Controllers/Api/ContributeController.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace LearningHub.Nhs.WebUI.Controllers.Api
22
{
33
using System;
4+
using System.Collections.Generic;
5+
using System.Linq;
46
using System.Net;
57
using System.Text.RegularExpressions;
68
using System.Threading.Tasks;
@@ -222,7 +224,13 @@ public async Task<ActionResult> DeleteResourceKeywordAsync([FromBody] KeywordDel
222224
[Route("DeleteResourceVersion/{resourceversionId}")]
223225
public async Task<ActionResult> DeleteResourceVersion(int resourceVersionId)
224226
{
227+
var associatedFile = await this.resourceService.GetResourceVersionExtendedAsync(resourceVersionId);
225228
var validationResult = await this.contributeService.DeleteResourceVersionAsync(resourceVersionId);
229+
if (validationResult.IsValid)
230+
{
231+
_ = Task.Run(async () => { await this.fileService.PurgeResourceFile(associatedFile); });
232+
}
233+
226234
return this.Ok(validationResult);
227235
}
228236

LearningHub.Nhs.WebUI/Controllers/Api/ResourceController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public async Task<IActionResult> DownloadResourceAndRecordActivity(int resourceV
101101
ResourceVersionId = resourceVersionId,
102102
NodePathId = nodePathId,
103103
ActivityStart = DateTime.UtcNow, // TODO: What about user's timezone offset when Javascript is disabled? Needs JavaScript.
104-
ActivityStatus = ActivityStatusEnum.Downloaded,
104+
ActivityStatus = ActivityStatusEnum.Completed,
105105
};
106106
await this.activityService.CreateResourceActivityAsync(activity);
107107

@@ -128,7 +128,7 @@ public async Task<IActionResult> NavigateToWeblinkAndRecordActivity(int resource
128128
ResourceVersionId = resourceVersionId,
129129
NodePathId = nodePathId,
130130
ActivityStart = DateTime.UtcNow, // TODO: What about user's timezone offset when Javascript is disabled? Needs JavaScript.
131-
ActivityStatus = ActivityStatusEnum.Launched,
131+
ActivityStatus = ActivityStatusEnum.Completed,
132132
};
133133
await this.activityService.CreateResourceActivityAsync(activity);
134134

0 commit comments

Comments
 (0)