mirror of
https://github.com/discourse/discourse.git
synced 2025-02-07 20:08:26 +00:00
FIX: Flair icon being removed when updating other profile info
The commit: 75069ff17917f9b8969ae0e8e0e271cdf1e38c78 allows users to remove their primary group, but this introduced a bug where if you were to edit any other profile info like location or website which is a form on a separate page then the flair dropdown, would cause the selected flair to be removed. This fix ensures that if the `primary_group_id` parameter is missing from the update payload it does not remove the existing `primary_group_id`. It will only remove the `primary_group_id` if it is present in the payload and empty.
This commit is contained in:
parent
a2bd0c6ef9
commit
bd49d4af1a
@ -90,6 +90,7 @@ class UserUpdater
|
|||||||
|
|
||||||
user.primary_group_id = attributes[:primary_group_id]
|
user.primary_group_id = attributes[:primary_group_id]
|
||||||
elsif SiteSetting.user_selected_primary_groups &&
|
elsif SiteSetting.user_selected_primary_groups &&
|
||||||
|
attributes[:primary_group_id] &&
|
||||||
attributes[:primary_group_id].blank?
|
attributes[:primary_group_id].blank?
|
||||||
|
|
||||||
user.primary_group_id = nil
|
user.primary_group_id = nil
|
||||||
|
@ -273,6 +273,16 @@ describe UserUpdater do
|
|||||||
expect(user.primary_group_id).to eq nil
|
expect(user.primary_group_id).to eq nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'does not update when changing other profile data' do
|
||||||
|
SiteSetting.user_selected_primary_groups = true
|
||||||
|
user.groups << new_group
|
||||||
|
user.update(primary_group_id: new_group.id)
|
||||||
|
UserUpdater.new(acting_user, user).update(website: 'http://example.com')
|
||||||
|
|
||||||
|
user.reload
|
||||||
|
expect(user.primary_group_id).to eq new_group.id
|
||||||
|
end
|
||||||
|
|
||||||
it 'can be removed by the user when setting is enabled' do
|
it 'can be removed by the user when setting is enabled' do
|
||||||
SiteSetting.user_selected_primary_groups = true
|
SiteSetting.user_selected_primary_groups = true
|
||||||
user.groups << new_group
|
user.groups << new_group
|
||||||
|
Loading…
x
Reference in New Issue
Block a user