diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index e597b0a7..ffd3e8f0 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -48,10 +48,20 @@ namespace EnvelopeGenerator.Web.Controllers } [HttpGet("EnvelopeKey/{envelopeReceiverId}")] - public async Task MainAsync([FromRoute] string envelopeReceiverId) + public async Task MainAsync([FromRoute] string envelopeReceiverId, [FromQuery] string? culture = null) { try { + //TODO: add a middelware or use an asp.net functionality insead of this code-smell + culture = culture is not null ? _sanitizer.Sanitize(culture) : null; + envelopeReceiverId = _sanitizer.Sanitize(envelopeReceiverId); + + if (UserLanguage is null && culture is null) + { + UserLanguage = _cultures.Default.Language; + return Redirect($"{Request.Headers["Referer"]}?culture={_cultures.Default.Language}"); + } + envelopeReceiverId = _sanitizer.Sanitize(envelopeReceiverId); if (!envelopeReceiverId.TryDecode(out var decoded)) @@ -99,22 +109,11 @@ namespace EnvelopeGenerator.Web.Controllers } [HttpGet("EnvelopeKey/{envelopeReceiverId}/Locked")] - public async Task EnvelopeLocked([FromRoute] string envelopeReceiverId, [FromQuery] string? culture = null) + public async Task EnvelopeLocked([FromRoute] string envelopeReceiverId) { try { - culture = culture is not null ? _sanitizer.Sanitize(culture) : null; - envelopeReceiverId = _sanitizer.Sanitize(envelopeReceiverId); - - if (UserLanguage is null && culture is null) - { - UserLanguage = _cultures.Default.Language; - return Redirect($"{Request.Headers["Referer"]}?culture={_cultures.Default.Language}"); - } - else if (UserLanguage is not null && culture is not null) - return Redirect($"Locked"); - - ViewData["UserCulture"] = _cultures[UserLanguage ?? culture]; + ViewData["UserCulture"] = _cultures[UserLanguage]; return await _envRcvService.IsExisting(envelopeReceiverId: envelopeReceiverId).ThenAsync( Success: isExisting => isExisting ? View().WithData("EnvelopeKey", envelopeReceiverId) : this.ViewEnvelopeNotFound(), @@ -311,6 +310,8 @@ namespace EnvelopeGenerator.Web.Controllers { try { + ViewData["UserCulture"] = _cultures[UserLanguage]; + readOnlyKey = _sanitizer.Sanitize(readOnlyKey); // check if the readOnlyId is valid diff --git a/Visual Studio 2022/Visualizers/attribcache140.bin b/Visual Studio 2022/Visualizers/attribcache140.bin deleted file mode 100644 index 30406106..00000000 Binary files a/Visual Studio 2022/Visualizers/attribcache140.bin and /dev/null differ