leonardo
(Leonardo Mosquera)
Octobre 11, 2022, 6:12
5
Il n’y a qu’un seul champ utilisateur présent dans cette sortie, avec l’ID 1, vous devez donc définir le champ User Custom Field Name sur user_field_1 au lieu de 1 comme vous l’avez actuellement.
Dan Kennedy:
Ayant installé le plugin d’automatisation, je vois qu’il existe un déclencheur pour être promu entre les niveaux de confiance. Existe-t-il un moyen de déclencher une action basée sur une rétrogradation, spécifiquement de TL3 à TL2 ?
À ce jour, je crains que le déclencheur ne vérifie explicitement les rétrogradations et évite de se déclencher - il ne fonctionne que pour les promotions :
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)