83 lines
3.2 KiB
Plaintext
83 lines
3.2 KiB
Plaintext
@namespace Oqtane.Modules.Admin.ModuleDefinitions
|
|
@inherits ModuleBase
|
|
@inject IModuleDefinitionService ModuleDefinitionService
|
|
@inject NavigationManager NavigationManager
|
|
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td>
|
|
<label class="control-label">Name: </label>
|
|
</td>
|
|
<td>
|
|
<input class="form-control" @bind="@_name" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" align="center">
|
|
<label class="control-label">Permissions: </label>
|
|
<PermissionGrid EntityName="@EntityNames.ModuleDefinition" PermissionNames=PermissionNames.Utilize Permissions="@_permissions" @ref="_permissionGrid" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<button type="button" class="btn btn-success" @onclick="SaveModuleDefinition">Save</button>
|
|
<NavLink class="btn btn-secondary" href="@NavigateUrl()">Cancel</NavLink>
|
|
<br />
|
|
<br />
|
|
<AuditInfo CreatedBy="@_createdby" CreatedOn="@_createdon" ModifiedBy="@_modifiedby" ModifiedOn="@_modifiedon"></AuditInfo>
|
|
|
|
@code {
|
|
private int _moduleDefinitionId;
|
|
private string _name;
|
|
private string _permissions;
|
|
private string _createdby;
|
|
private DateTime _createdon;
|
|
private string _modifiedby;
|
|
private DateTime _modifiedon;
|
|
|
|
#pragma warning disable 649
|
|
private PermissionGrid _permissionGrid;
|
|
#pragma warning restore 649
|
|
|
|
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
try
|
|
{
|
|
_moduleDefinitionId = Int32.Parse(PageState.QueryString["id"]);
|
|
var moduleDefinition = await ModuleDefinitionService.GetModuleDefinitionAsync(_moduleDefinitionId, ModuleState.SiteId);
|
|
if (moduleDefinition != null)
|
|
{
|
|
_name = moduleDefinition.Name;
|
|
_permissions = moduleDefinition.Permissions;
|
|
_createdby = moduleDefinition.CreatedBy;
|
|
_createdon = moduleDefinition.CreatedOn;
|
|
_modifiedby = moduleDefinition.ModifiedBy;
|
|
_modifiedon = moduleDefinition.ModifiedOn;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
await logger.LogError(ex, "Error Loading ModuleDefinition {ModuleDefinitionId} {Error}", _moduleDefinitionId, ex.Message);
|
|
AddModuleMessage("Error Loading Module", MessageType.Error);
|
|
}
|
|
}
|
|
|
|
private async Task SaveModuleDefinition()
|
|
{
|
|
try
|
|
{
|
|
var moduledefinition = await ModuleDefinitionService.GetModuleDefinitionAsync(_moduleDefinitionId, ModuleState.SiteId);
|
|
moduledefinition.Permissions = _permissionGrid.GetPermissions();
|
|
await ModuleDefinitionService.UpdateModuleDefinitionAsync(moduledefinition);
|
|
await logger.LogInformation("ModuleDefinition Saved {ModuleDefinition}", moduledefinition);
|
|
NavigationManager.NavigateTo(NavigateUrl());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
await logger.LogError(ex, "Error Saving ModuleDefinition {ModuleDefinitionId} {Error}", _moduleDefinitionId, ex.Message);
|
|
AddModuleMessage("Error Saving Module", MessageType.Error);
|
|
}
|
|
}
|
|
}
|