diff --git a/Oqtane.Client/Modules/Admin/Site/Index.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor index 77593fcb..15a8f019 100644 --- a/Oqtane.Client/Modules/Admin/Site/Index.razor +++ b/Oqtane.Client/Modules/Admin/Site/Index.razor @@ -557,8 +557,8 @@ await AliasService.DeleteAliasAsync(alias.AliasId); } - aliases = await AliasService.GetAliasesAsync(); - NavigationManager.NavigateTo(PageState.Uri.Scheme + "://" + aliases.First().Name, true); + var redirect = aliases.First(item => item.SiteId != PageState.Site.SiteId || item.TenantId != PageState.Site.TenantId); + NavigationManager.NavigateTo(PageState.Uri.Scheme + "://" + redirect.Name, true); } else { diff --git a/Oqtane.Client/Modules/Admin/Sites/Add.razor b/Oqtane.Client/Modules/Admin/Sites/Add.razor index fe83406a..c3e06dd0 100644 --- a/Oqtane.Client/Modules/Admin/Sites/Add.razor +++ b/Oqtane.Client/Modules/Admin/Sites/Add.razor @@ -29,7 +29,7 @@ else
- +
diff --git a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx index 66df7731..432a2089 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx @@ -166,7 +166,7 @@ Enter the tenant for the site - The aliases for the site. An alias can be a domain name (www.site.com) or a virtual folder (ie. www.site.com/folder). If a site has multiple aliases they should be separated by commas. + The aliases for the site. An alias can be a domain name (www.site.com) or a virtual folder (ie. www.site.com/folder). Is this site deleted? diff --git a/Oqtane.Server/Controllers/AliasController.cs b/Oqtane.Server/Controllers/AliasController.cs index 01673f10..c87176e5 100644 --- a/Oqtane.Server/Controllers/AliasController.cs +++ b/Oqtane.Server/Controllers/AliasController.cs @@ -16,12 +16,14 @@ namespace Oqtane.Controllers public class AliasController : Controller { private readonly IAliasRepository _aliases; + private readonly ITenantRepository _tenants; private readonly ILogManager _logger; private readonly Alias _alias; - public AliasController(IAliasRepository aliases, ILogManager logger, ITenantManager tenantManager) + public AliasController(IAliasRepository aliases, ITenantRepository tenants, ILogManager logger, ITenantManager tenantManager) { _aliases = aliases; + _tenants = tenants; _logger = logger; _alias = tenantManager.GetAlias(); } @@ -95,6 +97,13 @@ namespace Oqtane.Controllers { _aliases.DeleteAlias(id); _logger.Log(LogLevel.Information, this, LogFunction.Delete, "Alias Deleted {AliasId}", id); + + var aliases = _aliases.GetAliases(); + if (!aliases.Any(item => item.TenantId == alias.TenantId)) + { + _tenants.DeleteTenant(alias.TenantId); + _logger.Log(LogLevel.Information, this, LogFunction.Delete, "Tenant Deleted {TenantId}", alias.TenantId); + } } else {