|
|
@@ -61,17 +61,17 @@ else
@context.Name |
@context.Version |
- @if (context.IsEnabled)
- {
- @SharedLocalizer["Yes"]
- }
- else
- {
- @SharedLocalizer["No"]
- }
+ @if (context.IsEnabled)
+ {
+ @SharedLocalizer["Yes"]
+ }
+ else
+ {
+ @SharedLocalizer["No"]
+ }
|
- @if (context.AssemblyName == Constants.ClientId || _modules.Where(m => m.ModuleDefinition?.ModuleDefinitionId == context.ModuleDefinitionId).FirstOrDefault() != null)
+ @if (context.AssemblyName == Constants.ClientId || _modules.Where(m => m.ModuleDefinition?.ModuleDefinitionId == context.ModuleDefinitionId).FirstOrDefault() != null)
{
@SharedLocalizer["Yes"]
}
@@ -87,9 +87,9 @@ else
@((MarkupString)PurchaseLink(context.PackageName))
|
- @{
- var version = UpgradeAvailable(context.PackageName, context.Version);
- }
+ @{
+ var version = UpgradeAvailable(context.PackageName, context.Version);
+ }
@if (version != context.Version)
{
@@ -153,10 +153,10 @@ else
link = "" + package.ExpiryDate.Value.Date.ToString("MMM dd, yyyy") + "";
}
}
- }
- }
- return link;
- }
+ }
+ }
+ return link;
+ }
private string SupportLink(string packagename, string version)
{
@@ -172,52 +172,75 @@ else
return link;
}
- private string UpgradeAvailable(string packagename, string version)
- {
- if (!string.IsNullOrEmpty(packagename) && _packages != null)
- {
- var package = _packages.Where(item => item.PackageId == packagename).FirstOrDefault();
- if (package != null && Version.Parse(package.Version).CompareTo(Version.Parse(version)) > 0)
- {
- return package.Version;
- }
- }
- return version;
- }
+ private string UpgradeAvailable(string packagename, string version)
+ {
+ if (!string.IsNullOrEmpty(packagename) && _packages != null)
+ {
+ var package = _packages.Where(item => item.PackageId == packagename).FirstOrDefault();
+ if (package != null && Version.Parse(package.Version).CompareTo(Version.Parse(version)) > 0)
+ {
+ return package.Version;
+ }
+ }
+ return version;
+ }
- private async Task DownloadModule(string packagename, string version)
- {
- try
- {
- await PackageService.DownloadPackageAsync(packagename, version);
- await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", packagename, version);
- AddModuleMessage(string.Format(Localizer["Success.Module.Install"], NavigateUrl("admin/system")), MessageType.Success);
- }
- catch (Exception ex)
- {
- await logger.LogError(ex, "Error Downloading Module {ModuleDefinitionName} {Version} {Error}", packagename, version, ex.Message);
- AddModuleMessage(Localizer["Error.Module.Download"], MessageType.Error);
- }
- }
+ private async Task DownloadModule(string packagename, string version)
+ {
+ try
+ {
+ await PackageService.DownloadPackageAsync(packagename, version);
+ await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", packagename, version);
+ AddModuleMessage(string.Format(Localizer["Success.Module.Install"], NavigateUrl("admin/system")), MessageType.Success);
+ }
+ catch (Exception ex)
+ {
+ await logger.LogError(ex, "Error Downloading Module {ModuleDefinitionName} {Version} {Error}", packagename, version, ex.Message);
+ AddModuleMessage(Localizer["Error.Module.Download"], MessageType.Error);
+ }
+ }
- private async Task DeleteModule(ModuleDefinition moduleDefinition)
- {
- try
- {
- await ModuleDefinitionService.DeleteModuleDefinitionAsync(moduleDefinition.ModuleDefinitionId, moduleDefinition.SiteId);
- AddModuleMessage(Localizer["Success.Module.Delete"], MessageType.Success);
- NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, true));
- }
- catch (Exception ex)
- {
- await logger.LogError(ex, "Error Deleting Module {ModuleDefinition} {Error}", moduleDefinition, ex.Message);
- AddModuleMessage(Localizer["Error.Module.Delete"], MessageType.Error);
- }
- }
+ private async Task DeleteModule(ModuleDefinition moduleDefinition)
+ {
+ try
+ {
+ await ModuleDefinitionService.DeleteModuleDefinitionAsync(moduleDefinition.ModuleDefinitionId, moduleDefinition.SiteId);
+ AddModuleMessage(Localizer["Success.Module.Delete"], MessageType.Success);
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, true));
+ }
+ catch (Exception ex)
+ {
+ await logger.LogError(ex, "Error Deleting Module {ModuleDefinition} {Error}", moduleDefinition, ex.Message);
+ AddModuleMessage(Localizer["Error.Module.Delete"], MessageType.Error);
+ }
+ }
- private async Task CategoryChanged(ChangeEventArgs e)
- {
- _category = (string)e.Value;
+ private async Task CategoryChanged(ChangeEventArgs e)
+ {
+ _category = (string)e.Value;
await LoadModuleDefinitions();
- }
+ }
+
+ private async Task Synchronize()
+ {
+ try
+ {
+ ShowProgressIndicator();
+ foreach (var moduleDefinition in _moduleDefinitions)
+ {
+ if (!string.IsNullOrEmpty(moduleDefinition.PackageName) && !_packages.Any(item => item.PackageId == moduleDefinition.PackageName))
+ {
+ var package = await PackageService.GetPackageAsync(moduleDefinition.PackageName, moduleDefinition.Version, false);
+ }
+ }
+ HideProgressIndicator();
+ AddModuleMessage(Localizer["Success.Module.Synchronize"], MessageType.Success);
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, true));
+ }
+ catch (Exception ex)
+ {
+ await logger.LogError(ex, "Error Synchronizing Modules {Error}", ex.Message);
+ AddModuleMessage(Localizer["Error.Module.Synchronize"], MessageType.Error);
+ }
+ }
}
diff --git a/Oqtane.Client/Modules/Admin/Themes/Edit.razor b/Oqtane.Client/Modules/Admin/Themes/Edit.razor
index ed324ebf..125e2846 100644
--- a/Oqtane.Client/Modules/Admin/Themes/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Themes/Edit.razor
@@ -55,7 +55,7 @@
-
+
diff --git a/Oqtane.Client/Modules/Admin/Themes/Index.razor b/Oqtane.Client/Modules/Admin/Themes/Index.razor
index b6b25345..2d8f83a8 100644
--- a/Oqtane.Client/Modules/Admin/Themes/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Themes/Index.razor
@@ -15,8 +15,8 @@
else
{
- @((MarkupString)" ")
-
+
+
@@ -173,4 +173,27 @@ else
AddModuleMessage(Localizer["Error.Theme.Delete"], MessageType.Error);
}
}
+
+ private async Task Synchronize()
+ {
+ try
+ {
+ ShowProgressIndicator();
+ foreach (var theme in _themes)
+ {
+ if (!string.IsNullOrEmpty(theme.PackageName) && !_packages.Any(item => item.PackageId == theme.PackageName))
+ {
+ await PackageService.GetPackageAsync(theme.PackageName, theme.Version, false);
+ }
+ }
+ HideProgressIndicator();
+ AddModuleMessage(Localizer["Success.Theme.Synchronize"], MessageType.Success);
+ NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, true));
+ }
+ catch (Exception ex)
+ {
+ await logger.LogError(ex, "Error Synchronizing Themes {Error}", ex.Message);
+ AddModuleMessage(Localizer["Error.Theme.Synchronize"], MessageType.Error);
+ }
+ }
}
\ 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 186fdd65..4421b90a 100644
--- a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx
@@ -147,8 +147,8 @@
The owner or creator of the module
-
- The reference url of the module
+
+ The url of the module
The contact for the module
@@ -171,8 +171,8 @@
Owner:
-
- Reference Url:
+
+ Url:
Contact:
diff --git a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Index.resx b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Index.resx
index ce91ee3b..90ffbe18 100644
--- a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Index.resx
@@ -159,4 +159,13 @@
Enabled?
+
+ Synchronize
+
+
+ Modules Have Been Successfully Synchronized With The Marketplace
+
+
+ Error Synchronizing Modules With The Marketplace
+
\ No newline at end of file
diff --git a/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx b/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx
index c18f9761..69f9bdd8 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx
@@ -132,8 +132,8 @@
Owner:
-
- Reference Url:
+
+ Url:
Contact:
@@ -153,8 +153,8 @@
The owner or creator of the theme
-
- The reference url of the theme
+
+ The url of the theme
The contact for the theme
diff --git a/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx
index 7ff1b618..4edc516c 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx
@@ -159,4 +159,13 @@
Assign
+
+ Synchronize
+
+
+ Themes Have Been Successfully Synchronized With The Marketplace
+
+
+ Error Synchronizing Themes With The Marketplace
+
\ No newline at end of file
diff --git a/Oqtane.Server/Controllers/PackageController.cs b/Oqtane.Server/Controllers/PackageController.cs
index c0b943bc..eb678a3b 100644
--- a/Oqtane.Server/Controllers/PackageController.cs
+++ b/Oqtane.Server/Controllers/PackageController.cs
@@ -90,33 +90,26 @@ namespace Oqtane.Controllers
package = await GetJson(client, url + $"/api/registry/package/?id={_configManager.GetInstallationId()}&package={packageid}&version={version}&download={download}&email={WebUtility.UrlEncode(GetPackageRegistryEmail())}");
}
- if (package != null)
+ if (package != null && bool.Parse(install))
{
- if (bool.Parse(install))
+ using (var httpClient = new HttpClient())
{
- using (var httpClient = new HttpClient())
+ var folder = Path.Combine(_environment.ContentRootPath, Constants.PackagesFolder);
+ var response = await httpClient.GetAsync(package.PackageUrl).ConfigureAwait(false);
+ if (response.IsSuccessStatusCode)
{
- var folder = Path.Combine(_environment.ContentRootPath, Constants.PackagesFolder);
- var response = await httpClient.GetAsync(package.PackageUrl).ConfigureAwait(false);
- if (response.IsSuccessStatusCode)
+ string filename = packageid + "." + version + ".nupkg";
+ using (var fileStream = new FileStream(Path.Combine(Constants.PackagesFolder, filename), FileMode.Create, FileAccess.Write, FileShare.None))
{
- string filename = packageid + "." + version + ".nupkg";
- using (var fileStream = new FileStream(Path.Combine(Constants.PackagesFolder, filename), FileMode.Create, FileAccess.Write, FileShare.None))
- {
- await response.Content.CopyToAsync(fileStream).ConfigureAwait(false);
- }
- }
- else
- {
- _logger.Log(LogLevel.Error, this, LogFunction.Create, "Could Not Download {PackageUrl}", package.PackageUrl);
+ await response.Content.CopyToAsync(fileStream).ConfigureAwait(false);
}
}
+ else
+ {
+ _logger.Log(LogLevel.Error, this, LogFunction.Create, "Could Not Download {PackageUrl}", package.PackageUrl);
+ }
}
}
- else
- {
- _logger.Log(LogLevel.Error, this, LogFunction.Create, "Package {PackageId}.{Version} Is Not Registered In The Marketplace", packageid, version);
- }
}
return package;
}
|