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.
This commit is contained in:
Leigh
2021-12-15 08:26:00 +01:00
parent ab1ac7c995
commit 765760f3a5

View File

@ -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);
}