Merge pull request #5837 from zyhfish/task/fix-5836

Fix #5836: update the setting by check existing first.
This commit is contained in:
Shaun Walker
2025-11-24 10:18:47 -05:00
committed by GitHub

View File

@ -265,7 +265,19 @@ namespace Oqtane.Controllers
_syncManager.AddSyncEvent(_alias, EntityNames.Site, page.SiteId, SyncEventActions.Refresh);
// set user personalized page path
_settings.AddSetting(new Setting { EntityName = EntityNames.User, EntityId = page.UserId.Value, SettingName = $"PersonalizedPagePath:{page.SiteId}:{parent.PageId}", SettingValue = path, IsPrivate = false });
var settingName = $"PersonalizedPagePath:{page.SiteId}:{parent.PageId}";
var pathSetting = _settings.GetSetting(EntityNames.User, page.UserId.Value, settingName);
if(pathSetting == null)
{
pathSetting = new Setting { EntityName = EntityNames.User, EntityId = page.UserId.Value, SettingName = settingName, SettingValue = path, IsPrivate = false };
_settings.AddSetting(pathSetting);
}
else
{
pathSetting.SettingValue = path;
_settings.UpdateSetting(pathSetting);
}
_syncManager.AddSyncEvent(_alias, EntityNames.User, user.UserId, SyncEventActions.Update);
}
}