leonardo
(Leonardo Mosquera)
11. Oktober 2022 um 18:12
5
Es gibt nur ein Benutzerfeld in dieser Ausgabe mit der ID 1. Sie sollten daher das Feld User Custom Field Name auf user_field_1 setzen, anstatt auf 1, wie Sie es derzeit tun.
Dan Kennedy:
Nach der Installation des Automatisierungs-Plugins sehe ich, dass es einen Auslöser für die Beförderung zwischen Vertrauensstufen gibt. Gibt es eine Möglichkeit, eine Aktion basierend auf einer Herabstufung auszulösen, insbesondere von TL3 auf TL2?
Nach heutigem Stand befürchte ich, dass der Auslöser explizit auf Herabstufungen prüft und nicht ausgelöst wird – er funktioniert nur für Beförderungen:
cooked
end
def handle_user_promoted(user_id, new_trust_level, old_trust_level)
trigger = DiscourseAutomation::Triggerable::USER_PROMOTED
user = User.find_by(id: user_id)
return if user.blank?
# don't want to do anything if the user is demoted. this should probably
# be a separate event in core
return if new_trust_level < old_trust_level
DiscourseAutomation::Automation.where(trigger: trigger, enabled: true).find_each do |automation|
trust_level_code_all = DiscourseAutomation::Triggerable::USER_PROMOTED_TRUST_LEVEL_CHOICES.first[:id]
restricted_group_id = automation.trigger_field('restricted_group')['value']
trust_level_transition = automation.trigger_field('trust_level_transition')['value']
trust_level_transition = trust_level_transition || trust_level_code_all
next if restricted_group_id.present? && !GroupUser.exists?(user_id: user_id, group_id: restricted_group_id)