diff --git a/Oqtane.Client/Modules/Admin/Files/Edit.razor b/Oqtane.Client/Modules/Admin/Files/Edit.razor index b11f4bab..56692be3 100644 --- a/Oqtane.Client/Modules/Admin/Files/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Files/Edit.razor @@ -32,7 +32,7 @@
- +
@if (PageState.QueryString.ContainsKey("id")) { diff --git a/Oqtane.Client/Modules/Admin/Languages/Add.razor b/Oqtane.Client/Modules/Admin/Languages/Add.razor index 5d635b5b..3befe0fd 100644 --- a/Oqtane.Client/Modules/Admin/Languages/Add.razor +++ b/Oqtane.Client/Modules/Admin/Languages/Add.razor @@ -79,12 +79,23 @@ else @(context.Description.Length > 400 ? (context.Description.Substring(0, 400) + "...") : context.Description)
@(String.Format("{0:n0}", context.Downloads)) @SharedLocalizer["Search.Downloads"]  |   @SharedLocalizer["Search.Released"]: @context.ReleaseDate.ToString("MMM dd, yyyy")  |   - @SharedLocalizer["Search.Version"]: @context.Version  |   - @SharedLocalizer["Search.Source"]: @context.PackageUrl  |   - @SharedLocalizer["Search.Price"]: @((context.Price == 0) ? "FREE" : context.Price.ToString("$#,##0.00") ) + @SharedLocalizer["Search.Version"]: @context.Version - - + + @if (context.Price > 0 && !string.IsNullOrEmpty(context.PackageUrl)) + { + + } + + + @if (context.Price > 0 && !string.IsNullOrEmpty(context.PaymentUrl)) + { + @context.Price.ToString("$#,##0.00") + } + else + { + + } @@ -105,7 +116,7 @@ else
- +
@@ -278,7 +289,7 @@ else StateHasChanged(); } - private async Task GetLanguage(string packageid, string version) + private async Task GetPackage(string packageid, string version) { try { diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor index 73626c53..9b922552 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor @@ -36,12 +36,23 @@ @(context.Description.Length > 400 ? (context.Description.Substring(0, 400) + "...") : context.Description)
@(String.Format("{0:n0}", context.Downloads)) @SharedLocalizer["Search.Downloads"]  |   @SharedLocalizer["Search.Released"]: @context.ReleaseDate.ToString("MMM dd, yyyy")  |   - @SharedLocalizer["Search.Version"]: @context.Version  |   - @SharedLocalizer["Search.Source"]: @context.PackageUrl  |   - @SharedLocalizer["Search.Price"]: @((context.Price == 0) ? "FREE" : context.Price.ToString("$#,##0.00") ) + @SharedLocalizer["Search.Version"]: @context.Version - - + + @if (context.Price > 0 && !string.IsNullOrEmpty(context.PackageUrl)) + { + + } + + + @if (context.Price > 0 && !string.IsNullOrEmpty(context.PaymentUrl)) + { + @context.Price.ToString("$#,##0.00") + } + else + { + + } diff --git a/Oqtane.Client/Modules/Admin/Profiles/Edit.razor b/Oqtane.Client/Modules/Admin/Profiles/Edit.razor index 047608d7..4280b053 100644 --- a/Oqtane.Client/Modules/Admin/Profiles/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Profiles/Edit.razor @@ -22,7 +22,7 @@
- +
diff --git a/Oqtane.Client/Modules/Admin/Themes/Add.razor b/Oqtane.Client/Modules/Admin/Themes/Add.razor index e127f852..771fda7a 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Add.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Add.razor @@ -36,12 +36,23 @@ @(context.Description.Length > 400 ? (context.Description.Substring(0, 400) + "...") : context.Description)
@(String.Format("{0:n0}", context.Downloads)) @SharedLocalizer["Search.Downloads"]  |   @SharedLocalizer["Search.Released"]: @context.ReleaseDate.ToString("MMM dd, yyyy")  |   - @SharedLocalizer["Search.Version"]: @context.Version  |   - @SharedLocalizer["Search.Source"]: @context.PackageUrl  |   - @SharedLocalizer["Search.Price"]: @((context.Price == 0) ? "FREE" : context.Price.ToString("$#,##0.00") ) + @SharedLocalizer["Search.Version"]: @context.Version - - + + @if (context.Price > 0 && !string.IsNullOrEmpty(context.PackageUrl)) + { + + } + + + @if (context.Price > 0 && !string.IsNullOrEmpty(context.PaymentUrl)) + { + @context.Price.ToString("$#,##0.00") + } + else + { + + } diff --git a/Oqtane.Client/Modules/Controls/FileManager.razor b/Oqtane.Client/Modules/Controls/FileManager.razor index 9628ff48..5aa5c428 100644 --- a/Oqtane.Client/Modules/Controls/FileManager.razor +++ b/Oqtane.Client/Modules/Controls/FileManager.razor @@ -58,7 +58,6 @@
} -
@if (_image != string.Empty) { @@ -67,6 +66,14 @@ } + @if (!string.IsNullOrEmpty(_message)) + { +
+
+ +
+
+ } } diff --git a/Oqtane.Client/Modules/Controls/ModuleMessage.razor b/Oqtane.Client/Modules/Controls/ModuleMessage.razor index 976b1aa8..f4f00027 100644 --- a/Oqtane.Client/Modules/Controls/ModuleMessage.razor +++ b/Oqtane.Client/Modules/Controls/ModuleMessage.razor @@ -4,7 +4,7 @@ @if (!string.IsNullOrEmpty(_message)) { - + +
+
+ @if (_users.Count != 0) + { +
+
+
+
+ + + + + @foreach (PermissionString permission in _permissions) + { + + } + + + + @foreach (User user in _users) + { + string userid = "[" + user.UserId.ToString() + "]"; + + + @foreach (PermissionString permission in _permissions) + { + var p = permission; + + } + + } + +
@Localizer["User"]@Localizer[permission.PermissionName]
@user.DisplayName + +
+
+ } +
+
+
+
+ + + + + + +
+ + +
+
+
+
+
+
+ +
+
+ } @code { diff --git a/Oqtane.Client/Resources/Modules/Admin/Files/Edit.resx b/Oqtane.Client/Resources/Modules/Admin/Files/Edit.resx index ec757e5e..b2740256 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Files/Edit.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Files/Edit.resx @@ -165,4 +165,10 @@ Are You Sure You Wish To Delete This Folder? + + Select the folder type. Private folders are only accessible by authorized users. Public folders can be accessed by all users + + + Type: + \ No newline at end of file diff --git a/Oqtane.Client/UI/ModuleInstance.razor b/Oqtane.Client/UI/ModuleInstance.razor index 0dec5413..d63ef4b6 100644 --- a/Oqtane.Client/UI/ModuleInstance.razor +++ b/Oqtane.Client/UI/ModuleInstance.razor @@ -27,6 +27,8 @@ protected override void OnParametersSet() { + _message = ""; + DynamicComponent = builder => { Type moduleType = null; diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor index 3714eeb9..0c4217b7 100644 --- a/Oqtane.Client/UI/SiteRouter.razor +++ b/Oqtane.Client/UI/SiteRouter.razor @@ -89,7 +89,7 @@ else { // reload the client application if the user navigated to a site with a different alias or there is a forced reload - if ((!path.StartsWith(SiteState.Alias.Path) && SiteState.Alias.Path != "") || querystring.ContainsKey("reload")) + if ((!path.ToLower().StartsWith(SiteState.Alias.Path.ToLower()) && !string.IsNullOrEmpty(SiteState.Alias.Path)) || querystring.ContainsKey("reload")) { NavigationManager.NavigateTo(_absoluteUri.Replace("?reload", ""), true); return; diff --git a/Oqtane.Server/Controllers/AliasController.cs b/Oqtane.Server/Controllers/AliasController.cs index 644fa278..01673f10 100644 --- a/Oqtane.Server/Controllers/AliasController.cs +++ b/Oqtane.Server/Controllers/AliasController.cs @@ -8,7 +8,6 @@ using Oqtane.Enums; using Oqtane.Infrastructure; using Oqtane.Repository; using Microsoft.AspNetCore.Http; -using Oqtane.Themes.Controls; using System.Linq; namespace Oqtane.Controllers diff --git a/Oqtane.Server/Controllers/PackageController.cs b/Oqtane.Server/Controllers/PackageController.cs index 87a5f699..d290d60b 100644 --- a/Oqtane.Server/Controllers/PackageController.cs +++ b/Oqtane.Server/Controllers/PackageController.cs @@ -34,7 +34,6 @@ namespace Oqtane.Controllers // GET: api/?type=x&search=y&price=z&package=a [HttpGet] - [Authorize(Roles = RoleNames.Host)] public async Task> Get(string type, string search, string price, string package) { // get packages diff --git a/Oqtane.Server/Controllers/RoleController.cs b/Oqtane.Server/Controllers/RoleController.cs index 169c9014..b79723ae 100644 --- a/Oqtane.Server/Controllers/RoleController.cs +++ b/Oqtane.Server/Controllers/RoleController.cs @@ -26,7 +26,7 @@ namespace Oqtane.Controllers // GET: api/?siteid=x&global=true/false [HttpGet] - [Authorize(Roles = RoleNames.Admin)] + [Authorize(Roles = RoleNames.Registered)] public IEnumerable Get(string siteid, string global) { int SiteId; @@ -48,7 +48,7 @@ namespace Oqtane.Controllers // GET api//5 [HttpGet("{id}")] - [Authorize(Roles = RoleNames.Admin)] + [Authorize(Roles = RoleNames.Registered)] public Role Get(int id) { var role = _roles.GetRole(id); diff --git a/Oqtane.Server/Repository/FileRepository.cs b/Oqtane.Server/Repository/FileRepository.cs index 1c6179f6..78f36c72 100644 --- a/Oqtane.Server/Repository/FileRepository.cs +++ b/Oqtane.Server/Repository/FileRepository.cs @@ -42,6 +42,7 @@ namespace Oqtane.Repository { _db.File.Add(file); _db.SaveChanges(); + file.Url = GetFileUrl(file, _tenants.GetAlias()); return file; } @@ -49,6 +50,7 @@ namespace Oqtane.Repository { _db.Entry(file).State = EntityState.Modified; _db.SaveChanges(); + file.Url = GetFileUrl(file, _tenants.GetAlias()); return file; } diff --git a/Oqtane.Shared/Models/Package.cs b/Oqtane.Shared/Models/Package.cs index 7e0faa22..447346e7 100644 --- a/Oqtane.Shared/Models/Package.cs +++ b/Oqtane.Shared/Models/Package.cs @@ -71,5 +71,10 @@ namespace Oqtane.Models /// The price of the package /// public decimal Price { get; set; } + + /// + /// The Url for purchasing the package ( if commercial ) + /// + public string PaymentUrl { get; set; } } } diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs index 946b3dc1..db4e3e94 100644 --- a/Oqtane.Shared/Shared/Utilities.cs +++ b/Oqtane.Shared/Shared/Utilities.cs @@ -344,6 +344,10 @@ namespace Oqtane.Shared public static string UrlCombine(params string[] segments) { + for (int i = 1; i < segments.Length; i++) + { + segments[i] = segments[i].Replace("\\", "/"); + } return string.Join("/", segments); }