diff --git a/Oqtane.Client/Installer/Installer.razor b/Oqtane.Client/Installer/Installer.razor index 950ccfdd..1ced68d1 100644 --- a/Oqtane.Client/Installer/Installer.razor +++ b/Oqtane.Client/Installer/Installer.razor @@ -158,8 +158,8 @@ if (firstRender) { var interop = new Interop(JSRuntime); - await interop.IncludeLink("", "stylesheet", "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css", "text/css", "sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC", "anonymous", ""); - await interop.IncludeScript("", "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js", "sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM", "anonymous", "", "head", ""); + await interop.IncludeLink("", "stylesheet", "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css", "text/css", "sha512-usVBAd66/NpVNfBge19gws2j6JZinnca12rAe2l+d+QkLU9fiG02O1X8Q6hepIpr/EYKZvKx/I9WsnujJuOmBA==", "anonymous", ""); + await interop.IncludeScript("", "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/js/bootstrap.min.js", "sha512-a6ctI6w1kg3J4dSjknHj3aWLEbjitAXAjLDRUxo2wyYmDFRcz2RJuQr5M3Kt8O/TtUSp8n2rAyaXYy1sjoKmrQ==", "anonymous", "", "head", ""); } } diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor b/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor index 6cbd78fa..27f32ea7 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor @@ -91,22 +91,25 @@ else public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; + protected override void OnInitialized() + { + _moduledefinitionname = SettingService.GetSetting(ModuleState.Settings, "ModuleDefinitionName", ""); + if (string.IsNullOrEmpty(_moduledefinitionname)) + { + AddModuleMessage(Localizer["Info.Module.Creator"], MessageType.Info); + } + else + { + AddModuleMessage(Localizer["Info.Module.Activate"], MessageType.Info); + } + } + protected override async Task OnParametersSetAsync() { try { - _moduledefinitionname = SettingService.GetSetting(ModuleState.Settings, "ModuleDefinitionName", ""); _templates = await ModuleDefinitionService.GetModuleDefinitionTemplatesAsync(); _versions = Constants.ReleaseVersions.Split(',').Where(item => Version.Parse(item).CompareTo(Version.Parse("2.0.0")) >= 0).ToArray(); - - if (string.IsNullOrEmpty(_moduledefinitionname)) - { - AddModuleMessage(Localizer["Info.Module.Creator"], MessageType.Info); - } - else - { - AddModuleMessage(Localizer["Info.Module.Activate"], MessageType.Info); - } } catch (Exception ex) { @@ -130,7 +133,6 @@ else await SettingService.UpdateModuleSettingsAsync(settings, ModuleState.ModuleId); GetLocation(); - AddModuleMessage(string.Format(Localizer["Success.Module.Create"], NavigateUrl("admin/system")), MessageType.Success); } catch (Exception ex) diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor index 6adc392a..dda4087c 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor @@ -87,13 +87,17 @@ public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; + protected override void OnInitialized() + { + AddModuleMessage(Localizer["Info.Module.Development"], MessageType.Info); + } + protected override async Task OnParametersSetAsync() { try { _templates = await ModuleDefinitionService.GetModuleDefinitionTemplatesAsync(); _versions = Constants.ReleaseVersions.Split(',').Where(item => Version.Parse(item).CompareTo(Version.Parse("2.0.0")) >= 0).ToArray(); - AddModuleMessage(Localizer["Info.Module.Development"], MessageType.Info); } catch (Exception ex) { diff --git a/Oqtane.Client/Modules/Admin/Themes/Create.razor b/Oqtane.Client/Modules/Admin/Themes/Create.razor index f563c1ff..d472047c 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Create.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Create.razor @@ -11,55 +11,56 @@ @if (_templates != null) { -
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
- @if (!string.IsNullOrEmpty(_location)) { -
- -
- -
-
- } -
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ @if (!string.IsNullOrEmpty(_location)) + { +
+ +
+ +
+
+ } +

@SharedLocalizer["Cancel"] @@ -77,13 +78,17 @@ public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; - protected override async Task OnParametersSetAsync() + protected override void OnInitialized() + { + AddModuleMessage(Localizer["Info.Theme.CreatorIntent"], MessageType.Info); + } + + protected override async Task OnParametersSetAsync() { try { _templates = await ThemeService.GetThemeTemplatesAsync(); _versions = Constants.ReleaseVersions.Split(',').Where(item => Version.Parse(item).CompareTo(Version.Parse("2.0.0")) >= 0).ToArray(); - AddModuleMessage(Localizer["Info.Theme.CreatorIntent"], MessageType.Info); } catch (Exception ex) { diff --git a/Oqtane.Client/Themes/BlazorTheme/Themes/Default.razor b/Oqtane.Client/Themes/BlazorTheme/Themes/Default.razor index bc60e72f..fd580f3a 100644 --- a/Oqtane.Client/Themes/BlazorTheme/Themes/Default.razor +++ b/Oqtane.Client/Themes/BlazorTheme/Themes/Default.razor @@ -30,9 +30,10 @@ public override List Resources => new List() { - new Resource { ResourceType = ResourceType.Stylesheet, Url = "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css", Integrity = "sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC", CrossOrigin = "anonymous" }, + // obtained from https://cdnjs.com/libraries + new Resource { ResourceType = ResourceType.Stylesheet, Url = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css", Integrity = "sha512-usVBAd66/NpVNfBge19gws2j6JZinnca12rAe2l+d+QkLU9fiG02O1X8Q6hepIpr/EYKZvKx/I9WsnujJuOmBA==", CrossOrigin = "anonymous" }, new Resource { ResourceType = ResourceType.Stylesheet, Url = ThemePath() + "Theme.css" }, - new Resource { ResourceType = ResourceType.Script, Bundle = "Bootstrap", Url = "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js", Integrity = "sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM", CrossOrigin = "anonymous" } + new Resource { ResourceType = ResourceType.Script, Bundle = "Bootstrap", Url = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/js/bootstrap.min.js", Integrity = "sha512-a6ctI6w1kg3J4dSjknHj3aWLEbjitAXAjLDRUxo2wyYmDFRcz2RJuQr5M3Kt8O/TtUSp8n2rAyaXYy1sjoKmrQ==", CrossOrigin = "anonymous" } }; } \ No newline at end of file diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor index d6e76bd8..da391360 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor @@ -12,183 +12,6 @@ @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer -@if (_moduleDefinitions != null && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions)) -{ -
-
-
@Localizer["ControlPanel"]
- -
-
- @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Admin)) - { -
-
- -
-
- -
- -
-
- -
-
-
-
- - - -
-
-
-
-
- @if (UserSecurity.GetPermissionStrings(PageState.Page.Permissions).FirstOrDefault(item => item.PermissionName == PermissionNames.View).Permissions.Split(';').Contains(RoleNames.Everyone)) - { - - } - else - { - - } -
-
- } - - @if (_deleteConfirmation) - { -
- -
- } -
-
-
- - - @if (ModuleType == "new") - { - @if (_moduleDefinitions != null) - { - - - @((MarkupString) Description) - } - } - else - { - - - } -
-
-
-
- - -
-
- @if (_pane.Length > 1) - { -
-
- - -
-
- } -
-
- - -
-
-
- - @((MarkupString) Message) - @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) - { -
- @Localizer["System.Update"] - } -
-
-} - @if (ShowLanguageSwitcher) { @@ -212,10 +35,185 @@ @if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions)) { - + +
+
+
@Localizer["ControlPanel"]
+ +
+
+
+ @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Admin)) + { +
+
+ +
+
+ +
+ +
+
+ +
+
+
+
+ + + +
+
+
+
+
+ @if (UserSecurity.GetPermissionStrings(PageState.Page.Permissions).FirstOrDefault(item => item.PermissionName == PermissionNames.View).Permissions.Split(';').Contains(RoleNames.Everyone)) + { + + } + else + { + + } +
+
+ } + + @if (_deleteConfirmation) + { +
+ +
+ } +
+
+
+ + + @if (ModuleType == "new") + { + @if (_moduleDefinitions != null) + { + + + @((MarkupString) Description) + } + } + else + { + + + } +
+
+
+
+ + +
+
+ @if (_pane.Length > 1) + { +
+
+ + +
+
+ } +
+
+ + +
+
+
+ + @((MarkupString) Message) + @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) + { +
+ @Localizer["System.Update"] + } +
+
+
} @code{ diff --git a/Oqtane.Client/Themes/OqtaneTheme/Themes/Default.razor b/Oqtane.Client/Themes/OqtaneTheme/Themes/Default.razor index 9036dcad..59be7e97 100644 --- a/Oqtane.Client/Themes/OqtaneTheme/Themes/Default.razor +++ b/Oqtane.Client/Themes/OqtaneTheme/Themes/Default.razor @@ -112,10 +112,11 @@ public override List Resources => new List() { + // obtained from https://cdnjs.com/libraries new Resource { ResourceType = ResourceType.Stylesheet, Url = "https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.1.3/cyborg/bootstrap.min.css", Integrity = "sha512-/in5IWTUhb7wOUd6iHotlyrLrZ7+2utJJR8ySzSxeeOMJ9fanjCr4fmyWzDW/ziw56shUNTVClBMWZaA677VhA==", CrossOrigin = "anonymous" }, new Resource { ResourceType = ResourceType.Stylesheet, Url = ThemePath() + "Theme.css" }, - new Resource { ResourceType = ResourceType.Script, Bundle = "Bootstrap", Url = "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js", Integrity = "sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p", CrossOrigin = "anonymous" } - }; + new Resource { ResourceType = ResourceType.Script, Bundle = "Bootstrap", Url = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/js/bootstrap.min.js", Integrity = "sha512-OvBgP9A2JBgiRad/mM36mkzXSXaJE9BEIENnVEmeZdITvwT09xnxLtT4twkCa8m/loMbPHsvPl0T8lRGVBwjlQ==", CrossOrigin = "anonymous" } + }; private bool _login = true; private bool _register = true; diff --git a/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs b/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs index 5ae4e833..5e7e39bc 100644 --- a/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs +++ b/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs @@ -38,6 +38,7 @@ namespace Oqtane.SiteTemplates { Name = "Home", Parent = "", + Order = 1, Path = "", Icon = "oi oi-home", IsNavigation = true, @@ -84,6 +85,7 @@ namespace Oqtane.SiteTemplates { Name = "Private", Parent = "", + Order = 3, Path = "private", Icon = "oi oi-lock-locked", IsNavigation = true, @@ -108,6 +110,7 @@ namespace Oqtane.SiteTemplates { Name = "My Page", Parent = "", + Order = 5, Path = "mypage", Icon = "oi oi-target", IsNavigation = true, diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/release.cmd b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/release.cmd index db29e036..dd5c95db 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/release.cmd +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/release.cmd @@ -1,3 +1,3 @@ "..\..\[RootFolder]\oqtane.package\nuget.exe" pack [Owner].[Module].nuspec -XCOPY "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\Packages\" /Y +XCOPY "*.nupkg" "..\..\[RootFolder]\Oqtane.Server\Packages\" /Y diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/template.json b/Oqtane.Server/wwwroot/Modules/Templates/External/template.json index b381a536..7b77591c 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/template.json +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/template.json @@ -1,5 +1,5 @@ { "Title": "Default Module Template", "Type": "External", - "Version": "2.2.0" + "Version": "3.0.0" } diff --git a/Oqtane.Server/wwwroot/Themes/Templates/External/template.json b/Oqtane.Server/wwwroot/Themes/Templates/External/template.json index f8551aa1..d142303d 100644 --- a/Oqtane.Server/wwwroot/Themes/Templates/External/template.json +++ b/Oqtane.Server/wwwroot/Themes/Templates/External/template.json @@ -1,5 +1,5 @@ { "Title": "Default Theme Template", "Type": "External", - "Version": "2.2.0" + "Version": "3.0.0" } diff --git a/Oqtane.Test/Oqtane.Test.csproj b/Oqtane.Test/Oqtane.Test.csproj index b944a691..d13f54e3 100644 --- a/Oqtane.Test/Oqtane.Test.csproj +++ b/Oqtane.Test/Oqtane.Test.csproj @@ -1,4 +1,4 @@ - + net6.0 @@ -20,9 +20,9 @@ - - - + + + all