具有“所有者”可见性级别的群组对员工不可见

似乎可见性级别为 owner 的群组对工作人员不可见。

可见性级别 staff 确实提供了一种确保可见性的机制(使用 left join 代替 join 并添加额外的 where 子句),但可见性级别 owner 却没有。

(嗯,GitHub 源代码的单行预览似乎不再起作用了?)

  SELECT g.id FROM groups g
  LEFT JOIN group_users gu ON gu.group_id = g.id AND
                         gu.user_id = :user_id AND
                         gu.owner
  WHERE g.visibility_level = :staff AND (gu.id IS NOT NULL OR :is_staff)
  UNION ALL
  SELECT g.id FROM groups g
  JOIN group_users gu ON gu.group_id = g.id AND
                         gu.user_id = :user_id AND
                         gu.owner
  WHERE g.visibility_level = :owners

这是有意为之吗?

2 个赞

我们最近不是刚处理过这个吗 @eviltrout

1 个赞

这段代码已有两年历史,因此近期未作修改。

这似乎是有意为之,因为即使将群组限制为其成员的情况,也未对工作人员做出例外处理:

(顺便一提,GitHub 的链接预览功能正常,但 blame 链接未被正确处理。)

5 个赞

你好,

这里似乎出现了回退?自从使用 Discourse 以来,作为管理员,我一直可以访问所有群组。但在过去几周里,我无法查看许多群组。

这造成了困难,因为群组所有者会要求我通过管理界面进行批量邀请,以将新的成员群体邀请到他们的群组(以及相关的私有分类)中。

鉴于此,我强烈建议所有群组对管理员可见。

我还在这里报告了这个问题:Babble: Admins can't see a group set to `group owner` only visibility

这对我来说确实像是一个回归问题,因为在 2.4.beta2 之前,作为管理员我可以看到所有群组。

1 个赞

@RGJ 请参阅关于此主题的帖子:Babble: Admins can't see a group set to `group owner` only visibility - #13 by justin

这可能是与 Babble 或其他任何修改 Group 模型的插件有关。

2 个赞

是的,这说得通,我们看到这个问题的两个论坛都安装了 Babble 插件。找得很准!

2 个赞