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))
-{
-
-
-
- @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)
- {
-
-
-
-
-
-
-
Are You Sure You Want To Delete This Page?
-
-
-
-
-
-
- }
-
-
-
-
-
- @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))
{
-
+
+
+
+
+
+ @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)
+ {
+
+
+
+
+
+
+
Are You Sure You Want To Delete This Page?
+
+
+
+
+
+
+ }
+
+
+
+
+
+ @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