From 1cc26c3902a50f13c3458c528eba8f968a3196c9 Mon Sep 17 00:00:00 2001 From: Grayson Walker Date: Sat, 31 Jul 2021 16:59:03 -0400 Subject: [PATCH] files validation --- Oqtane.Client/Modules/Admin/Files/Add.razor | 115 +++++----- .../Modules/Admin/Files/Details.razor | 97 +++++---- Oqtane.Client/Modules/Admin/Files/Edit.razor | 199 ++++++++++-------- 3 files changed, 225 insertions(+), 186 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Files/Add.razor b/Oqtane.Client/Modules/Admin/Files/Add.razor index 4021a033..ab005a3d 100644 --- a/Oqtane.Client/Modules/Admin/Files/Add.razor +++ b/Oqtane.Client/Modules/Admin/Files/Add.razor @@ -19,36 +19,40 @@ @SharedLocalizer["Cancel"] - - @if (_folders != null) - { -
-
- -
- +
+ + @if (_folders != null) + { +
+
+ +
+ +
+
+
+ +
+ +
+
-
-
- -
- -
-
-
- - @SharedLocalizer["Cancel"] - } - + + @SharedLocalizer["Cancel"] + } + + @code { + private ElementReference form; + private bool validated = false; private string url = string.Empty; private List _folders; private int _folderId = -1; @@ -67,37 +71,46 @@ private async Task Download() { - if (url == string.Empty || _folderId == -1) + validated = true; + var interop = new Interop(JSRuntime); + if (await interop.FormValid(form)) { - AddModuleMessage(Localizer["Message.Required.UrlFolder"], MessageType.Warning); - return; - } + if (url == string.Empty || _folderId == -1) + { + AddModuleMessage(Localizer["Message.Required.UrlFolder"], MessageType.Warning); + return; + } - var filename = url.Substring(url.LastIndexOf("/", StringComparison.Ordinal) + 1); + var filename = url.Substring(url.LastIndexOf("/", StringComparison.Ordinal) + 1); - if (!Constants.UploadableFiles.Split(',') - .Contains(Path.GetExtension(filename).ToLower().Replace(".", ""))) - { - AddModuleMessage(Localizer["Message.Download.InvalidExtension"], MessageType.Warning); - return; - } + if (!Constants.UploadableFiles.Split(',') + .Contains(Path.GetExtension(filename).ToLower().Replace(".", ""))) + { + AddModuleMessage(Localizer["Message.Download.InvalidExtension"], MessageType.Warning); + return; + } - if (!filename.IsPathOrFileValid()) - { - AddModuleMessage(Localizer["Message.Required.UrlName"], MessageType.Warning); - return; - } + if (!filename.IsPathOrFileValid()) + { + AddModuleMessage(Localizer["Message.Required.UrlName"], MessageType.Warning); + return; + } - try - { - await FileService.UploadFileAsync(url, _folderId); - await logger.LogInformation("File Downloaded Successfully From Url {Url}", url); - AddModuleMessage(Localizer["Success.Download.File"], MessageType.Success); + try + { + await FileService.UploadFileAsync(url, _folderId); + await logger.LogInformation("File Downloaded Successfully From Url {Url}", url); + AddModuleMessage(Localizer["Success.Download.File"], MessageType.Success); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Downloading File From Url {Url} {Error}", url, ex.Message); + AddModuleMessage(Localizer["Error.Download.InvalidUrl"], MessageType.Error); + } } - catch (Exception ex) + else { - await logger.LogError(ex, "Error Downloading File From Url {Url} {Error}", url, ex.Message); - AddModuleMessage(Localizer["Error.Download.InvalidUrl"], MessageType.Error); + AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } -} +} \ No newline at end of file diff --git a/Oqtane.Client/Modules/Admin/Files/Details.razor b/Oqtane.Client/Modules/Admin/Files/Details.razor index 14610ca6..0a8eb3b2 100644 --- a/Oqtane.Client/Modules/Admin/Files/Details.razor +++ b/Oqtane.Client/Modules/Admin/Files/Details.razor @@ -8,39 +8,43 @@ @if (_folders != null) { -
-
- -
- +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
-
-
- -
- -
-
-
- -
- -
-
-
- - @SharedLocalizer["Cancel"] -
-
- + + @SharedLocalizer["Cancel"] +
+
+ + } @code { + private ElementReference form; + private bool validated = false; private int _fileId = -1; private string _name; private List _folders; @@ -82,26 +86,35 @@ private async Task SaveFile() { - try + validated = true; + var interop = new Interop(JSRuntime); + if (await interop.FormValid(form)) { - if (_name.IsPathOrFileValid()) + try { - File file = await FileService.GetFileAsync(_fileId); - file.Name = _name; - file.FolderId = _folderId; - file = await FileService.UpdateFileAsync(file); - await logger.LogInformation("File Saved {File}", file); - NavigationManager.NavigateTo(NavigateUrl()); + if (_name.IsPathOrFileValid()) + { + File file = await FileService.GetFileAsync(_fileId); + file.Name = _name; + file.FolderId = _folderId; + file = await FileService.UpdateFileAsync(file); + await logger.LogInformation("File Saved {File}", file); + NavigationManager.NavigateTo(NavigateUrl()); + } + else + { + AddModuleMessage(Localizer["Message.File.InvalidName"], MessageType.Warning); + } } - else + catch (Exception ex) { - AddModuleMessage(Localizer["Message.File.InvalidName"], MessageType.Warning); + await logger.LogError(ex, "Error Saving File {FileId} {Error}", _fileId, ex.Message); + AddModuleMessage(Localizer["Error.File.Save"], MessageType.Error); } } - catch (Exception ex) + else { - await logger.LogError(ex, "Error Saving File {FileId} {Error}", _fileId, ex.Message); - AddModuleMessage(Localizer["Error.File.Save"], MessageType.Error); + AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } } diff --git a/Oqtane.Client/Modules/Admin/Files/Edit.razor b/Oqtane.Client/Modules/Admin/Files/Edit.razor index 611b593f..2ff949cc 100644 --- a/Oqtane.Client/Modules/Admin/Files/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Files/Edit.razor @@ -8,52 +8,54 @@ @if (_folders != null) { -
-
- -
- -
-
-
- -
- -
-
-
- -
- @if (PageState.QueryString.ContainsKey("id")) - { - - } - else - { - - } -
-
-
-
- - +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ @if (PageState.QueryString.ContainsKey("id")) + { + + } + else + { + + } +
+
+
+
+ + +
+
-
-
+ @if (!_isSystem) { @@ -75,6 +77,8 @@ } @code { + private ElementReference form; + private bool validated = false; private List _folders; private int _folderId = -1; private int _parentId = -1; @@ -133,70 +137,79 @@ private async Task SaveFolder() { - if (_name == string.Empty || _parentId == -1) + validated = true; + var interop = new Interop(JSRuntime); + if (await interop.FormValid(form)) { - AddModuleMessage(Localizer["Message.Required.FolderParent"], MessageType.Warning); - return; - } - - if (!_name.IsPathOrFileValid()) - { - AddModuleMessage(Localizer["Message.Folder.InvalidName"], MessageType.Warning); - return; - } - - try - { - Folder folder; - if (_folderId != -1) + if (_name == string.Empty || _parentId == -1) { - folder = await FolderService.GetFolderAsync(_folderId); - } - else - { - folder = new Folder(); + AddModuleMessage(Localizer["Message.Required.FolderParent"], MessageType.Warning); + return; } - folder.SiteId = PageState.Site.SiteId; - - if (_parentId == -1) + if (!_name.IsPathOrFileValid()) { - folder.ParentId = null; - } - else - { - folder.ParentId = _parentId; + AddModuleMessage(Localizer["Message.Folder.InvalidName"], MessageType.Warning); + return; } - folder.Name = _name; - folder.Type = _type; - folder.IsSystem = _isSystem; - folder.Permissions = _permissionGrid.GetPermissions(); + try + { + Folder folder; + if (_folderId != -1) + { + folder = await FolderService.GetFolderAsync(_folderId); + } + else + { + folder = new Folder(); + } - if (_folderId != -1) - { - folder = await FolderService.UpdateFolderAsync(folder); - } - else - { - folder = await FolderService.AddFolderAsync(folder); - } + folder.SiteId = PageState.Site.SiteId; - if (folder != null) - { - await FolderService.UpdateFolderOrderAsync(folder.SiteId, folder.FolderId, folder.ParentId); - await logger.LogInformation("Folder Saved {Folder}", folder); - NavigationManager.NavigateTo(NavigateUrl()); + if (_parentId == -1) + { + folder.ParentId = null; + } + else + { + folder.ParentId = _parentId; + } + + folder.Name = _name; + folder.Type = _type; + folder.IsSystem = _isSystem; + folder.Permissions = _permissionGrid.GetPermissions(); + + if (_folderId != -1) + { + folder = await FolderService.UpdateFolderAsync(folder); + } + else + { + folder = await FolderService.AddFolderAsync(folder); + } + + if (folder != null) + { + await FolderService.UpdateFolderOrderAsync(folder.SiteId, folder.FolderId, folder.ParentId); + await logger.LogInformation("Folder Saved {Folder}", folder); + NavigationManager.NavigateTo(NavigateUrl()); + } + else + { + AddModuleMessage(Localizer["Error.Folder.Save"], MessageType.Error); + } } - else + catch (Exception ex) { + await logger.LogError(ex, "Error Saving Folder {FolderId} {Error}", _folderId, ex.Message); AddModuleMessage(Localizer["Error.Folder.Save"], MessageType.Error); } } - catch (Exception ex) + else { - await logger.LogError(ex, "Error Saving Folder {FolderId} {Error}", _folderId, ex.Message); - AddModuleMessage(Localizer["Error.Folder.Save"], MessageType.Error); + AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } }