Skip to content

Commit 2b78f32

Browse files
committed
Merge branch 'DLS-Release-v1.1.2' into UAT
2 parents 920b0d4 + 9835d10 commit 2b78f32

File tree

10 files changed

+55
-17
lines changed

10 files changed

+55
-17
lines changed

DigitalLearningSolutions.Data/DataServices/CourseCategoriesDataService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
public interface ICourseCategoriesDataService
1010
{
1111
IEnumerable<Category> GetCategoriesForCentreAndCentrallyManagedCourses(int centreId);
12-
string? GetCourseCategoryName(int categoryId);
12+
string? GetCourseCategoryName(int? categoryId);
1313
}
1414

1515
public class CourseCategoriesDataService : ICourseCategoriesDataService
@@ -34,7 +34,7 @@ FROM CourseCategories
3434
);
3535
}
3636

37-
public string? GetCourseCategoryName(int categoryId)
37+
public string? GetCourseCategoryName(int? categoryId)
3838
{
3939
var name = connection.QueryFirstOrDefault<string?>(
4040
@"SELECT CategoryName

DigitalLearningSolutions.Web.Tests/Controllers/TrackingSystem/Delegates/PromoteToAdminControllerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void Summary_post_registers_delegate_with_expected_values()
9494
A<string>._, A<string>._, A<string>._, A<string>._,
9595
A<bool>._, A<bool>._, A<bool>._, A<bool>._,
9696
A<bool>._, A<bool>._, A<bool>._, A<bool>._,
97-
A<string>._, A<string>._
97+
A<string>._, A<string>._, A<string>._
9898
)).Returns(adminRolesEmail);
9999

100100
// When

DigitalLearningSolutions.Web.Tests/Services/EmailGenerationServiceTests.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ bool isCmsManager
4545
const string supervisorFirstName = "TestAdminFirstName";
4646
const string supervisorLastName = "TestAdminFirstName";
4747
const string supervisorEmail = "[email protected]";
48+
const string categoryName = "Digital Workplace";
4849

4950
const string centreName = "Test Centre Name";
5051

@@ -65,7 +66,8 @@ bool isCmsManager
6566
isCmsAdministrator,
6667
isCmsManager,
6768
delegateEmail,
68-
centreName
69+
centreName,
70+
categoryName
6971
);
7072

7173
// Then
@@ -164,6 +166,11 @@ bool isCmsManager
164166
returnedEmail.Body.HtmlBody.Should().NotContain("<li>CMS manager</li>");
165167
returnedEmail.Body.TextBody.Should().NotContain("CMS manager");
166168
}
169+
if (!string.IsNullOrEmpty(categoryName))
170+
{
171+
returnedEmail.Body.HtmlBody.Should().Contain("In the Digital Workplace category.");
172+
returnedEmail.Body.TextBody.Should().Contain("In the Digital Workplace category.");
173+
}
167174

168175
returnedEmail.Body.HtmlBody.Should().Contain("the next time you log in to " + centreName + ".</body>");
169176
returnedEmail.Body.TextBody.Should().Contain("the next time you log in to " + centreName + ".");

