Merge pull request #3187 from sbwalker/dev

include PackageRegistryUrl in System Info
This commit is contained in:
Shaun Walker 2023-08-24 16:39:51 -04:00 committed by GitHub
commit a383382529
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 37 additions and 44 deletions

View File

@ -63,9 +63,9 @@
<div class="container-fluid px-0"> <div class="container-fluid px-0">
<div class="row g-0 mb-2"> <div class="row g-0 mb-2">
<div class="col-4"> <div class="col-4">
@if (context.LogoFileId != null) @if (context.LogoUrl != null)
{ {
<img src="@GetLogo(context.LogoFileId.Value)" class="img-fluid" alt="@context.Name" /> <img src="@context.LogoUrl" class="img-fluid" alt="@context.Name" />
} }
else else
{ {
@ -210,13 +210,6 @@
HideProgressIndicator(); HideProgressIndicator();
} }
private string GetLogo(int fileid)
{
var url = ImageUrl(fileid, 100, 100);
url = (!string.IsNullOrEmpty(PageState.Alias.Path)) ? url.Substring(PageState.Alias.Path.Length + 1) : url;
return Constants.PackageRegistryUrl + url;
}
private async void PriceChanged(string price) private async void PriceChanged(string price)
{ {
_price = price; _price = price;

View File

@ -133,12 +133,9 @@
</div> </div>
</div> </div>
<div class="row mb-1 align-items-center"> <div class="row mb-1 align-items-center">
<Label Class="col-sm-3" For="packageservice" HelpText="Specify If The Package Service Is Enabled For Installing Modules, Themes, And Translations" ResourceKey="PackageService">Enable Package Service? </Label> <Label Class="col-sm-3" For="packageregistryurl" HelpText="Specify The Package Manager Service For Installing Modules, Themes, And Translations. If This Field Is Blank It Means The Package Manager Service Is Disabled For This Installation." ResourceKey="PackageManager">Package Manager: </Label>
<div class="col-sm-9"> <div class="col-sm-9">
<select id="packageservice" class="form-select" @bind="@_packageservice"> <input id="packageregistryurl" class="form-control" @bind="@_packageregistryurl" />
<option value="true">@SharedLocalizer["True"]</option>
<option value="false">@SharedLocalizer["False"]</option>
</select>
</div> </div>
</div> </div>
</div> </div>
@ -182,7 +179,7 @@
private string _logginglevel = string.Empty; private string _logginglevel = string.Empty;
private string _notificationlevel = string.Empty; private string _notificationlevel = string.Empty;
private string _swagger = string.Empty; private string _swagger = string.Empty;
private string _packageservice = string.Empty; private string _packageregistryurl = string.Empty;
private string _log = string.Empty; private string _log = string.Empty;
@ -213,7 +210,7 @@
_logginglevel = systeminfo["Logging:LogLevel:Default"].ToString(); _logginglevel = systeminfo["Logging:LogLevel:Default"].ToString();
_notificationlevel = systeminfo["Logging:LogLevel:Notify"].ToString(); _notificationlevel = systeminfo["Logging:LogLevel:Notify"].ToString();
_swagger = systeminfo["UseSwagger"].ToString(); _swagger = systeminfo["UseSwagger"].ToString();
_packageservice = systeminfo["PackageService"].ToString(); _packageregistryurl = systeminfo["PackageRegistryUrl"].ToString();
} }
systeminfo = await SystemService.GetSystemInfoAsync("log"); systeminfo = await SystemService.GetSystemInfoAsync("log");
@ -232,7 +229,7 @@
settings.Add("Logging:LogLevel:Default", _logginglevel); settings.Add("Logging:LogLevel:Default", _logginglevel);
settings.Add("Logging:LogLevel:Notify", _notificationlevel); settings.Add("Logging:LogLevel:Notify", _notificationlevel);
settings.Add("UseSwagger", _swagger); settings.Add("UseSwagger", _swagger);
settings.Add("PackageService", _packageservice); settings.Add("PackageRegistryUrl", _packageregistryurl);
await SystemService.UpdateSystemInfoAsync(settings); await SystemService.UpdateSystemInfoAsync(settings);
AddModuleMessage(Localizer["Success.UpdateConfig.Restart"], MessageType.Success); AddModuleMessage(Localizer["Success.UpdateConfig.Restart"], MessageType.Success);
} }

View File

