Fix #5836: update the setting by check existing first.
This commit is contained in:
@@ -265,7 +265,19 @@ namespace Oqtane.Controllers
|
|||||||
_syncManager.AddSyncEvent(_alias, EntityNames.Site, page.SiteId, SyncEventActions.Refresh);
|
_syncManager.AddSyncEvent(_alias, EntityNames.Site, page.SiteId, SyncEventActions.Refresh);
|
||||||
|
|
||||||
// set user personalized page path
|
// 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);
|
_syncManager.AddSyncEvent(_alias, EntityNames.User, user.UserId, SyncEventActions.Update);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user