refactor #4198 - copy existing module
This commit is contained in:
parent
a2fb728d3b
commit
2e7c3167f5
@ -154,7 +154,7 @@
|
|||||||
<value>Not Authorized</value>
|
<value>Not Authorized</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Message.Require.ModuleSelect" xml:space="preserve">
|
<data name="Message.Require.ModuleSelect" xml:space="preserve">
|
||||||
<value>You Must Select A Module.</value>
|
<value>You Must Select A Module</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Module.Manage" xml:space="preserve">
|
<data name="Module.Manage" xml:space="preserve">
|
||||||
<value>Module Management:</value>
|
<value>Module Management:</value>
|
||||||
@ -162,15 +162,6 @@
|
|||||||
<data name="Module.Select" xml:space="preserve">
|
<data name="Module.Select" xml:space="preserve">
|
||||||
<value>Select Module</value>
|
<value>Select Module</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CopyMode.Select" xml:space="preserve">
|
|
||||||
<value>Select Copy Mode</value>
|
|
||||||
</data>
|
|
||||||
<data name="CopyMode.Sync" xml:space="preserve">
|
|
||||||
<value>Sync</value>
|
|
||||||
</data>
|
|
||||||
<data name="CopyMode.Copy" xml:space="preserve">
|
|
||||||
<value>Copy</value>
|
|
||||||
</data>
|
|
||||||
<data name="Page.Manage" xml:space="preserve">
|
<data name="Page.Manage" xml:space="preserve">
|
||||||
<value>Page Management:</value>
|
<value>Page Management:</value>
|
||||||
</data>
|
</data>
|
||||||
@ -207,13 +198,7 @@
|
|||||||
<data name="LocationTop" xml:space="preserve">
|
<data name="LocationTop" xml:space="preserve">
|
||||||
<value>Top</value>
|
<value>Top</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Message.Require.ModuleAndCopyModeSelect" xml:space="preserve">
|
|
||||||
<value>You Must Select A Module And The Copy Mode.</value>
|
|
||||||
</data>
|
|
||||||
<data name="Message.Module.NotPortable" xml:space="preserve">
|
|
||||||
<value>The Module's Content Will Not Be Synchronized.</value>
|
|
||||||
</data>
|
|
||||||
<data name="Module.CopyExisting" xml:space="preserve">
|
<data name="Module.CopyExisting" xml:space="preserve">
|
||||||
<value>Copy Existing Module</value>
|
<value>Copy Existing Module</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
@ -94,12 +94,12 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-center">
|
<div class="col text-center">
|
||||||
<label for="Module" class="control-label">@Localizer["Module.Manage"]</label>
|
<label for="Module" class="control-label">@Localizer["Module.Manage"]</label>
|
||||||
<select class="form-select" @bind="@_moduleType">
|
<select class="form-select" @onchange="(e => ModuleTypeChanged(e))">
|
||||||
<option value="new">@Localizer["Module.AddNew"]</option>
|
<option value="new">@Localizer["Module.AddNew"]</option>
|
||||||
@if (PageState.Page.UserId == null)
|
@if (PageState.Page.UserId == null)
|
||||||
{
|
{
|
||||||
<option value="existing.add">@Localizer["Module.AddExisting"]</option>
|
<option value="add">@Localizer["Module.AddExisting"]</option>
|
||||||
<option value="existing.copy">@Localizer["Module.CopyExisting"]</option>
|
<option value="copy">@Localizer["Module.CopyExisting"]</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
@if (_moduleType == "new")
|
@if (_moduleType == "new")
|
||||||
@ -143,21 +143,20 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<select class="form-select mt-1" @onchange="(e => PageChanged(e))">
|
<select class="form-select mt-1" value="@_pageId" @onchange="(e => PageChanged(e))">
|
||||||
<option value="-"><@Localizer["Page.Select"]></option>
|
<option value="-"><@Localizer["Page.Select"]></option>
|
||||||
@foreach (Page p in _pages)
|
@foreach (Page p in _pages)
|
||||||
{
|
{
|
||||||
<option value="@p.PageId">@p.Name</option>
|
<option value="@p.PageId">@p.Name</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
<select class="form-select mt-1" @bind="@_moduleId" @bind:after="() => ModuleIdChanged()">
|
<select class="form-select mt-1" @bind="@_moduleId">
|
||||||
<option value="-"><@Localizer["Module.Select"]></option>
|
<option value="-"><@Localizer["Module.Select"]></option>
|
||||||
@foreach (Module module in _modules)
|
@foreach (Module module in _modules)
|
||||||
{
|
{
|
||||||
<option value="@module.ModuleId">@module.Title</option>
|
<option value="@module.ModuleId">@module.Title</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
@((MarkupString)_copyModuleMessage)
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -270,7 +269,6 @@
|
|||||||
protected int _location { get; private set; } = int.MaxValue;
|
protected int _location { get; private set; } = int.MaxValue;
|
||||||
protected string _visibility { get; private set; } = "view";
|
protected string _visibility { get; private set; } = "view";
|
||||||
protected string _message { get; private set; } = "";
|
protected string _message { get; private set; } = "";
|
||||||
protected string _copyModuleMessage { get; private set; } = "";
|
|
||||||
|
|
||||||
private string settingCategory = "CP-category";
|
private string settingCategory = "CP-category";
|
||||||
private string settingPane = "CP-pane";
|
private string settingPane = "CP-pane";
|
||||||
@ -341,6 +339,13 @@
|
|||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ModuleTypeChanged(ChangeEventArgs e)
|
||||||
|
{
|
||||||
|
_moduleType = (string)e.Value;
|
||||||
|
_pageId = "-";
|
||||||
|
_moduleId = "-";
|
||||||
|
}
|
||||||
|
|
||||||
private void PageChanged(ChangeEventArgs e)
|
private void PageChanged(ChangeEventArgs e)
|
||||||
{
|
{
|
||||||
_pageId = (string)e.Value;
|
_pageId = (string)e.Value;
|
||||||
@ -348,26 +353,14 @@
|
|||||||
{
|
{
|
||||||
_modules = PageState.Modules
|
_modules = PageState.Modules
|
||||||
.Where(module => module.PageId == int.Parse(_pageId) &&
|
.Where(module => module.PageId == int.Parse(_pageId) &&
|
||||||
UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList))
|
UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList) &&
|
||||||
|
(_moduleType == "add" || module.ModuleDefinition.IsPortable))
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
_moduleId = "-";
|
_moduleId = "-";
|
||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ModuleIdChanged()
|
|
||||||
{
|
|
||||||
_copyModuleMessage = string.Empty;
|
|
||||||
if(_moduleId != "-")
|
|
||||||
{
|
|
||||||
var module = _modules.FirstOrDefault(item => item.ModuleId == int.Parse(_moduleId));
|
|
||||||
if (module != null && !module.ModuleDefinition.IsPortable)
|
|
||||||
{
|
|
||||||
_copyModuleMessage = $"<div class=\"alert alert-warning mt-2 text-center\" role=\"alert\">{Localizer["Message.Module.NotPortable"]}</div>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task AddModule()
|
private async Task AddModule()
|
||||||
{
|
{
|
||||||
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
|
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
|
||||||
@ -387,7 +380,7 @@
|
|||||||
module = await ModuleService.AddModuleAsync(module);
|
module = await ModuleService.AddModuleAsync(module);
|
||||||
newModuleId = module.ModuleId;
|
newModuleId = module.ModuleId;
|
||||||
}
|
}
|
||||||
else if (_moduleType == "exsiting.copy")
|
else if (_moduleType == "copy")
|
||||||
{
|
{
|
||||||
var module = await ModuleService.GetModuleAsync(int.Parse(_moduleId));
|
var module = await ModuleService.GetModuleAsync(int.Parse(_moduleId));
|
||||||
module.ModuleId = 0;
|
module.ModuleId = 0;
|
||||||
|
@ -7,6 +7,7 @@ using Oqtane.Repository;
|
|||||||
using Oqtane.Shared;
|
using Oqtane.Shared;
|
||||||
using Oqtane.Migrations.Framework;
|
using Oqtane.Migrations.Framework;
|
||||||
using Oqtane.Documentation;
|
using Oqtane.Documentation;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
// ReSharper disable ConvertToUsingDeclaration
|
// ReSharper disable ConvertToUsingDeclaration
|
||||||
|
|
||||||
@ -29,10 +30,11 @@ namespace Oqtane.Modules.HtmlText.Manager
|
|||||||
public string ExportModule(Module module)
|
public string ExportModule(Module module)
|
||||||
{
|
{
|
||||||
string content = "";
|
string content = "";
|
||||||
var htmlText = _htmlText.GetHtmlText(module.ModuleId);
|
var htmltexts = _htmlText.GetHtmlTexts(module.ModuleId);
|
||||||
if (htmlText != null)
|
if (htmltexts != null && htmltexts.Any())
|
||||||
{
|
{
|
||||||
content = WebUtility.HtmlEncode(htmlText.Content);
|
var htmltext = htmltexts.OrderByDescending(item => item.CreatedOn).First();
|
||||||
|
content = WebUtility.HtmlEncode(htmltext.Content);
|
||||||
}
|
}
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user