Skip to content

Commit 4bee951

Browse files
authored
Merge pull request #207 from TechnologyEnhancedLearning/Develop/Fixes/TD-3744-JobRoleErrorFix
Defect Fixes-TD-3744-Job role with slash in causes error during registration
2 parents 1c5d518 + 51173f7 commit 4bee951

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

LearningHub.Nhs.WebUI/Controllers/AccountController.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using System.Net;
77
using System.Net.Http;
8+
using System.Text.RegularExpressions;
89
using System.Threading.Tasks;
910
using elfhHub.Nhs.Models.Common;
1011
using elfhHub.Nhs.Models.Entities;
@@ -428,6 +429,15 @@ public async Task<IActionResult> CreateAccountCountrySearch()
428429
public async Task<IActionResult> CreateAccountCountrySelection(AccountCreationViewModel accountCreationViewModel)
429430
{
430431
var accountDetails = await this.multiPageFormService.GetMultiPageFormData<AccountCreationViewModel>(MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);
432+
if (!string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
433+
{
434+
string filterText = Regex.Replace(accountCreationViewModel.FilterText, "[:!@#$%^&*()}{|\":?><\\[\\]\\;'/.,~]", " ");
435+
if (string.IsNullOrWhiteSpace(filterText))
436+
{
437+
this.ModelState.AddModelError("FilterText", CommonValidationErrorMessages.SearchTermRequired);
438+
return this.View("CreateAccountCountrySearch", accountCreationViewModel);
439+
}
440+
}
431441

432442
if (string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
433443
{
@@ -565,6 +575,16 @@ public async Task<IActionResult> CreateAccountSearchRole(AccountCreationViewMode
565575
public async Task<IActionResult> CreateAccountCurrentRole(AccountCreationViewModel accountCreationViewModel)
566576
{
567577
var accountCreation = await this.multiPageFormService.GetMultiPageFormData<AccountCreationViewModel>(MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);
578+
if (!string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
579+
{
580+
string filterText = Regex.Replace(accountCreationViewModel.FilterText, "[:!@#$%^&*()}{|\":?><\\[\\]\\;'/.,~]", " ");
581+
if (string.IsNullOrWhiteSpace(filterText))
582+
{
583+
this.ModelState.AddModelError("FilterText", CommonValidationErrorMessages.SearchTermRequired);
584+
return this.View("CreateAccountSearchRole", new AccountCreationViewModel { RegionId = accountCreation.RegionId, ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
585+
}
586+
}
587+
568588
if (string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
569589
{
570590
var currentJobRole = int.TryParse(accountCreation.CurrentRole, out int currentRole);
@@ -749,6 +769,18 @@ public async Task<IActionResult> CreateAccountPrimarySpecialtySelection(AccountC
749769
}
750770

751771
var optionalSpecialty = await this.specialtyService.GetSpecialtiesAsync();
772+
if (!string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
773+
{
774+
string filterText = Regex.Replace(accountCreationViewModel.FilterText, "[:!@#$%^&*()}{|\":?><\\[\\]\\;'/.,~]", " ");
775+
if (string.IsNullOrWhiteSpace(filterText))
776+
{
777+
this.ModelState.AddModelError("PrimarySpecialtyId", CommonValidationErrorMessages.SpecialtyNotApplicable);
778+
accountCreationViewModel.RegistrationNumber = accountCreation.RegistrationNumber;
779+
accountCreationViewModel.CurrentRole = accountCreation.CurrentRole;
780+
return this.View("CreateAccountPrimarySpecialty", accountCreationViewModel);
781+
}
782+
}
783+
752784
if (string.IsNullOrWhiteSpace(accountCreationViewModel.FilterText))
753785
{
754786
if (!string.IsNullOrWhiteSpace(accountCreation.PrimarySpecialtyId))

0 commit comments

Comments
 (0)