Триггер уровня доверия вызывается до изменения уровня доверия

Я работаю над плагином для добавления уровня доверия, который добавляет или удаляет пользователя из группы в зависимости от его членства в других группах (например, членство в paid и special также добавляет его в группу paid-special).

Очень странно, что повышение уровня доверия (TL) вызывает событие :after_save, а понижение уровня доверия не вызывает событие :after_destroy, но я обхожу это с помощью DiscourseEvent.on(:user_promoted).

Однако это не работает, потому что триггер вызывается до обновления уровня доверия:

Я отправил PR: https://github.com/pfaffman/discourse/pull/205

1 лайк