Synchroniser l'appartenance aux groupes avec une liste externe d'adresses e-mail

Si vous ne gérez pas ces utilisateurs dans une application externe, vous pourriez faire quelque chose comme ceci :

  def load_csv(path)
    CSV.parse(File.read(path), headers: true)
  end

  def update_group
   g = Group.find(43) # l'ID du groupe que vous souhaitez
   GroupUser.where(group_id: g.id).destroy_all
   user_emails = load_csv('/chemin/vers/le/fichier')
    user_emails.each do |u|
      user = User.find_by_email(u['Email'])
      next unless user
      puts "utilisateur trouvé #{uid}"
      GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
    end
  end

La manière exacte de procéder est un tout autre sujet. Peut-être un plugin.

Peut-être un plugin qui ajoute automatiquement un utilisateur au groupe s’il publie dans la catégorie ?