Интересно, возможно ли разрешить редактирование текста в группах не только администраторам? Хотя бы модераторам?
Мы хотим использовать другой тон и собственные формулировки в нашем сообществе, чтобы добиться понимания со стороны наших пользователей.
Интересно, возможно ли разрешить редактирование текста в группах не только администраторам? Хотя бы модераторам?
Мы хотим использовать другой тон и собственные формулировки в нашем сообществе, чтобы добиться понимания со стороны наших пользователей.
Вы можете предоставить группам право редактировать посты, созданные другими, изменив настройку сайта «Редактировать все посты групп» — это то, что вы искали?
Привет, спасибо за ваш ответ. Я хочу включить возможность редактирования текста в Discourse (также известную как локализация, языковые строки) ![]()
Я понимаю, что в настоящее время эта функция доступна только администраторам, но мне кажется, что она больше подходит для модераторов и редакторов.
Спасибо за уточнение, сейчас это невозможно
Хорошо, я делюсь ответом Discourse Helper для тех, кто заинтересован и обладает необходимыми знаниями для этого ![]()
Я считаю, что это необходимо для улучшения UI/UX (модернизации наших форумов), таких как редактор сообщений, ИИ и последние улучшения, которые мы наблюдали.
Используемый английский язык очень нейтральный и простой, и это имеет смысл, но в моем случае переводы на испанский по умолчанию не очень хороши.
Редактирование строк в интерфейсе Discourse допустимо, но отнимает много времени, и я просто хочу делегировать эту задачу.
Я понимаю, что невозможно загрузить все строки как JSON-файл, но отредактированные тексты?
Загрузка всех текстов на всех языках и редактирование файла должно быть обходным путем, чтобы получить желаемый результат за 1/5 времени.
Создание каркаса плагина
Используйте:
rake plugin:create[custom-site-texts-group]
Бэкенд: Расширение прав доступа
Переопределите соответствующий контроллер, например Admin::SiteTextController, чтобы разрешить членам вашей пользовательской группы(групп) доступ к конечным точкам редактирования текстов.
Вы можете использовать что-то подобное:
add_to_class(:admin_constraint, :matches?) do |request|
user = ... # загрузить текущего пользователя из запроса
return true if user.admin?
# Проверка членства в вашей группе
group_id = Group.find_by(name: 'yourgroupname')&.id
return user.group_ids.include?(group_id)
end
Это лишь иллюстрация — вам необходимо найти правильную проверку прав доступа и убедиться, что она ограничена только редактированием локализации, а не полным доступом администратора.
Фронтенд: Предоставление UI членам группы
Используйте PluginAPI для внедрения UI для членов вашей группы там, где у администраторов есть «Настройка текстов сайта».
Скройте этот UI для других пользователей.
Безопасность