From 765760f3a5c0b6cb5012c81ef75d3204fe6bd547 Mon Sep 17 00:00:00 2001 From: Leigh Date: Wed, 15 Dec 2021 08:26:00 +0100 Subject: [PATCH] Fix for #1877 #1878 Module data not being deleted Fixed the permissions validation and added functionality to remove all the settings for the deleted module. --- Oqtane.Server/Controllers/ModuleController.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Oqtane.Server/Controllers/ModuleController.cs b/Oqtane.Server/Controllers/ModuleController.cs index 4de5bb0a..e6365a47 100644 --- a/Oqtane.Server/Controllers/ModuleController.cs +++ b/Oqtane.Server/Controllers/ModuleController.cs @@ -171,9 +171,15 @@ namespace Oqtane.Controllers public void Delete(int id) { var module = _modules.GetModule(id); - if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, EntityNames.Page, module.ModuleId, PermissionNames.Edit)) + 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); }