diff --git a/Oqtane.Client/Modules/Admin/Users/Roles.razor b/Oqtane.Client/Modules/Admin/Users/Roles.razor index 9135a9f6..8766c46a 100644 --- a/Oqtane.Client/Modules/Admin/Users/Roles.razor +++ b/Oqtane.Client/Modules/Admin/Users/Roles.razor @@ -34,13 +34,13 @@ else
- +
- +
@@ -75,8 +75,8 @@ else private string name = string.Empty; private List roles; private int roleid = -1; - private string effectivedate = string.Empty; - private string expirydate = string.Empty; + private DateTime? effectivedate = null; + private DateTime? expirydate = null; private List userroles; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Edit; @@ -130,23 +130,8 @@ else var userrole = userroles.Where(item => item.UserId == userid && item.RoleId == roleid).FirstOrDefault(); if (userrole != null) { - if (string.IsNullOrEmpty(effectivedate)) - { - userrole.EffectiveDate = null; - } - else - { - userrole.EffectiveDate = DateTime.Parse(effectivedate); - } - - if (string.IsNullOrEmpty(expirydate)) - { - userrole.ExpiryDate = null; - } - else - { - userrole.ExpiryDate = DateTime.Parse(expirydate); - } + userrole.EffectiveDate = effectivedate; + userrole.ExpiryDate = expirydate; await UserRoleService.UpdateUserRoleAsync(userrole); } else @@ -154,25 +139,8 @@ else userrole = new UserRole(); userrole.UserId = userid; userrole.RoleId = roleid; - - if (string.IsNullOrEmpty(effectivedate)) - { - userrole.EffectiveDate = null; - } - else - { - userrole.EffectiveDate = DateTime.Parse(effectivedate); - } - - if (string.IsNullOrEmpty(expirydate)) - { - userrole.ExpiryDate = null; - } - else - { - userrole.ExpiryDate = DateTime.Parse(expirydate); - } - + userrole.EffectiveDate = effectivedate; + userrole.ExpiryDate = expirydate; await UserRoleService.AddUserRoleAsync(userrole); } diff --git a/Oqtane.Client/Modules/Controls/FileManager.razor b/Oqtane.Client/Modules/Controls/FileManager.razor index cd5ad6e3..97363437 100644 --- a/Oqtane.Client/Modules/Controls/FileManager.razor +++ b/Oqtane.Client/Modules/Controls/FileManager.razor @@ -55,7 +55,7 @@
- @if (ShowFiles && GetFileId() != -1) + @if (GetFileId() != -1) { } @@ -63,7 +63,7 @@
-
+
} @@ -143,7 +143,7 @@ [Parameter] public EventCallback OnDelete { get; set; } // optional - executes a method in the calling component when a file is deleted - protected override async Task OnInitializedAsync() + protected override async Task OnParametersSetAsync() { // packages folder is a framework folder for uploading installable nuget packages if (Folder == Constants.PackagesFolder) @@ -154,11 +154,6 @@ ShowSuccess = true; } - if (!ShowFiles) - { - ShowImage = false; - } - _folders = await FolderService.GetFoldersAsync(ModuleState.SiteId); if (!string.IsNullOrEmpty(Folder) && Folder != Constants.PackagesFolder) @@ -387,38 +382,41 @@ } StateHasChanged(); } - } - catch (Exception ex) - { - await logger.LogError(ex, "File Upload Failed {Error}", ex.Message); - _message = Localizer["Error.File.Upload"]; - _messagetype = MessageType.Error; - } - } - else - { - _message = string.Format(Localizer["Message.File.Restricted"], restricted); - _messagetype = MessageType.Warning; - } - } - else - { - _message = Localizer["Message.File.NotSelected"]; - _messagetype = MessageType.Warning; - } - } + } + catch (Exception ex) + { + await logger.LogError(ex, "File Upload Failed {Error}", ex.Message); + _message = Localizer["Error.File.Upload"]; + _messagetype = MessageType.Error; + } + } + else + { + _message = string.Format(Localizer["Message.File.Restricted"], restricted); + _messagetype = MessageType.Warning; + } + } + else + { + _message = Localizer["Message.File.NotSelected"]; + _messagetype = MessageType.Warning; + } + } - private async Task DeleteFile() - { - _message = string.Empty; - try - { - await FileService.DeleteFileAsync(FileId); - await logger.LogInformation("File Deleted {File}", FileId); - await OnDelete.InvokeAsync(FileId); + private async Task DeleteFile() + { + _message = string.Empty; + try + { + await FileService.DeleteFileAsync(FileId); + await logger.LogInformation("File Deleted {File}", FileId); + await OnDelete.InvokeAsync(FileId); - _message = Localizer["Success.File.Delete"]; - _messagetype = MessageType.Success; + if (ShowSuccess) + { + _message = Localizer["Success.File.Delete"]; + _messagetype = MessageType.Success; + } await GetFiles(); FileId = -1; diff --git a/Oqtane.Server/Controllers/FolderController.cs b/Oqtane.Server/Controllers/FolderController.cs index 8c805e5e..6914aac7 100644 --- a/Oqtane.Server/Controllers/FolderController.cs +++ b/Oqtane.Server/Controllers/FolderController.cs @@ -124,7 +124,10 @@ namespace Oqtane.Controllers Folder parent = _folders.GetFolder(folder.ParentId.Value); folder.Path = Utilities.UrlCombine(parent.Path, folder.Name); } - folder.Path = folder.Path + "/"; + if (!folder.Path.EndsWith("/")) + { + folder.Path = folder.Path + "/"; + } folder = _folders.AddFolder(folder); _syncManager.AddSyncEvent(_alias.TenantId, EntityNames.Folder, folder.FolderId, SyncEventActions.Create); _logger.Log(LogLevel.Information, this, LogFunction.Create, "Folder Added {Folder}", folder); @@ -166,7 +169,10 @@ namespace Oqtane.Controllers Folder parent = _folders.GetFolder(folder.ParentId.Value); folder.Path = Utilities.UrlCombine(parent.Path, folder.Name); } - folder.Path = folder.Path + "/"; + if (!folder.Path.EndsWith("/")) + { + folder.Path = folder.Path + "/"; + } Folder _folder = _folders.GetFolder(id, false); if (_folder.Path != folder.Path && Directory.Exists(_folders.GetFolderPath(_folder))) diff --git a/Oqtane.Server/wwwroot/js/interop.js b/Oqtane.Server/wwwroot/js/interop.js index 8b98c530..5ee359c8 100644 --- a/Oqtane.Server/wwwroot/js/interop.js +++ b/Oqtane.Server/wwwroot/js/interop.js @@ -291,7 +291,7 @@ Oqtane.Interop = { var progressbar = document.getElementById('ProgressBar_' + id); progressinfo.setAttribute("style", "display: inline;"); - progressbar.setAttribute("style", "width: 200px; display: inline;"); + progressbar.setAttribute("style", "width: 100%; display: inline;"); for (var i = 0; i < files.length; i++) { var FileChunk = [];