@ -63,9 +63,9 @@
<div class="container-fluid px-0"> <div class="container-fluid px-0">
<div class="row g-0 mb-2"> <div class="row g-0 mb-2">
<div class="col-4"> <div class="col-4">
@if (context.LogoFileId != null) @if (context.LogoUrl != null)
{ {
<img src="@GetLogo(context.LogoFileId.Value)" class="img-fluid" alt="@context.Name" /> <img src="@context.LogoUrl" class="img-fluid" alt="@context.Name" />
} }
else else
{ {
@ -212,13 +212,6 @@
HideProgressIndicator(); HideProgressIndicator();
} }
private string GetLogo(int fileid)
{
var url = ImageUrl(fileid, 100, 100);
url = (!string.IsNullOrEmpty(PageState.Alias.Path)) ? url.Substring(PageState.Alias.Path.Length + 1) : url;
return Constants.PackageRegistryUrl + url;
}
private async void PriceChanged(string price) private async void PriceChanged(string price)
{ {
_price = price; _price = price;

View File

@ -219,11 +219,11 @@
<data name="Success.Register" xml:space="preserve"> <data name="Success.Register" xml:space="preserve">
<value>You Have Been Successfully Registered For Updates</value> <value>You Have Been Successfully Registered For Updates</value>
</data> </data>
<data name="PackageService.HelpText" xml:space="preserve"> <data name="PackageManager.HelpText" xml:space="preserve">
<value>Specify If The Package Service Is Enabled For Installing Modules, Themes, And Translations</value> <value>Specify The Package Manager Service For Installing Modules, Themes, And Translations. If This Field Is Blank It Means The Package Manager Service Is Disabled For This Installation.</value>
</data> </data>
<data name="PackageService.Text" xml:space="preserve"> <data name="PackageManager.Text" xml:space="preserve">
<value>Package Service Enabled?</value> <value>Package Manager:</value>
</data> </data>
<data name="Swagger.HelpText" xml:space="preserve"> <data name="Swagger.HelpText" xml:space="preserve">
<value>Specify If Swagger Is Enabled For Your Server API</value> <value>Specify If Swagger Is Enabled For Your Server API</value>

View File

@ -7,9 +7,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Oqtane.Infrastructure; using Oqtane.Infrastructure;
using Oqtane.Models; using Oqtane.Models;
using Oqtane.Modules;
using Oqtane.Shared; using Oqtane.Shared;
using Oqtane.Themes;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;
using System.Net; using System.Net;
using Oqtane.Repository; using Oqtane.Repository;
@ -243,13 +241,16 @@ namespace Oqtane.Controllers
private async Task RegisterContact(string email) private async Task RegisterContact(string email)
{ {
try try
{
var url = _configManager.GetSetting("PackageRegistryUrl", Constants.PackageRegistryUrl);
if (!string.IsNullOrEmpty(url))
{ {
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value); client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value);
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version)); client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version));
Uri uri = new Uri(Constants.PackageRegistryUrl + $"/api/registry/contact/?id={_configManager.GetInstallationId()}&email={WebUtility.UrlEncode(email)}"); var response = await client.GetAsync(new Uri(url + $"/api/registry/contact/?id={_configManager.GetInstallationId()}&email={WebUtility.UrlEncode(email)}")).ConfigureAwait(false);
var response = await client.GetAsync(uri).ConfigureAwait(false); }
} }
} }
catch catch

View File

@ -38,13 +38,14 @@ namespace Oqtane.Controllers
{ {
// get packages // get packages
List<Package> packages = new List<Package>(); List<Package> packages = new List<Package>();
if (bool.Parse(_configManager.GetSetting("PackageService", "true")) == true) var url = _configManager.GetSetting("PackageRegistryUrl", Constants.PackageRegistryUrl);
if (!string.IsNullOrEmpty(url))
{ {
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value); client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value);
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version)); client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version));
packages = await GetJson<List<Package>>(client, Constants.PackageRegistryUrl + $"/api/registry/packages/?id={_configManager.GetInstallationId()}&type={type.ToLower()}&version={Constants.Version}&search={search}&price={price}&package={package}&sort={sort}"); packages = await GetJson<List<Package>>(client, url + $"/api/registry/packages/?id={_configManager.GetInstallationId()}&type={type.ToLower()}&version={Constants.Version}&search={search}&price={price}&package={package}&sort={sort}");
} }
} }
return packages; return packages;
@ -56,14 +57,15 @@ namespace Oqtane.Controllers
{ {
// get package info // get package info
Package package = null; Package package = null;
if (bool.Parse(_configManager.GetSetting("PackageService", "true")) == true) var url = _configManager.GetSetting("PackageRegistryUrl", Constants.PackageRegistryUrl);
if (!string.IsNullOrEmpty(url))
{ {
var download = (string.IsNullOrEmpty(folder)) ? "false" : "true"; var download = (string.IsNullOrEmpty(folder)) ? "false" : "true";
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value); client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value);
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version)); client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version));
package = await GetJson<Package>(client, Constants.PackageRegistryUrl + $"/api/registry/package/?id={_configManager.GetInstallationId()}&package={packageid}&version={version}&download={download}"); package = await GetJson<Package>(client, url + $"/api/registry/package/?id={_configManager.GetInstallationId()}&package={packageid}&version={version}&download={download}");
} }
if (package != null) if (package != null)

View File

@ -52,7 +52,7 @@ namespace Oqtane.Controllers
systeminfo.Add("Logging:LogLevel:Default", _configManager.GetSetting("Logging:LogLevel:Default", "Information")); systeminfo.Add("Logging:LogLevel:Default", _configManager.GetSetting("Logging:LogLevel:Default", "Information"));
systeminfo.Add("Logging:LogLevel:Notify", _configManager.GetSetting("Logging:LogLevel:Notify", "Error")); systeminfo.Add("Logging:LogLevel:Notify", _configManager.GetSetting("Logging:LogLevel:Notify", "Error"));
systeminfo.Add("UseSwagger", _configManager.GetSetting("UseSwagger", "true")); systeminfo.Add("UseSwagger", _configManager.GetSetting("UseSwagger", "true"));
systeminfo.Add("PackageService", _configManager.GetSetting("PackageService", "true")); systeminfo.Add("PackageRegistryUrl", _configManager.GetSetting("PackageRegistryUrl", Constants.PackageRegistryUrl));
break; break;
case "log": case "log":
string log = ""; string log = "";

View File

@ -1,4 +1,5 @@
using System; using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Oqtane.Models namespace Oqtane.Models
{ {
@ -37,6 +38,12 @@ namespace Oqtane.Models
/// </summary> /// </summary>
public int? LogoFileId { get; set; } public int? LogoFileId { get; set; }
/// <summary>
/// logo
/// </summary>
[NotMapped]
public string LogoUrl { get; set; }
/// <summary> /// <summary>
/// License for the Package. /// License for the Package.
/// </summary> /// </summary>