Refactor SaveAlias method and add URL protocol check
Restructured the SaveAlias method for improved readability and added a check to handle cases where the _aliasname contains a URL protocol (e.g., "://"). This ensures proper handling of different URL formats.
This commit is contained in:
		| @ -814,40 +814,52 @@ | ||||
|  | ||||
|     private async Task SaveAlias() | ||||
|     { | ||||
|     	if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) | ||||
|     	{ | ||||
|     		if (!string.IsNullOrEmpty(_aliasname)) | ||||
|     		{ | ||||
|                 _aliasname = _aliasname.Replace("http://", "").Replace("https://", ""); | ||||
|         if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) | ||||
|         { | ||||
|             if (!string.IsNullOrEmpty(_aliasname)) | ||||
|             { | ||||
|                 var aliases = await AliasService.GetAliasesAsync(); | ||||
|     			var alias = aliases.Where(item => item.Name == _aliasname).FirstOrDefault(); | ||||
|     			bool unique = (alias == null || alias.AliasId == _aliasid); | ||||
|     			if (unique) | ||||
|     			{ | ||||
|     				if (_aliasid == 0) | ||||
|     				{ | ||||
|     					alias = new Alias { SiteId = PageState.Site.SiteId, TenantId = PageState.Site.TenantId, Name = _aliasname, IsDefault = bool.Parse(_defaultalias) }; | ||||
|     					await AliasService.AddAliasAsync(alias); | ||||
|     				} | ||||
|     				else | ||||
|     				{ | ||||
|     					alias = _aliases.Single(item => item.AliasId == _aliasid); | ||||
|     					alias.Name = _aliasname; | ||||
|     					alias.IsDefault = bool.Parse(_defaultalias); | ||||
|     					await AliasService.UpdateAliasAsync(alias); | ||||
|     				} | ||||
|     			} | ||||
|     			else // duplicate alias | ||||
|     			{ | ||||
|     				AddModuleMessage(Localizer["Message.Aliases.Taken"], MessageType.Warning); | ||||
|  | ||||
|                 int protocolIndex = _aliasname.IndexOf("://", StringComparison.OrdinalIgnoreCase); | ||||
|                 if (protocolIndex != -1) | ||||
|                 { | ||||
|                     _aliasname = _aliasname.Substring(protocolIndex + 3); | ||||
|                 } | ||||
|  | ||||
|                 var alias = aliases.FirstOrDefault(item => item.Name == _aliasname); | ||||
|  | ||||
|                 bool unique = (alias == null || alias.AliasId == _aliasid); | ||||
|  | ||||
|                 if (unique) | ||||
|                 { | ||||
|                     if (_aliasid == 0) | ||||
|                     { | ||||
|                         alias = new Alias { SiteId = PageState.Site.SiteId, TenantId = PageState.Site.TenantId, Name = _aliasname, IsDefault = bool.Parse(_defaultalias) }; | ||||
|                         await AliasService.AddAliasAsync(alias); | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         alias = _aliases.SingleOrDefault(item => item.AliasId == _aliasid); | ||||
|                         if (alias != null) | ||||
|                         { | ||||
|                             alias.Name = _aliasname; | ||||
|                             alias.IsDefault = bool.Parse(_defaultalias); | ||||
|                             await AliasService.UpdateAliasAsync(alias); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                     await GetAliases(); | ||||
|                     _aliasid = -1; | ||||
|                     _aliasname = ""; | ||||
|                     StateHasChanged(); | ||||
|                 } | ||||
|                 else // Duplicate alias | ||||
|                 { | ||||
|                     AddModuleMessage(Localizer["Message.Aliases.Taken"], MessageType.Warning); | ||||
|                     await ScrollToPageTop(); | ||||
|                 } | ||||
|     		} | ||||
|     		await GetAliases(); | ||||
|     		_aliasid = -1; | ||||
|     		_aliasname = ""; | ||||
|     		StateHasChanged(); | ||||
|     	} | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
| 	private async Task CancelAlias() | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Cody
					Cody