@@ -26,64 +29,80 @@
@code {
- private ElementReference form;
- private bool validated = false;
+ private ElementReference form;
+ private bool validated = false;
- private string _url = string.Empty;
- private string _mappedurl = string.Empty;
+ private string _url = string.Empty;
+ private string _mappedurl = string.Empty;
- public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin;
+ public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin;
- private async Task SaveUrlMapping()
- {
- validated = true;
- var interop = new Interop(JSRuntime);
- if (await interop.FormValid(form))
- {
- if (_url != _mappedurl)
- {
- var url = PageState.Uri.Scheme + "://" + PageState.Uri.Authority + "/";
- url = url + (!string.IsNullOrEmpty(PageState.Alias.Path) ? PageState.Alias.Path + "/" : "");
+ private async Task SaveUrlMapping()
+ {
+ validated = true;
+ var interop = new Interop(JSRuntime);
+ if (await interop.FormValid(form))
+ {
+ if (_url != _mappedurl)
+ {
+ var url = PageState.Uri.Scheme + "://" + PageState.Uri.Authority + "/";
+ url = url + (!string.IsNullOrEmpty(PageState.Alias.Path) ? PageState.Alias.Path + "/" : "");
- _url = (_url.StartsWith("/")) ? _url.Substring(1) : _url;
- _url = (!_url.StartsWith("http")) ? url + _url : _url;
+ _url = (_url.StartsWith("/")) ? _url.Substring(1) : _url;
+ _url = (!_url.StartsWith("http")) ? url + _url : _url;
- if (_url.StartsWith(url))
- {
- var urlmapping = new UrlMapping();
- urlmapping.SiteId = PageState.Site.SiteId;
- var route = new Route(_url, PageState.Alias.Path);
- urlmapping.Url = route.PagePath;
- urlmapping.MappedUrl = _mappedurl.Replace(url, "");
- urlmapping.Requests = 0;
- urlmapping.CreatedOn = DateTime.UtcNow;
- urlmapping.RequestedOn = DateTime.UtcNow;
+ _mappedurl = _mappedurl.Replace(url, "");
+ _mappedurl = (_mappedurl.StartsWith("/") && _mappedurl != "/") ? _mappedurl.Substring(1) : _mappedurl;
- try
- {
- urlmapping = await UrlMappingService.AddUrlMappingAsync(urlmapping);
- await logger.LogInformation("UrlMapping Saved {UrlMapping}", urlmapping);
- NavigationManager.NavigateTo(NavigateUrl());
- }
- catch (Exception ex)
- {
- await logger.LogError(ex, "Error Saving UrlMapping {UrlMapping} {Error}", urlmapping, ex.Message);
- AddModuleMessage(Localizer["Error.SaveUrlMapping"], MessageType.Error);
- }
- }
- else
- {
- AddModuleMessage(Localizer["Message.SaveUrlMapping"], MessageType.Warning);
- }
- }
- else
- {
+ if (_url.StartsWith(url))
+ {
+ var urlmapping = new UrlMapping();
+ urlmapping.SiteId = PageState.Site.SiteId;
+ urlmapping.Url = new Route(_url, PageState.Alias.Path).PagePath;
+ urlmapping.MappedUrl = _mappedurl;
+ urlmapping.Requests = 0;
+ urlmapping.CreatedOn = DateTime.UtcNow;
+ urlmapping.RequestedOn = DateTime.UtcNow;
+
+ try
+ {
+ urlmapping = await UrlMappingService.AddUrlMappingAsync(urlmapping);
+ await logger.LogInformation("UrlMapping Saved {UrlMapping}", urlmapping);
+ NavigationManager.NavigateTo(NavigateUrl());
+ }
+ catch (Exception ex)
+ {
+ await logger.LogError(ex, "Error Saving UrlMapping {UrlMapping} {Error}", urlmapping, ex.Message);
+ AddModuleMessage(Localizer["Error.SaveUrlMapping"], MessageType.Error);
+ }
+ }
+ else
+ {
+ AddModuleMessage(Localizer["Message.SaveUrlMapping"], MessageType.Warning);
+ }
+ }
+ else
+ {
AddModuleMessage(Localizer["Message.DuplicateUrlMapping"], MessageType.Warning);
- }
+ }
}
else
{
AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning);
}
}
+
+ private void GenerateUrl()
+ {
+ var url = PageState.Uri.Scheme + "://" + PageState.Uri.Authority + "/";
+ url = url + (!string.IsNullOrEmpty(PageState.Alias.Path) ? PageState.Alias.Path + "/" : "");
+
+ var chars = "abcdefghijklmnopqrstuvwxyz";
+ Random rnd = new Random();
+ for (int i = 0; i < 5; i++)
+ {
+ url += chars.Substring(rnd.Next(0, chars.Length - 1), 1);
+ }
+ _url = url;
+ }
}
diff --git a/Oqtane.Client/Modules/Admin/UrlMappings/Edit.razor b/Oqtane.Client/Modules/Admin/UrlMappings/Edit.razor
index 10c9a57f..78a062f9 100644
--- a/Oqtane.Client/Modules/Admin/UrlMappings/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/UrlMappings/Edit.razor
@@ -67,8 +67,11 @@
var url = PageState.Uri.Scheme + "://" + PageState.Uri.Authority + "/";
url = url + (!string.IsNullOrEmpty(PageState.Alias.Path) ? PageState.Alias.Path + "/" : "");
+ _mappedurl = _mappedurl.Replace(url, "");
+ _mappedurl = (_mappedurl.StartsWith("/") && _mappedurl != "/") ? _mappedurl.Substring(1) : _mappedurl;
+
var urlmapping = await UrlMappingService.GetUrlMappingAsync(_urlmappingid);
- urlmapping.MappedUrl = _mappedurl.Replace(url, "");
+ urlmapping.MappedUrl = _mappedurl;
urlmapping = await UrlMappingService.UpdateUrlMappingAsync(urlmapping);
await logger.LogInformation("UrlMapping Saved {UrlMapping}", urlmapping);
NavigationManager.NavigateTo(NavigateUrl());
diff --git a/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx
index e609f42a..a38e830c 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx
@@ -124,7 +124,7 @@
Error Downloading Framework Package
- Upload a framework package and select Install to complete the installation
+ Upload A Framework Package (Oqtane.Framework.#.#.#.nupkg) And Then Select Upgrade
Framework:
@@ -144,9 +144,6 @@
Framework Is Already Up To Date
-
- Upload A Framework Package (Oqtane.Framework.version.nupkg) And Then Select Upgrade
-
You Cannot Perform A System Update In A Development Environment
@@ -157,6 +154,6 @@
Backup Files?
- Specify if you want to backup files during the upgrade process. Disabling this option will result in a better experience in some environments.
+ Specify if you want to backup files during the upgrade process. Disabling this option will reduce the time required for the upgrade.
\ No newline at end of file
diff --git a/Oqtane.Client/Resources/Modules/Admin/UrlMappings/Add.resx b/Oqtane.Client/Resources/Modules/Admin/UrlMappings/Add.resx
index e1185498..a8de1c59 100644
--- a/Oqtane.Client/Resources/Modules/Admin/UrlMappings/Add.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/UrlMappings/Add.resx
@@ -1,4 +1,4 @@
-
+