RGJ
(Richard - Communiteq)
22.Апрель.2025 10:03:18
1
Когда в discourse_templates_groups_allowed_private_templates добавляется группа «Все», функциональность ломается для всех, кроме сотрудников.
Таким образом, «Все, trust_level_0» не работает, а «trust_level_0» работает.
Виновник:
def can_use_private_templates?
return false unless SiteSetting.discourse_templates_enable_private_templates
return false unless SiteSetting.tagging_enabled
return false if SiteSetting.discourse_templates_private_templates_tags.blank?
return true if guardian.is_staff?
allowed_groups_ids =
SiteSetting.discourse_templates_groups_allowed_private_templates&.split("|")&.map(&:to_i)
allowed_groups_ids.any? do |group_id|
return false if group_id == 0
# the user can use templates if belongs to at least one of the allowed groups
GroupUser.exists?(group_id: group_id, user_id: self.id)
end
end
:сcream: :сcream: return false if group_id == 0 :сcream: :сcream:
3 лайка
Moin
22.Апрель.2025 10:29:42
2
Похоже, проблема с «всеми» и Templates уже была сообщена по адресу "everyone" group unable to see private templates
1 лайк
RGJ
(Richard - Communiteq)
22.Апрель.2025 10:42:14
3
Да, я теперь вижу, спасибо.
Я неправильно понял этот баг: думал, что просто «все» не работает, но не осознавал, что это сломало работу и для всех остальных добавленных групп.
Сообщено 1,5 года назад
4 лайка
Спасибо за сообщение об этой ошибке. Она была исправлена в этом PR:
main ← private-everyone
merged 08:04AM - 23 Apr 25 UTC
When private template allowed group is everyone, `can_use_private_templates?` me… thod should return true.
3 лайка