Profil: accessible to all roles

This commit is contained in:
simon lehericey 2019-07-02 18:15:03 +02:00 committed by Pierre de La Morinerie
parent 0091f65deb
commit d68d2be798
7 changed files with 53 additions and 37 deletions

View file

@ -1,5 +1,5 @@
module NewAdministrateur
class ProfilController < AdministrateurController
module Users
class ProfilController < UserController
def show
end

View file

@ -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

View file

@ -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

View file

@ -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 : <b>#{@token}</b>
%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 }

View file

@ -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 : <b>#{@token}</b>
%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 }

View file

@ -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
#

View file

@ -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 }