Merge pull request #1881 from sbwalker/dev
add logging for the logout event to the UI component, relocate module setting deletion to repository
This commit is contained in:
commit
ee18bbd145
@ -2,6 +2,7 @@ using System;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.JSInterop;
|
||||
using Oqtane.Enums;
|
||||
using Oqtane.Providers;
|
||||
using Oqtane.Security;
|
||||
using Oqtane.Services;
|
||||
@ -17,6 +18,7 @@ namespace Oqtane.Themes.Controls
|
||||
[Inject] public IJSRuntime jsRuntime { get; set; }
|
||||
[Inject] public IServiceProvider ServiceProvider { get; set; }
|
||||
[Inject] public SiteState SiteState { get; set; }
|
||||
[Inject] public ILogService LoggingService { get; set; }
|
||||
|
||||
protected void LoginUser()
|
||||
{
|
||||
@ -31,6 +33,8 @@ namespace Oqtane.Themes.Controls
|
||||
protected async Task LogoutUser()
|
||||
{
|
||||
await UserService.LogoutUserAsync(PageState.User);
|
||||
await LoggingService.Log(PageState.Alias, PageState.Page.PageId, PageState.ModuleId, PageState.User.UserId, GetType().AssemblyQualifiedName, "Logout", LogFunction.Security, LogLevel.Information, null, "User Logout For Username {Username}", PageState.User.Username);
|
||||
|
||||
PageState.User = null;
|
||||
bool authorizedtoviewpage = UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, PageState.Page.Permissions);
|
||||
|
||||
|
@ -174,12 +174,6 @@ namespace Oqtane.Controllers
|
||||
if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, EntityNames.Module, module.ModuleId, PermissionNames.Edit))
|
||||
{
|
||||
_modules.DeleteModule(id);
|
||||
|
||||
_settings.GetSettings(EntityNames.Module, id)?.ToList().ForEach(ms =>
|
||||
{
|
||||
_settings.DeleteSetting(EntityNames.Module, ms.SettingId);
|
||||
});
|
||||
|
||||
_syncManager.AddSyncEvent(_alias.TenantId, EntityNames.Site, _alias.SiteId);
|
||||
_logger.Log(LogLevel.Information, this, LogFunction.Delete, "Module Deleted {ModuleId}", id);
|
||||
}
|
||||
|
@ -11,5 +11,6 @@ namespace Oqtane.Repository
|
||||
Setting UpdateSetting(Setting setting);
|
||||
Setting GetSetting(string entityName, int settingId);
|
||||
void DeleteSetting(string entityName, int settingId);
|
||||
void DeleteSettings(string entityName, int entityId);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Modules;
|
||||
using Oqtane.Shared;
|
||||
using Module = Oqtane.Models.Module;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,13 +15,15 @@ namespace Oqtane.Repository
|
||||
{
|
||||
private TenantDBContext _db;
|
||||
private readonly IPermissionRepository _permissions;
|
||||
private readonly ISettingRepository _settings;
|
||||
private readonly IModuleDefinitionRepository _moduleDefinitions;
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
public ModuleRepository(TenantDBContext context, IPermissionRepository permissions, IModuleDefinitionRepository moduleDefinitions, IServiceProvider serviceProvider)
|
||||
public ModuleRepository(TenantDBContext context, IPermissionRepository permissions, ISettingRepository settings, IModuleDefinitionRepository moduleDefinitions, IServiceProvider serviceProvider)
|
||||
{
|
||||
_db = context;
|
||||
_permissions = permissions;
|
||||
_settings = settings;
|
||||
_moduleDefinitions = moduleDefinitions;
|
||||
_serviceProvider = serviceProvider;
|
||||
}
|
||||
@ -34,7 +37,7 @@ namespace Oqtane.Repository
|
||||
{
|
||||
_db.Module.Add(module);
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(module.SiteId, "Module", module.ModuleId, module.Permissions);
|
||||
_permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.Permissions);
|
||||
return module;
|
||||
}
|
||||
|
||||
@ -42,7 +45,7 @@ namespace Oqtane.Repository
|
||||
{
|
||||
_db.Entry(module).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(module.SiteId, "Module", module.ModuleId, module.Permissions);
|
||||
_permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.Permissions);
|
||||
return module;
|
||||
}
|
||||
|
||||
@ -64,7 +67,7 @@ namespace Oqtane.Repository
|
||||
}
|
||||
if (module != null)
|
||||
{
|
||||
module.Permissions = _permissions.GetPermissionString("Module", module.ModuleId);
|
||||
module.Permissions = _permissions.GetPermissionString(EntityNames.Module, module.ModuleId);
|
||||
}
|
||||
return module;
|
||||
}
|
||||
@ -72,7 +75,8 @@ namespace Oqtane.Repository
|
||||
public void DeleteModule(int moduleId)
|
||||
{
|
||||
Module module = _db.Module.Find(moduleId);
|
||||
_permissions.DeletePermissions(module.SiteId, "Module", moduleId);
|
||||
_permissions.DeletePermissions(module.SiteId, EntityNames.Module, moduleId);
|
||||
_settings.DeleteSettings(EntityNames.Module, moduleId);
|
||||
_db.Module.Remove(module);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
@ -93,6 +93,32 @@ namespace Oqtane.Repository
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteSettings(string entityName, int entityId)
|
||||
{
|
||||
if (IsMaster(entityName))
|
||||
{
|
||||
IEnumerable<Setting> settings = _master.Setting
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId);
|
||||
foreach (Setting setting in settings)
|
||||
{
|
||||
_master.Setting.Remove(setting);
|
||||
}
|
||||
_master.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
IEnumerable<Setting> settings = _tenant.Setting
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId);
|
||||
foreach (Setting setting in settings)
|
||||
{
|
||||
_tenant.Setting.Remove(setting);
|
||||
}
|
||||
_tenant.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsMaster(string EntityName)
|
||||
{
|
||||
return (EntityName == EntityNames.ModuleDefinition || EntityName == EntityNames.Host);
|
||||
|
Loading…
x
Reference in New Issue
Block a user