From 6e36312be834b53ac3e471fb0253f4952c6ed835 Mon Sep 17 00:00:00 2001 From: Leigh Pointer Date: Mon, 4 Dec 2023 09:07:11 +0100 Subject: [PATCH] Update Site with ImageFiles and UploadableFiles --- Oqtane.Client/Modules/Admin/Files/Add.razor | 6 +----- Oqtane.Client/Modules/Admin/UserProfile/Index.razor | 2 +- Oqtane.Client/Modules/Controls/FileManager.razor | 6 ++---- Oqtane.Client/Modules/Controls/RichTextEditor.razor | 11 ++--------- Oqtane.Server/Controllers/SiteController.cs | 10 ++++++++++ Oqtane.Shared/Models/Site.cs | 12 ++++++++++++ 6 files changed, 28 insertions(+), 19 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Files/Add.razor b/Oqtane.Client/Modules/Admin/Files/Add.razor index 54c8ccbf..09bd63b1 100644 --- a/Oqtane.Client/Modules/Admin/Files/Add.razor +++ b/Oqtane.Client/Modules/Admin/Files/Add.razor @@ -64,16 +64,12 @@ private List _folders; private int _folderId = -1; private string _name = ""; - private string _UploadableFiles = string.Empty; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; protected override async Task OnInitializedAsync() { _folders = await FolderService.GetFoldersAsync(ModuleState.SiteId); - var settings = await SettingService.GetSiteSettingsAsync(SiteState.Alias.SiteId); - var _ImageFiles = SettingService.GetSetting(settings, "ImageFiles", Constants.ImageFiles); - _UploadableFiles = _ImageFiles + "," + SettingService.GetSetting(settings, "UploadableFiles", Constants.UploadableFiles); if (PageState.QueryString.ContainsKey("id")) { @@ -98,7 +94,7 @@ _name = _url.Substring(_url.LastIndexOf("/", StringComparison.Ordinal) + 1); } - if (!_UploadableFiles.Split(',').Contains(Path.GetExtension(_name).ToLower().Replace(".", ""))) + if (!PageState.Site.UploadableFiles.Split(',').Contains(Path.GetExtension(_name).ToLower().Replace(".", ""))) { AddModuleMessage(Localizer["Message.Download.InvalidExtension"], MessageType.Warning); return; diff --git a/Oqtane.Client/Modules/Admin/UserProfile/Index.razor b/Oqtane.Client/Modules/Admin/UserProfile/Index.razor index 514379cf..be4c362f 100644 --- a/Oqtane.Client/Modules/Admin/UserProfile/Index.razor +++ b/Oqtane.Client/Modules/Admin/UserProfile/Index.razor @@ -77,7 +77,7 @@
- +
diff --git a/Oqtane.Client/Modules/Controls/FileManager.razor b/Oqtane.Client/Modules/Controls/FileManager.razor index a402d32d..2b44c06a 100644 --- a/Oqtane.Client/Modules/Controls/FileManager.razor +++ b/Oqtane.Client/Modules/Controls/FileManager.razor @@ -344,9 +344,7 @@ _message = string.Empty; var interop = new Interop(JSRuntime); var uploads = await interop.GetFiles(_fileinputid); - var settings = await SettingService.GetSiteSettingsAsync(SiteState.Alias.SiteId); - var _ImageFiles = SettingService.GetSetting(settings, "ImageFiles", Constants.ImageFiles); - var _UploadableFiles = _ImageFiles + "," + SettingService.GetSetting(settings, "UploadableFiles", Constants.UploadableFiles); + if (uploads.Length > 0) { string restricted = ""; @@ -354,7 +352,7 @@ { var filename = upload.Split(':')[0]; var extension = (filename.LastIndexOf(".") != -1) ? filename.Substring(filename.LastIndexOf(".") + 1) : ""; - if (!_UploadableFiles.Split(',').Contains(extension.ToLower())) + if (!PageState.Site.UploadableFiles.Split(',').Contains(extension.ToLower())) { restricted += (restricted == "" ? "" : ",") + extension; } diff --git a/Oqtane.Client/Modules/Controls/RichTextEditor.razor b/Oqtane.Client/Modules/Controls/RichTextEditor.razor index b2741aab..9ba943eb 100644 --- a/Oqtane.Client/Modules/Controls/RichTextEditor.razor +++ b/Oqtane.Client/Modules/Controls/RichTextEditor.razor @@ -9,7 +9,7 @@ @if (_richfilemanager) { - +
} @@ -74,7 +74,7 @@ @if (_rawfilemanager) { - +
} @@ -115,7 +115,6 @@ private string _rawhtml = string.Empty; private string _originalrawhtml = string.Empty; private string _message = string.Empty; - private string _ImageFiles = string.Empty; [Parameter] public string Content { get; set; } @@ -149,12 +148,6 @@ new Resource { ResourceType = ResourceType.Script, Bundle = "Quill", Url = "js/quill-interop.js" } }; - protected override async Task OnInitializedAsync() - { - var settings = await SettingService.GetSiteSettingsAsync(SiteState.Alias.SiteId); - _ImageFiles = SettingService.GetSetting(settings, "ImageFiles", Constants.ImageFiles); - } - protected override void OnParametersSet() { _richhtml = Content; diff --git a/Oqtane.Server/Controllers/SiteController.cs b/Oqtane.Server/Controllers/SiteController.cs index f7738a06..3505fef5 100644 --- a/Oqtane.Server/Controllers/SiteController.cs +++ b/Oqtane.Server/Controllers/SiteController.cs @@ -86,6 +86,16 @@ namespace Oqtane.Controllers .Where(item => !item.IsPrivate || User.IsInRole(RoleNames.Admin)) .ToDictionary(setting => setting.SettingName, setting => setting.SettingValue); + // Populate ImageFile extentions with setting or constant value + site.ImageFiles = site.Settings.ContainsKey("ImageFiles") + ? site.Settings["ImageFiles"]?.ToString() ?? Constants.ImageFiles + : Constants.ImageFiles; + + // Populate UploadableFile extensions with setting or constant value + site.UploadableFiles = site.Settings.ContainsKey("UploadableFiles") + ? site.Settings["UploadableFiles"]?.ToString() ?? Constants.UploadableFiles + : Constants.UploadableFiles; + // pages List settings = _settings.GetSettings(EntityNames.Page).ToList(); site.Pages = new List(); diff --git a/Oqtane.Shared/Models/Site.cs b/Oqtane.Shared/Models/Site.cs index 66d171c9..373215d1 100644 --- a/Oqtane.Shared/Models/Site.cs +++ b/Oqtane.Shared/Models/Site.cs @@ -98,6 +98,18 @@ namespace Oqtane.Models /// public string BodyContent { get; set; } + /// + /// The ImageFile extensions + /// + [NotMapped] + public string ImageFiles { get; set; } + + /// + /// The UploadableFile extensions + /// + [NotMapped] + public string UploadableFiles { get; set; } + [NotMapped] public Dictionary Settings { get; set; }