leonardo
(Leonardo Mosquera)
11 Octubre, 2022 18:12
5
Solo hay un campo de usuario presente en esa salida, con ID 1, por lo que deberías establecer el campo Nombre del campo personalizado del usuario en user_field_1 en lugar de 1 como lo tienes actualmente.
Dan Kennedy:
Habiendo instalado el plugin de automatización, veo que hay un disparador para ser promovido entre niveles de confianza. ¿Hay alguna forma de disparar una acción basada en la degradación, específicamente de TL3 a TL2?
A día de hoy, me temo que el disparador comprueba explícitamente las degradaciones y evita activarse; solo funciona para las promociones:
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)