diff --git a/Oqtane.Client/Modules/Admin/Sites/Edit.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor similarity index 87% rename from Oqtane.Client/Modules/Admin/Sites/Edit.razor rename to Oqtane.Client/Modules/Admin/Site/Index.razor index 5a07fce7..4e73d383 100644 --- a/Oqtane.Client/Modules/Admin/Sites/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Site/Index.razor @@ -1,13 +1,14 @@ -@namespace Oqtane.Modules.Admin.Sites +@namespace Oqtane.Modules.Admin.Site @inherits ModuleBase @inject NavigationManager NavigationManager @inject ISiteService SiteService +@inject ITenantService TenantService @inject IAliasService AliasService @inject IThemeService ThemeService @inject ISettingService SettingService @if (themes != null) -{ +{ + + + +
@@ -17,6 +18,14 @@
+ + + +
@@ -96,7 +105,7 @@
@@ -142,25 +151,29 @@
- +
Cancel + @if (UserSecurity.IsAuthorized(PageState.User, Constants.HostRole)) + { + + }

} @code { - public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } } + public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Admin; } } Dictionary themes; Dictionary panelayouts; Dictionary containers; List Themes; - Alias Alias; - int siteid; string name = ""; + List tenants; + string tenant = ""; List aliases; string urls = ""; int logofileid = -1; @@ -189,12 +202,12 @@ { Themes = await ThemeService.GetThemesAsync(); aliases = await AliasService.GetAliasesAsync(); - Alias = aliases.Where(item => item.AliasId == int.Parse(PageState.QueryString["id"])).FirstOrDefault(); - siteid = Alias.SiteId; - Site site = await SiteService.GetSiteAsync(siteid, Alias); + Site site = await SiteService.GetSiteAsync(PageState.Site.SiteId); if (site != null) { name = site.Name; + tenants = await TenantService.GetTenantsAsync(); + tenant = tenants.Find(item => item.TenantId == site.TenantId).Name; foreach (Alias alias in aliases.Where(item => item.SiteId == site.SiteId && item.TenantId == site.TenantId).ToList()) { urls += alias.Name + "\n"; @@ -229,7 +242,7 @@ } catch (Exception ex) { - await logger.LogError(ex, "Error Loading Site {SiteId} {Error}", siteid, ex.Message); + await logger.LogError(ex, "Error Loading Site {SiteId} {Error}", PageState.Site.SiteId, ex.Message); AddModuleMessage(ex.Message, MessageType.Error); } } @@ -262,7 +275,7 @@ { if (name != "" && urls != "" && !string.IsNullOrEmpty(themetype) && (panelayouts.Count == 0 || !string.IsNullOrEmpty(layouttype)) && !string.IsNullOrEmpty(containertype)) { - Site site = await SiteService.GetSiteAsync(siteid, Alias); + Site site = await SiteService.GetSiteAsync(PageState.Site.SiteId); if (site != null) { site.Name = name; @@ -277,7 +290,7 @@ site.DefaultContainerType = containertype; site.IsDeleted = (isdeleted == null ? true : Boolean.Parse(isdeleted)); - site = await SiteService.UpdateSiteAsync(site, Alias); + site = await SiteService.UpdateSiteAsync(site); urls = urls.Replace("\n", ","); string[] names = urls.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); @@ -320,8 +333,23 @@ } catch (Exception ex) { - await logger.LogError(ex, "Error Saving Site {SiteId} {Error}", siteid, ex.Message); + await logger.LogError(ex, "Error Saving Site {SiteId} {Error}", PageState.Site.SiteId, ex.Message); AddModuleMessage("Error Saving Site", MessageType.Error); } } + + private async Task DeleteSite() + { + try + { + await SiteService.DeleteSiteAsync(PageState.Site.SiteId); + await logger.LogInformation("Sited Deleted {SiteId}", PageState.Site.SiteId); + StateHasChanged(); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Deleting Site {SiteId} {Error}", PageState.Site.SiteId, ex.Message); + AddModuleMessage("Error Deleting Site", MessageType.Error); + } + } } diff --git a/Oqtane.Client/Modules/Admin/Sites/Add.razor b/Oqtane.Client/Modules/Admin/Sites/Add.razor index b1e6820f..7afb961f 100644 --- a/Oqtane.Client/Modules/Admin/Sites/Add.razor +++ b/Oqtane.Client/Modules/Admin/Sites/Add.razor @@ -44,14 +44,6 @@ else