Кнопки торговли

Можете проверить страницу настроек, чтобы убедиться, что категория не отключена для вашего пользователя?

1 лайк

Я собирался возразить, потому что именно пользователи форума (я администратор) начали жаловаться на отсутствие раздела «Объявления» (категории), что и привело меня к обнаружению проблемы. Но вы правы: для моей учётной записи оно действительно заглушено. Дело в том, что я никогда не заглушал его. Кроме того, раз пользователи жалуются, значит, оно должно быть заглушено и для них.

Как такое могло произойти?

Спасибо!

Ранее категория была настроена на скрытие со страницы «Последние»? Если да, то, вероятно, после удаления этой настройки в результате миграции категория была отключена для всех пользователей вашего сайта. В таком случае это можно исправить через консоль Rails.

2 лайка

В журналах ничего нет, нет. Найдя снова категорию (см. предыдущее сообщение), я попытался разместить объявление. Оно появилось, но кнопок нет.

Я всё ещё вижу упомянутые кнопки (и все они отмечены) в настройках категории, но они не отображаются в моих объявлениях.

Есть ли идеи, как это можно исправить?

Спасибо!

Нет, по крайней мере, насколько мне известно. Однако пользователи жалуются, поэтому, похоже, она отключена для всех. Как я могу исправить это через консоль Rails?

Спасибо!

Сначала сделайте резервную копию вашего сайта на случай, если что-то пойдет не так. Затем:

# Получите категорию и присвойте её переменной
c = Category.find_by(name: "<название вашей категории>")

# Включите уведомления для категории для всех пользователей
CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all

Редактирование:
Если вы хотите узнать, для скольких пользователей категория отключена, перед выполнением второй команды попробуйте выполнить:

CategoryUser.where(category_id: c.id, notification_level: 0).count

Это вернет количество пользователей, у которых отключены уведомления для этой категории.

3 лайка

кнопки видны автору темы, когда он/она открывает тему… не в списке тем. Или о каком списке вы говорите?

Ничего страшного! После того как я снял блокировку уведомлений для категории, кнопки снова появились. Или, возможно, это перезагрузка всё исправила. В любом случае, сейчас всё работает. Извините, что побеспокоил вас, спасибо за помощь!

Гуннар

1 лайк

Я попробую это сделать, как только появится возможность. Спасибо!

Благодарить нужно @simon. Он проделал основную работу :wink:

2 лайка

Саймон,

=> 43653

Ой. :wink:

Признаюсь, часть команды выше .destroy_all выглядит пугающе. Что она делает, просто снимает флаг мут?

Спасибо ещё раз!

Любые деструктивные действия, выполняемые в консоли, немного пугают. Обязательно сделайте резервную копию перед их выполнением.

Запись CategoryUser описывает уровень уведомлений пользователя для категории. Значение notification_level равное 0 означает, что категория отключена для этого пользователя. Подробнее можно узнать здесь: (Obsolete) Set category tracking level defaults historically.

Удаление всех записей CategoryUser с указанным category_id и значением notification_level равным 0 уберёт эту категорию из списка отключённых для всех пользователей вашего сайта.

Когда я выполняю подобную команду, я обычно добавляю дополнительный шаг, который не указал выше. Вместо того чтобы запускать

CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all

одним разом, я присваиваю записи переменной, чтобы дважды проверить, что работаю с правильными данными. Примерно так:

# Получаем категорию и присваиваем её переменной
c = Category.find_by(name: "<название вашей категории>")

# Присваиваем category_users переменной и проверяем данные. Убедитесь, что записи имеют
# правильный category_id и т.д.
muted_category_users = CategoryUser.where(category_id: c.id, notification_level: 0)

# Когда вы уверены, что данные верны, выполните
muted_category_users.destroy_all
3 лайка

Привет @Janno_Liivak, большое спасибо за плагин!

Пожалуйста, добавьте русский перевод. Я привожу его ниже в виде обычного текста.

server.ru.yml

ru:
  site_settings:
    topic_trade_buttons_enabled: "Включить кнопки управления продажей?"
  topic_trading:
    sold: Продано
    purchased: Куплено
    exchanged: Обменено
    cancelled: Снято с продажи

client.ru.yml

ru:
  js:
    topic_trading:
      enable_sold_button: Включить кнопку 'Продано' 
      enable_purchased_button: Включить кнопку 'Куплено'
      enable_exchanged_button: Включить кнопку 'Обменено'
      enable_cancelled_button: Включить кнопку 'Снято с продажи'
      sold: Продано
      purchased: Куплено
      exchanged: Обменено
      cancelled: Снято с продажи
      error_while_marked_as_sold: Возникла ошибка при пометке 'Продано'
      error_while_marked_as_purchased: Возникла ошибка при пометке 'Куплено'
      error_while_marked_as_exchanged: Возникла ошибка при пометке 'Обменено'
      error_while_marked_as_cancelled: Возникла ошибка при пометке 'Снято с продажи'
      mark_as_sold_confirm: Вы хотите пометить объявление как 'Продано'?
      mark_as_purchased_confirm: Вы хотите пометить объявление как 'Куплено'?
      mark_as_exchanged_confirm: Вы хотите пометить объявление как 'Обменено'?
      mark_as_cancelled_confirm: Вы хотите пометить объявление как 'Снято с продажи'?
3 лайка

Привет, спасибо @Dmitry_Krasnoperov! Я добавил русский перевод.

Для других пользователей плагина… обновлять плагин не нужно, если русский язык не входит в список разрешённых языков… так как ничего больше не изменилось.

2 лайка

Это было СУПЕРБЫСТРО!!! Выпускайте в продакшн прямо сейчас.

3 лайка

Привет, Янно,

Я сделал немецкий перевод для твоего плагина. Не мог бы ты добавить его в свой плагин?

Тебе нужно просто переименовать его в .yml, так как Discourse не позволяет загружать файлы с другим расширением.
client.de.txt (1.1 KB)
server.de.txt (218 Б)

4 лайка

Привет, @Lagger_Gandalf! Большое спасибо. Я добавил предоставленные вами немецкие переводы :slight_smile:

3 лайка

На моём форуме не работает ( грустно

Попробуйте перезапустить Discourse после включения плагина. Если это не поможет, предоставьте больше информации о вашей проблеме. Вы можете написать мне сообщение на русском… Я понимаю его более или менее :slight_smile:

1 лайк

Привет! Я включил всё, но после перезапуска Discourse ничего не изменилось =/

1 лайк