From dfca6640da9e170c06ae23c90c8ab9620d557192 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Mon, 8 Sep 2025 12:13:17 -0400 Subject: [PATCH] add setting import --- .../Admin/Settings/ImportSettings.razor | 56 +++++++ .../Modules/Admin/Settings/Index.razor | 7 +- .../Admin/Settings/ImportSettings.resx | 141 ++++++++++++++++++ .../Modules/Admin/Settings/Index.resx | 3 + Oqtane.Client/Services/SettingService.cs | 12 ++ .../Controllers/SettingController.cs | 66 ++++++++ .../SiteTemplates/AdminSiteTemplate.cs | 28 ++++ .../Infrastructure/UpgradeManager.cs | 40 +++++ Oqtane.Server/Repository/SettingRepository.cs | 6 + 9 files changed, 356 insertions(+), 3 deletions(-) create mode 100644 Oqtane.Client/Modules/Admin/Settings/ImportSettings.razor create mode 100644 Oqtane.Client/Resources/Modules/Admin/Settings/ImportSettings.resx diff --git a/Oqtane.Client/Modules/Admin/Settings/ImportSettings.razor b/Oqtane.Client/Modules/Admin/Settings/ImportSettings.razor new file mode 100644 index 00000000..0c9f2620 --- /dev/null +++ b/Oqtane.Client/Modules/Admin/Settings/ImportSettings.razor @@ -0,0 +1,56 @@ +@namespace Oqtane.Modules.Admin.Settings +@inherits ModuleBase +@inject NavigationManager NavigationManager +@inject ISettingService SettingService +@inject IStringLocalizer Localizer +@inject IStringLocalizer SharedLocalizer + +
+
+ +
+ +
+
+
+
+  +@SharedLocalizer["Cancel"] + +@code { + private string _settings = "Entity,Id,Name,Value,Private\n"; + + public override string Title => "Import Settings"; + + public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; + + private async Task Import() + { + try + { + if (!string.IsNullOrEmpty(_settings)) + { + ShowProgressIndicator(); + var success = await SettingService.ImportSettingsAsync(_settings); + if (success) + { + AddModuleMessage(Localizer["Message.Import.Success"], MessageType.Success); + } + else + { + AddModuleMessage(Localizer["Message.Import.Failure"], MessageType.Error); + } + HideProgressIndicator(); + } + else + { + AddModuleMessage(Localizer["Message.Import.Validation"], MessageType.Warning); + } + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Importing Settings {Error}", ex.Message); + AddModuleMessage(Localizer["Error.Import"], MessageType.Error); + } + } +} diff --git a/Oqtane.Client/Modules/Admin/Settings/Index.razor b/Oqtane.Client/Modules/Admin/Settings/Index.razor index 001c95c1..98db23ce 100644 --- a/Oqtane.Client/Modules/Admin/Settings/Index.razor +++ b/Oqtane.Client/Modules/Admin/Settings/Index.razor @@ -6,10 +6,11 @@
-
+
+
-
+
-
+