无法通过设置主组来分配头像装饰

I would like to give all users in a group an avatar flair.

I used to be able to set the flair in the group settings, check the “Automatically set as primary group” option, and everyone in the group would automatically get the flair added to their avatar.

Now, however, it seems that a user’s flair is not associated with their primary group. I can verify that a user’s primary group is correctly set, but their avatar still does not display the flair.

While poking around, I noticed a new setting on the user preferences page that allows users to select their own flair.


I’m guessing that the addition of this preference setting broke the association between a user’s primary group and their avatar flair.

Question: Is there any way now to bulk assign the flair for every user in a group? I don’t want to message the group and instruct them all on how to set this in their preferences, and I don’t want to go through one by one and update each user’s preferences for them.

3 个赞

This forces group members to have the group avatar:

rails c
 target_group = Group.find_by_name("=GroupSlug=")
 users = User.joins(:group_users).where(group_users:{group_id: target_group.id})
 users.each do |u|
  u.flair_group_id = target_group.id
  u.save
 end
Exit
4 个赞

https://github.com/discourse/discourse/pull/14762

I added a fix for this issue in the above PR.

2 个赞

我刚才又试了一下。

我注意到更改主群组设置似乎没有更新用户的标识到群组标识。上面的修复是否仍然有效?

从好的方面来看,我改进了上面那个小小的 Rails 控制台代码片段,这样你只需要群组的 slug(并且确认它仍然有效!)。