DigitalLearningSolutions.Web/Controllers/SupervisorController/Supervisor.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,16 +1061,16 @@ public IActionResult QuickAddSupervisor(int selfAssessmentId, int supervisorDele
10611061

10621062
var sessionEnrolOnRoleProfile = new SessionEnrolOnRoleProfile()
10631063
{
1064-
SelfAssessmentID = supervisorRoles.FirstOrDefault().SelfAssessmentID,
1065-
SelfAssessmentSupervisorRoleId = supervisorRoles.FirstOrDefault().ID
1064+
SelfAssessmentID = supervisorRoles.FirstOrDefault() != null ? supervisorRoles.FirstOrDefault().SelfAssessmentID : selfAssessmentId,
1065+
SelfAssessmentSupervisorRoleId = supervisorRoles.FirstOrDefault() != null ? supervisorRoles.FirstOrDefault().ID : 0
10661066
};
10671067

10681068
multiPageFormService.SetMultiPageFormData(
10691069
sessionEnrolOnRoleProfile,
10701070
MultiPageFormDataFeature.EnrolDelegateOnProfileAssessment,
10711071
TempData
10721072
);
1073-
var supervisorRoleName = supervisorRoles.FirstOrDefault().RoleName;
1073+
var supervisorRoleName = supervisorRoles.FirstOrDefault() != null ? supervisorRoles.FirstOrDefault().RoleName : "";
10741074
var model = new EnrolDelegateSummaryViewModel
10751075
{
10761076
RoleProfile = roleProfile,
@@ -1328,6 +1328,9 @@ public IActionResult ConfirmNominateSupervisor(SupervisorDelegateViewModel super
13281328
{
13291329
registrationService.PromoteDelegateToAdmin(adminRoles, supervisorDelegate.SelfAssessmentCategory, (int)supervisorDelegateDetail.DelegateUserID, (int)User.GetCentreId(), true);
13301330

1331+
int? learningCategory = supervisorDelegate.SelfAssessmentCategory == 0 ? null : supervisorDelegate.SelfAssessmentCategory;
1332+
var learningCategoryName = courseCategoriesService.GetCourseCategoryName(learningCategory);
1333+
13311334
if (delegateUser != null && adminUser != null)
13321335
{
13331336
var adminRolesEmail = emailGenerationService.GenerateDelegateAdminRolesNotificationEmail(
@@ -1344,7 +1347,8 @@ public IActionResult ConfirmNominateSupervisor(SupervisorDelegateViewModel super
13441347
isCmsAdmin: adminRoles.IsCmsAdministrator,
13451348
isCmsManager: adminRoles.IsCmsManager,
13461349
primaryEmail: delegateUser.EmailAddress,
1347-
centreName: centreName
1350+
centreName: centreName,
1351+
learningCategoryName
13481352
);
13491353

13501354
emailService.SendEmail(adminRolesEmail);

DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/Administrator/AdministratorController.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,10 @@ public IActionResult EditAdminRoles(AdminRolesFormData model, int adminId)
177177
adminRoles,
178178
AdminCategoryHelper.AdminCategoryToCategoryId(model.LearningCategory)
179179
);
180+
int? learningCategory = model.LearningCategory == 0 ? null : model.LearningCategory;
181+
var learningCategoryName = courseCategoriesService.GetCourseCategoryName(learningCategory);
180182

181-
SendNotificationEmail(adminId, adminRoles);
183+
SendNotificationEmail(adminId, adminRoles, learningCategoryName);
182184

183185
return RedirectToAction(
184186
"Index",
@@ -190,7 +192,8 @@ public IActionResult EditAdminRoles(AdminRolesFormData model, int adminId)
190192

191193
private void SendNotificationEmail(
192194
int adminIdToPromote,
193-
AdminRoles adminRoles
195+
AdminRoles adminRoles,
196+
string learningCategoryName
194197
)
195198
{
196199
var adminId = User.GetAdminId();
@@ -215,7 +218,8 @@ AdminRoles adminRoles
215218
isCmsAdmin: adminRoles.IsCmsAdministrator,
216219
isCmsManager: adminRoles.IsCmsManager,
217220
primaryEmail: delegateUserEmailDetails.EmailAddress,
218-
centreName: centreName
221+
centreName: centreName,
222+
learningCategoryName
219223
);
220224

221225
emailService.SendEmail(adminRolesEmail);

DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/PromoteToAdminController.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ public IActionResult Index(AdminRolesFormData formData, int delegateId)
139139

140140
var delegateUserEmailDetails = userService.GetDelegateById(delegateId);
141141

142+
int? learningCategory = formData.LearningCategory == 0 ? null : formData.LearningCategory;
143+
var learningCategoryName = courseCategoriesService.GetCourseCategoryName(learningCategory);
144+
142145
if (delegateUserEmailDetails != null)
143146
{
144147
var adminRolesEmail = emailGenerationService.GenerateDelegateAdminRolesNotificationEmail(
@@ -155,7 +158,8 @@ public IActionResult Index(AdminRolesFormData formData, int delegateId)
155158
isCmsAdmin: adminRoles.IsCmsAdministrator,
156159
isCmsManager: adminRoles.IsCmsManager,
157160
primaryEmail: delegateUserEmailDetails.EmailForCentreNotifications,
158-
centreName: centreName
161+
centreName: centreName,
162+
categoryName: learningCategoryName
159163
);
160164

161165
emailService.SendEmail(adminRolesEmail);

DigitalLearningSolutions.Web/Services/CourseCategoriesService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace DigitalLearningSolutions.Web.Services
77
public interface ICourseCategoriesService
88
{
99
IEnumerable<Category> GetCategoriesForCentreAndCentrallyManagedCourses(int centreId);
10-
string? GetCourseCategoryName(int categoryId);
10+
string? GetCourseCategoryName(int? categoryId);
1111
}
1212
public class CourseCategoriesService : ICourseCategoriesService
1313
{
@@ -22,7 +22,7 @@ public IEnumerable<Category> GetCategoriesForCentreAndCentrallyManagedCourses(in
2222
return courseCategoriesDataService.GetCategoriesForCentreAndCentrallyManagedCourses(centreId);
2323
}
2424

25-
public string? GetCourseCategoryName(int categoryId)
25+
public string? GetCourseCategoryName(int? categoryId)
2626
{
2727
return courseCategoriesDataService.GetCourseCategoryName(categoryId);
2828
}

DigitalLearningSolutions.Web/Services/EmailGenerationService.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ Email GenerateDelegateAdminRolesNotificationEmail(
1919
bool isCmsAdmin,
2020
bool isCmsManager,
2121
string primaryEmail,
22-
string centreName
22+
string centreName,
23+
string categoryName
2324
);
2425
}
2526

@@ -39,7 +40,8 @@ public Email GenerateDelegateAdminRolesNotificationEmail(
3940
bool isCmsAdmin,
4041
bool isCmsManager,
4142
string primaryEmail,
42-
string centreName
43+
string centreName,
44+
string categoryName
4345
)
4446
{
4547
const string emailSubjectLine = "New Digital Learning Solutions permissions granted";
@@ -101,6 +103,13 @@ string centreName
101103

102104
builder.HtmlBody += "</ul>";
103105

106+
if (!string.IsNullOrEmpty(categoryName))
107+
{
108+
builder.TextBody += $@"In the {categoryName} category.";
109+
builder.HtmlBody += $@"<body style= 'font-family: Calibri; font-size: small;'>
110+
<p>In the {categoryName} category.</p>";
111+
}
112+
104113
builder.TextBody += $@"You will be able to access the Digital Learning Solutions platform with these new access permissions the next time you log in to {centreName}.";
105114
builder.HtmlBody += $@"You will be able to access the Digital Learning Solutions platform with these new access permissions the next time you log in to {centreName}.</body>";
106115

DigitalLearningSolutions.Web/ViewModels/Supervisor/EnrolDelegateSummaryViewModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@ public class EnrolDelegateSummaryViewModel
1212
public string SupervisorRoleName { get; set; }
1313
public int SupervisorRoleCount { get; set; }
1414
public bool AllowSupervisorRoleSelection { get; set; }
15+
public bool HasSupervisorRoles => !string.IsNullOrWhiteSpace(SupervisorRoleName);
1516
}
1617
}

DigitalLearningSolutions.Web/Views/Supervisor/SelectDelegateSupervisorRoleSummary.cshtml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,15 @@
4747
<partial name="Shared/_StaffDetails" model="Model.Item1.SupervisorDelegateDetail" />
4848
</div>
4949
</details>
50-
<h2>Supervision Summary</h2>
50+
@if (!Model.Item1.HasSupervisorRoles)
51+
{
52+
<p>No supervisor roles have been configured for this self assessment.</p>
53+
}
54+
else
55+
{
56+
57+
58+
<h2>Supervision Summary</h2>
5159
<dl class="nhsuk-summary-list">
5260

5361
<div class="nhsuk-summary-list__row">
@@ -115,3 +123,4 @@
115123
Cancel
116124
</a>
117125
</div>
126+
}

0 commit comments

Comments
 (0)