@@ -53,28 +59,30 @@
@SharedLocalizer["Cancel"]
@code {
- private string _themeName = "";
- private string _name;
- private string _version;
- private string _owner = "";
- private string _url = "";
- private string _contact = "";
- private string _license = "";
+ private string _themeName = "";
+ private string _name;
+ private string _version;
+ private string _packagename;
+ private string _owner = "";
+ private string _url = "";
+ private string _contact = "";
+ private string _license = "";
- public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host;
+ public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host;
- protected override async Task OnInitializedAsync()
- {
- try
- {
- _themeName = WebUtility.UrlDecode(PageState.QueryString["name"]);
- var themes = await ThemeService.GetThemesAsync();
- var theme = themes.FirstOrDefault(item => item.ThemeName == _themeName);
- if (theme != null)
- {
- _name = theme.Name;
- _version = theme.Version;
- _owner = theme.Owner;
+ protected override async Task OnInitializedAsync()
+ {
+ try
+ {
+ _themeName = WebUtility.UrlDecode(PageState.QueryString["name"]);
+ var themes = await ThemeService.GetThemesAsync();
+ var theme = themes.FirstOrDefault(item => item.ThemeName == _themeName);
+ if (theme != null)
+ {
+ _name = theme.Name;
+ _version = theme.Version;
+ _packagename = theme.PackageName;
+ _owner = theme.Owner;
_url = theme.Url;
_contact = theme.Contact;
_license = theme.License;
diff --git a/Oqtane.Client/Resources/Modules/Admin/Jobs/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Jobs/Index.resx
index db97ddc3..3a55912b 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Jobs/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Jobs/Index.resx
@@ -192,4 +192,7 @@
Execute Once
+
+ Please Note That After An Initial Installation You Must <a href={0}>Restart</a> The Application In Order To Activate The Default Scheduled Jobs.
+
\ No newline at end of file
diff --git a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx
index 73e0a543..8150f4eb 100644
--- a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx
@@ -195,4 +195,10 @@
Information
+
+ The unique name of the package from which this module was installed
+
+
+ Package Name:
+
\ No newline at end of file
diff --git a/Oqtane.Client/Resources/Modules/Admin/Themes/View.resx b/Oqtane.Client/Resources/Modules/Admin/Themes/View.resx
index f8540759..f950588f 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Themes/View.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Themes/View.resx
@@ -162,4 +162,10 @@
The license of the theme
+
+ The unique name of the package from which this module was installed
+
+
+ Package Name:
+
\ No newline at end of file
diff --git a/Oqtane.Server/Infrastructure/UpgradeManager.cs b/Oqtane.Server/Infrastructure/UpgradeManager.cs
index 2074dd0e..cdefb7c7 100644
--- a/Oqtane.Server/Infrastructure/UpgradeManager.cs
+++ b/Oqtane.Server/Infrastructure/UpgradeManager.cs
@@ -1,7 +1,5 @@
using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
-using Newtonsoft.Json;
using Oqtane.Extensions;
using Oqtane.Models;
using Oqtane.Repository;
@@ -53,6 +51,9 @@ namespace Oqtane.Infrastructure
case "3.1.3":
Upgrade_3_1_3(tenant, scope);
break;
+ case "3.1.4":
+ Upgrade_3_1_4(tenant, scope);
+ break;
}
}
}
@@ -195,5 +196,47 @@ namespace Oqtane.Infrastructure
}
}
+ private void Upgrade_3_1_4(Tenant tenant, IServiceScope scope)
+ {
+ var pageTemplates = new List
();
+
+ pageTemplates.Add(new PageTemplate
+ {
+ Name = "Not Found",
+ Parent = "",
+ Path = "404",
+ Icon = Icons.X,
+ IsNavigation = false,
+ IsPersonalizable = false,
+ PagePermissions = new List
+ {
+ new Permission(PermissionNames.View, RoleNames.Everyone, true),
+ new Permission(PermissionNames.View, RoleNames.Admin, true),
+ new Permission(PermissionNames.Edit, RoleNames.Admin, true)
+ }.EncodePermissions(),
+ PageTemplateModules = new List
+ {
+ new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Not Found", Pane = PaneNames.Admin,
+ ModulePermissions = new List {
+ new Permission(PermissionNames.View, RoleNames.Everyone, true),
+ new Permission(PermissionNames.View, RoleNames.Admin, true),
+ new Permission(PermissionNames.Edit, RoleNames.Admin, true)
+ }.EncodePermissions(),
+ Content = "The page you requested does not exist.
"
+ }
+ }
+ });
+
+ var pages = scope.ServiceProvider.GetRequiredService();
+
+ var sites = scope.ServiceProvider.GetRequiredService();
+ foreach (Site site in sites.GetSites().ToList())
+ {
+ if (!pages.GetPages(site.SiteId).ToList().Where(item => item.Path == "404").Any())
+ {
+ sites.CreatePages(site, pageTemplates);
+ }
+ }
+ }
}
}