Merge pull request #3268 from sbwalker/dev

prevent System Update in development environment
This commit is contained in:
Shaun Walker 2023-09-20 12:34:20 -04:00 committed by GitHub
commit 53d0202f3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 36 deletions

View File

@ -7,34 +7,38 @@
@inject IStringLocalizer<Index> Localizer @inject IStringLocalizer<Index> Localizer
@inject IStringLocalizer<SharedResources> SharedLocalizer @inject IStringLocalizer<SharedResources> SharedLocalizer
<TabStrip> @if (_initialized)
<TabPanel Name="Download" ResourceKey="Download"> {
@if (_package != null && _upgradeavailable) <TabStrip>
{ <TabPanel Name="Download" ResourceKey="Download">
<ModuleMessage Type="MessageType.Info" Message="Select The Download Button To Download The Framework Upgrade Package And Then Select Upgrade"></ModuleMessage> @if (_package != null && _upgradeavailable)
<button type="button" class="btn btn-primary" @onclick=@(async () => await Download(Constants.PackageId, @_package.Version))>@SharedLocalizer["Download"] @_package.Version</button> {
<button type="button" class="btn btn-success" @onclick="Upgrade">@SharedLocalizer["Upgrade"]</button> <ModuleMessage Type="MessageType.Info" Message="Select The Download Button To Download The Framework Upgrade Package And Then Select Upgrade"></ModuleMessage>
} <button type="button" class="btn btn-primary" @onclick=@(async () => await Download(Constants.PackageId, @_package.Version))>@SharedLocalizer["Download"] @_package.Version</button>
else <button type="button" class="btn btn-success" @onclick="Upgrade">@SharedLocalizer["Upgrade"]</button>
{ }
<ModuleMessage Type="MessageType.Info" Message=@Localizer["Message.Text"]></ModuleMessage> else
} {
</TabPanel> <ModuleMessage Type="MessageType.Info" Message=@Localizer["Message.Text"]></ModuleMessage>
<TabPanel Name="Upload" ResourceKey="Upload"> }
<ModuleMessage Type="MessageType.Info" Message=@Localizer["MessgeUpgrade.Text"]></ModuleMessage> </TabPanel>
<div class="container"> <TabPanel Name="Upload" ResourceKey="Upload">
<div class="row mb-1 align-items-center"> <ModuleMessage Type="MessageType.Info" Message=@Localizer["MessageUpgrade.Text"]></ModuleMessage>
<Label Class="col-sm-3" HelpText="Upload A Framework Package And Then Select Upgrade" ResourceKey="Framework">Framework: </Label> <div class="container">
<div class="col-sm-9"> <div class="row mb-1 align-items-center">
<FileManager Folder="@Constants.PackagesFolder" /> <Label Class="col-sm-3" HelpText="Upload A Framework Package And Then Select Upgrade" ResourceKey="Framework">Framework: </Label>
<div class="col-sm-9">
<FileManager Folder="@Constants.PackagesFolder" />
</div>
</div> </div>
</div> </div>
</div> <button type="button" class="btn btn-success" @onclick="Upgrade">@SharedLocalizer["Upgrade"]</button>
<button type="button" class="btn btn-success" @onclick="Upgrade">@SharedLocalizer["Upgrade"]</button> </TabPanel>
</TabPanel> </TabStrip>
</TabStrip> }
@code { @code {
private bool _initialized = false;
private Package _package; private Package _package;
private bool _upgradeavailable = false; private bool _upgradeavailable = false;
@ -44,18 +48,26 @@
{ {
try try
{ {
List<Package> packages = await PackageService.GetPackagesAsync("framework", "", "", ""); if (NavigationManager.BaseUri.Contains("localhost:"))
if (packages != null)
{ {
_package = packages.Where(item => item.PackageId.StartsWith(Constants.PackageId)).FirstOrDefault(); AddModuleMessage(Localizer["Localhost.Text"], MessageType.Info);
if (_package != null) }
else
{
List<Package> packages = await PackageService.GetPackagesAsync("framework", "", "", "");
if (packages != null)
{ {
_upgradeavailable = (Version.Parse(_package.Version).CompareTo(Version.Parse(Constants.Version)) > 0); _package = packages.Where(item => item.PackageId.StartsWith(Constants.PackageId)).FirstOrDefault();
} if (_package != null)
else {
{ _upgradeavailable = (Version.Parse(_package.Version).CompareTo(Version.Parse(Constants.Version)) > 0);
_package = new Package { Name = Constants.PackageId, Version = Constants.Version }; }
else
{
_package = new Package { Name = Constants.PackageId, Version = Constants.Version };
}
} }
_initialized = true;
} }
} }
catch catch

View File

@ -144,7 +144,10 @@
<data name="Message.Text" xml:space="preserve"> <data name="Message.Text" xml:space="preserve">
<value>Framework Is Already Up To Date</value> <value>Framework Is Already Up To Date</value>
</data> </data>
<data name="MessgeUpgrade.Text" xml:space="preserve"> <data name="MessageUpgrade.Text" xml:space="preserve">
<value>Upload A Framework Package (Oqtane.Framework.version.nupkg) And Then Select Upgrade</value> <value>Upload A Framework Package (Oqtane.Framework.version.nupkg) And Then Select Upgrade</value>
</data> </data>
<data name="Localhost.Text" xml:space="preserve">
<value>You Cannot Perform A System Update In A Development Environment</value>
</data>
</root> </root>

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
@ -106,9 +107,10 @@ namespace Oqtane.Managers
{ {
if (string.IsNullOrEmpty(user.Password)) if (string.IsNullOrEmpty(user.Password))
{ {
// create random password ie. Jan-01-2023+12:00:00! // create random interal password based on random date and punctuation ie. Jan-23-1981+14:43:12!
Random rnd = new Random(); Random rnd = new Random();
user.Password = DateTime.UtcNow.ToString("MMM-dd-yyyy+HH:mm:ss", CultureInfo.InvariantCulture) + (char)rnd.Next(33, 47); var date = DateTime.UtcNow.AddDays(-rnd.Next(50 * 365)).AddHours(rnd.Next(0, 24)).AddMinutes(rnd.Next(0, 60)).AddSeconds(rnd.Next(0, 60));
user.Password = date.ToString("MMM-dd-yyyy+HH:mm:ss", CultureInfo.InvariantCulture) + (char)rnd.Next(33, 47);
} }
identityuser = new IdentityUser(); identityuser = new IdentityUser();
identityuser.UserName = user.Username; identityuser.UserName = user.Username;