From d68d2be798275a96c41b29306abdf30258d23b78 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Tue, 2 Jul 2019 18:15:03 +0200 Subject: [PATCH] Profil: accessible to all roles --- .../profil_controller.rb | 4 +-- app/helpers/tableau_de_bord_helper.rb | 11 ++++++++ app/views/layouts/_account_dropdown.haml | 4 +++ .../new_administrateur/profil/show.html.haml | 25 ------------------ app/views/users/profil/show.html.haml | 26 +++++++++++++++++++ config/routes.rb | 10 +++---- .../profil_controller_spec.rb | 10 +++---- 7 files changed, 53 insertions(+), 37 deletions(-) rename app/controllers/{new_administrateur => users}/profil_controller.rb (71%) create mode 100644 app/helpers/tableau_de_bord_helper.rb delete mode 100644 app/views/new_administrateur/profil/show.html.haml create mode 100644 app/views/users/profil/show.html.haml rename spec/controllers/{new_administrateur => users}/profil_controller_spec.rb (74%) diff --git a/app/controllers/new_administrateur/profil_controller.rb b/app/controllers/users/profil_controller.rb similarity index 71% rename from app/controllers/new_administrateur/profil_controller.rb rename to app/controllers/users/profil_controller.rb index 2414ad3e7..c3b587188 100644 --- a/app/controllers/new_administrateur/profil_controller.rb +++ b/app/controllers/users/profil_controller.rb @@ -1,5 +1,5 @@ -module NewAdministrateur - class ProfilController < AdministrateurController +module Users + class ProfilController < UserController def show end diff --git a/app/helpers/tableau_de_bord_helper.rb b/app/helpers/tableau_de_bord_helper.rb new file mode 100644 index 000000000..6487ecbdc --- /dev/null +++ b/app/helpers/tableau_de_bord_helper.rb @@ -0,0 +1,11 @@ +module TableauDeBordHelper + def tableau_de_bord_helper_path + if current_administrateur.present? + admin_procedures_path + elsif current_gestionnaire.present? + gestionnaire_procedures_path + else + dossiers_path + end + end +end diff --git a/app/views/layouts/_account_dropdown.haml b/app/views/layouts/_account_dropdown.haml index 4044885c4..03bd65201 100644 --- a/app/views/layouts/_account_dropdown.haml +++ b/app/views/layouts/_account_dropdown.haml @@ -26,6 +26,10 @@ = link_to admin_procedures_path, class: "menu-item menu-link" do = image_tag "icons/switch-profile.svg" Passer en administrateur + %li + = link_to profil_path, class: "menu-item menu-link" do + = image_tag "icons/switch-profile.svg" + Voir mon profil %li = link_to destroy_user_session_path, method: :delete, class: "menu-item menu-link" do diff --git a/app/views/new_administrateur/profil/show.html.haml b/app/views/new_administrateur/profil/show.html.haml deleted file mode 100644 index f9775305a..000000000 --- a/app/views/new_administrateur/profil/show.html.haml +++ /dev/null @@ -1,25 +0,0 @@ -= render partial: 'new_administrateur/breadcrumbs', - locals: { steps: [link_to('Tableau de bord', admin_procedures_path), - 'Profil'] } - -#profil-page.container - %h1 Profil - - .card - .card-title Jeton d'identification de l'API (token) - %p Ce jeton est nécessaire pour effectuer des appels vers l'API de demarches-simplifiees.fr. - - - if defined?(@token) - %p Jeton : #{@token} - %p Pour des raisons de sécurité, ce jeton ne sera plus ré-affiché, notez-le bien. - - - else - %p Pour des raisons de sécurité, nous ne pouvons vous l'afficher que lors de sa génération. - %p Attention, si vous avez déjà des applications qui utilisent votre jeton, le regénérer bloquera leurs accès à l'API. - - = link_to "Regénérer et afficher mon jeton", - renew_api_token_path, - method: :post, - class: "button primary", - data: { confirm: "Confirmez-vous la regénération de votre jeton ? Les applications qui l'utilisent actuellement seront bloquées.", - disable: true } diff --git a/app/views/users/profil/show.html.haml b/app/views/users/profil/show.html.haml new file mode 100644 index 000000000..fad4f91db --- /dev/null +++ b/app/views/users/profil/show.html.haml @@ -0,0 +1,26 @@ += render partial: 'new_administrateur/breadcrumbs', + locals: { steps: [link_to('Tableau de bord', tableau_de_bord_helper_path), + 'Profil'] } + +#profil-page.container + %h1 Profil + + - if current_administrateur.present? + .card + .card-title Jeton d'identification de l'API (token) + %p Ce jeton est nécessaire pour effectuer des appels vers l'API de demarches-simplifiees.fr. + + - if defined?(@token) + %p Jeton : #{@token} + %p Pour des raisons de sécurité, ce jeton ne sera plus ré-affiché, notez-le bien. + + - else + %p Pour des raisons de sécurité, nous ne pouvons vous l'afficher que lors de sa génération. + %p Attention, si vous avez déjà des applications qui utilisent votre jeton, le regénérer bloquera leurs accès à l'API. + + = link_to "Regénérer et afficher mon jeton", + renew_api_token_path, + method: :post, + class: "button primary", + data: { confirm: "Confirmez-vous la regénération de votre jeton ? Les applications qui l'utilisent actuellement seront bloquées.", + disable: true } diff --git a/config/routes.rb b/config/routes.rb index 7b454fa57..50517aa0f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -291,6 +291,11 @@ Rails.application.routes.draw do end resource :feedback, only: [:create] get 'demarches' => 'demarches#index' + + get 'profil' => 'profil#show' + post 'renew-api-token' => 'profil#renew_api_token' + # allow refresh 'renew api token' page + get 'renew-api-token' => redirect('/profil') end # @@ -377,11 +382,6 @@ Rails.application.routes.draw do patch 'add_to_procedure' end end - - get 'profil' => 'profil#show' - post 'renew-api-token' => 'profil#renew_api_token' - # allow refresh 'renew api token' page - get 'renew-api-token' => redirect('/profil') end # diff --git a/spec/controllers/new_administrateur/profil_controller_spec.rb b/spec/controllers/users/profil_controller_spec.rb similarity index 74% rename from spec/controllers/new_administrateur/profil_controller_spec.rb rename to spec/controllers/users/profil_controller_spec.rb index 416d70b83..69974ed51 100644 --- a/spec/controllers/new_administrateur/profil_controller_spec.rb +++ b/spec/controllers/users/profil_controller_spec.rb @@ -1,11 +1,11 @@ require 'spec_helper' -describe NewAdministrateur::ProfilController, type: :controller do - let(:administrateur) { create(:administrateur) } - - before { sign_in(administrateur) } - +describe Users::ProfilController, type: :controller do describe 'POST #renew_api_token' do + let(:administrateur) { create(:administrateur) } + + before { sign_in(administrateur) } + before do allow(administrateur).to receive(:renew_api_token) allow(controller).to receive(:current_administrateur) { administrateur }