Supprimer un utilisateur

Quelle est la meilleure manière pour supprimer définitivement un utilisateur et comment y parvenir ?

Bonjour Matthieu,

Fab manager ne permet pas à un administrateur de supprimer un compte de manière unilatérale depuis le site. Un utilisateur peut supprimer son compte mais cette fonctionnalité n’est accessible que par lui, depuis son tableau de bord. J’imagine en revanche que cette suppression peut s’effectuer directement en base. Poke @Sylvain

Hello Sylvain,

Un grand merci pour la réponse rapide.

Pour la suppression en BDD, je suis désolé pour la question bête, mais pourriez-vous m’indiquer la marche à suivre svp ? Je suis « débutant » en SysAdmin, et la modification de BDD sous docker ne m’est pas familière, pourriez-vous m’aider ?

Merci infiniment d’avance et très belle journée

Matthieu

Salut Matthieu,

La méthode la plus simple pour supprimer un utilisateur en base de données, est d’utiliser la console ruby on rails :

  1. Dans un terminal, se placer dans le dossier « courant » de l’application fab-manager (ex. cd fab-manager)
  2. Lancer un shell bash dans l’environnement docker : docker exec -it fabmanager bash
  3. Lancer la console rails avec RAILS_ENV=production bundle exec rails console (remplaces production par development si tu es en environnement de dev)
  4. Trouver l’utilisateur à supprimer avec User.find(:id), en remplaçant :id par l’ID de l’utilisateur. Pour trouver l’ID, en tant qu’admin : aller dans la liste des membres, cliquer sur le bouton Editer en face de l’utilisateur en question. l’ID est le n° dans l’URL.
  5. Une fois qu’on est certain d’avoir le bon utilisateur, lancer la commande User.find(:id).destroy

:warning: Attention, il n’y a pas de garantie vis à vis des éventuels effets de bords qu’une telle suppression pourrait entrainer … ce n’est donc pas vraiment recommandé en environnement de production.

Bonne journée,

Sylvain

MERCI Beaucoup pour la réponse !

@Sylvain : aurais-tu un éclairage à me donner sur ce problème ? :

root@e8e5c77164da:/usr/src/app# RAILS_ENV=development bundle exec rails console
/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError)
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/commands.rb:33:in `<module:Spring>'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/commands.rb:4:in `<top (required)>'
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/application.rb:77:in `preload'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/application.rb:143:in `serve'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/application.rb:131:in `block in run'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/application.rb:125:in `loop'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/application.rb:125:in `run'
        from /usr/local/bundle/gems/spring-1.3.5/lib/spring/application/boot.rb:18:in `<top (required)>'
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from -e:1:in `<main>'

On dirait que bundler n’est pas installé …
Essaye de lancer les commandes suivantes :

gem install bundler
bundle install