Les clés i18n s'affichent sur la page d'édition des Webhooks

Bonne remarque !

Vous ne devriez pas voir le webhook d’un plugin qui n’est pas installé sur votre Discourse.

C’est une régression à partir d’ici :

Spécifiquement ici.
Les symboles fournis dans TYPES ne correspondent pas aux valeurs de la liste :

À l'équipe, voici une solution possible :
def self.types_with_prefix(prefix)
  TYPES.select { |key, _value| key.to_s.start_with?(prefix.to_s) }.values
end

def self.active
  ids_to_exclude = []
  unless defined?(SiteSetting.solved_enabled) && SiteSetting.solved_enabled
    ids_to_exclude.concat(types_with_prefix(:solved))
  end
  unless defined?(SiteSetting.assign_enabled) && SiteSetting.assign_enabled
    ids_to_exclude.concat(types_with_prefix(:assign))
  end
  unless defined?(SiteSetting.voting_enabled) && SiteSetting.voting_enabled
    ids_to_exclude.concat(types_with_prefix(:voting_topic))
  end
  unless defined?(SiteSetting.chat_enabled) && SiteSetting.chat_enabled
    ids_to_exclude.concat(types_with_prefix(:chat_message))
  end
  self.where.not(id: ids_to_exclude.flatten)
end
6 « J'aime »