From ece378c54fde41b42e556e886224025f04d40436 Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Sat, 15 Feb 2020 09:07:29 +0300 Subject: [PATCH 1/3] Unable to deleted the root site --- Oqtane.Server/Controllers/SiteController.cs | 11 +++++++++-- Oqtane.Server/Repository/SiteRepository.cs | 11 +++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Oqtane.Server/Controllers/SiteController.cs b/Oqtane.Server/Controllers/SiteController.cs index 23b5c4d7..dc8361ec 100644 --- a/Oqtane.Server/Controllers/SiteController.cs +++ b/Oqtane.Server/Controllers/SiteController.cs @@ -87,8 +87,15 @@ namespace Oqtane.Controllers [Authorize(Roles = Constants.HostRole)] public void Delete(int id) { - Sites.DeleteSite(id); - logger.Log(LogLevel.Information, this, LogFunction.Delete, "Site Deleted {SiteId}", id); + if (Sites.GetSites().Count() > 1) + { + Sites.DeleteSite(id); + logger.Log(LogLevel.Information, this, LogFunction.Delete, "Site Deleted {SiteId}", id); + } + else + { + logger.Log(LogLevel.Warning, this, LogFunction.Delete, "Unable to delete the root site."); + } } } } diff --git a/Oqtane.Server/Repository/SiteRepository.cs b/Oqtane.Server/Repository/SiteRepository.cs index d206c763..6c569863 100644 --- a/Oqtane.Server/Repository/SiteRepository.cs +++ b/Oqtane.Server/Repository/SiteRepository.cs @@ -142,10 +142,13 @@ namespace Oqtane.Repository } public void DeleteSite(int siteId) - { - Site site = db.Site.Find(siteId); - db.Site.Remove(site); - db.SaveChanges(); + { + if (db.Site.Count() > 1) + { + var site = db.Site.Find(siteId); + db.Site.Remove(site); + db.SaveChanges(); + } } private void CreateSite(Site site) From d0e03ecbe2c982beb1a3554dfd2e41c228978fd1 Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Sat, 15 Feb 2020 09:32:31 +0300 Subject: [PATCH 2/3] Disable the action button --- Oqtane.Client/Modules/Admin/Sites/Index.razor | 2 +- .../Modules/Controls/ActionDialog.razor | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Sites/Index.razor b/Oqtane.Client/Modules/Admin/Sites/Index.razor index 7133f8b5..9b758fdd 100644 --- a/Oqtane.Client/Modules/Admin/Sites/Index.razor +++ b/Oqtane.Client/Modules/Admin/Sites/Index.razor @@ -20,7 +20,7 @@ else - + @context.Name diff --git a/Oqtane.Client/Modules/Controls/ActionDialog.razor b/Oqtane.Client/Modules/Controls/ActionDialog.razor index 3a8a94ce..aaffa1f7 100644 --- a/Oqtane.Client/Modules/Controls/ActionDialog.razor +++ b/Oqtane.Client/Modules/Controls/ActionDialog.razor @@ -28,7 +28,14 @@ } @if (authorized) { - + if (Disabled) + { + + } + else + { + + } } @code { @@ -36,13 +43,13 @@ public string Header { get; set; } // required [Parameter] - public string Message { get; set; } // required + public string Message { get; set; } // required [Parameter] public string Text { get; set; } // optional - defaults to Action if not specified [Parameter] - public string Action { get; set; } // optional + public string Action { get; set; } // optional [Parameter] public SecurityAccessLevel? Security { get; set; } // optional - can be used to explicitly specify SecurityAccessLevel @@ -50,6 +57,9 @@ [Parameter] public string Class { get; set; } // optional + [Parameter] + public bool Disabled { get; set; } // optional + [Parameter] public string EditMode { get; set; } // optional - specifies if a user must be in edit mode to see the action - default is true From 0eef1790c3bc5fc71c12a971da87c7bfc62cfd8e Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Thu, 20 Feb 2020 17:16:14 +0300 Subject: [PATCH 3/3] Add Disabled property to ActionLink --- Oqtane.Client/Modules/Controls/ActionLink.razor | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Oqtane.Client/Modules/Controls/ActionLink.razor b/Oqtane.Client/Modules/Controls/ActionLink.razor index d3c3a08b..2ed9c3e7 100644 --- a/Oqtane.Client/Modules/Controls/ActionLink.razor +++ b/Oqtane.Client/Modules/Controls/ActionLink.razor @@ -4,7 +4,14 @@ @if (authorized) { - @text + if (Disabled) + { + @text + } + else + { + @text + } } @code { @@ -26,6 +33,9 @@ [Parameter] public string Style { get; set; } // optional + [Parameter] + public bool Disabled { get; set; } // optional + [Parameter] public string EditMode { get; set; } // optional - specifies if a user must be in edit mode to see the action - default is true