From c611e00e5edba0ccdcac00342d3c8d0632445dca Mon Sep 17 00:00:00 2001 From: Sherif Olaboye Date: Tue, 1 Oct 2024 11:48:55 +0100 Subject: [PATCH] TD-4471 Issues with 'Search' functionality when JS turned off on 'Tracking system - Centre administrators' screen --- DigitalLearningSolutions.Data/Helpers/NameQueryHelper.cs | 7 +++++++ DigitalLearningSolutions.Data/Models/User/AdminEntity.cs | 2 +- .../Centre/Administrator/AdministratorController.cs | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/DigitalLearningSolutions.Data/Helpers/NameQueryHelper.cs b/DigitalLearningSolutions.Data/Helpers/NameQueryHelper.cs index 94ed24559a..d3b0aa6542 100644 --- a/DigitalLearningSolutions.Data/Helpers/NameQueryHelper.cs +++ b/DigitalLearningSolutions.Data/Helpers/NameQueryHelper.cs @@ -6,5 +6,12 @@ public static string GetSortableFullName(string? firstName, string lastName) { return string.IsNullOrWhiteSpace(firstName) ? lastName : $"{lastName}, {firstName}"; } + + public static string GetSortableFullName(string? firstName, string lastName, string? primaryEmail, string? centreEmail) + { + var name = string.IsNullOrWhiteSpace(firstName) ? lastName : $"{lastName}, {firstName}"; + var email = CentreEmailHelper.GetEmailForCentreNotifications( primaryEmail!, centreEmail ); + return $"{name} ({email})"; + } } } diff --git a/DigitalLearningSolutions.Data/Models/User/AdminEntity.cs b/DigitalLearningSolutions.Data/Models/User/AdminEntity.cs index d7c0105aa5..89f9301f7a 100644 --- a/DigitalLearningSolutions.Data/Models/User/AdminEntity.cs +++ b/DigitalLearningSolutions.Data/Models/User/AdminEntity.cs @@ -48,7 +48,7 @@ public AdminEntity( public override string SearchableName { get => SearchableNameOverrideForFuzzySharp ?? - NameQueryHelper.GetSortableFullName(UserAccount.FirstName, UserAccount.LastName); + NameQueryHelper.GetSortableFullName(UserAccount.FirstName, UserAccount.LastName, UserAccount.PrimaryEmail, UserCentreDetails?.Email); set => SearchableNameOverrideForFuzzySharp = value; } diff --git a/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/Administrator/AdministratorController.cs b/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/Administrator/AdministratorController.cs index ea6266ed80..77ce1e4971 100644 --- a/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/Administrator/AdministratorController.cs +++ b/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Centre/Administrator/AdministratorController.cs @@ -68,7 +68,7 @@ public IActionResult Index( Request, AdminFilterCookieName ); - + searchString = searchString == null ? null : searchString.Trim(); var centreId = User.GetCentreIdKnownNotNull(); var adminsAtCentre = userService.GetAdminsByCentreId(centreId); var categories = courseCategoriesService.GetCategoriesForCentreAndCentrallyManagedCourses(centreId);