Merge pull request #1160 from sgmap/fix_1100

[Fix #1100] Administrateur can renew his API Token
This commit is contained in:
gregoirenovel 2017-12-26 21:36:43 +01:00 committed by GitHub
commit 0837c7bad9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 0 deletions

View file

@ -2,4 +2,10 @@ class Admin::ProfileController < AdminController
def show def show
@administrateur = current_administrateur @administrateur = current_administrateur
end end
def renew_api_token
flash[:notice] = "Votre token d'API a été regénéré."
current_administrateur.renew_api_token
redirect_to admin_profile_path
end
end end

View file

@ -4,3 +4,5 @@
%p %p
API TOKEN : API TOKEN :
= @administrateur.api_token = @administrateur.api_token
%p
= link_to "Regénérer mon token", admin_renew_api_token_path, method: :post, class: "btn btn-default", data: { confirm: "Confirmez-vous la regénération de votre token ? Les applications qui l'utilisent actuellement seront bloquées.", disable_with: "Regénération..." }

View file

@ -110,6 +110,7 @@ Rails.application.routes.draw do
get 'procedures/draft' => 'procedures#draft' get 'procedures/draft' => 'procedures#draft'
get 'procedures/path_list' => 'procedures#path_list' get 'procedures/path_list' => 'procedures#path_list'
get 'profile' => 'profile#show', as: :profile get 'profile' => 'profile#show', as: :profile
post 'renew_api_token' => 'profile#renew_api_token', as: :renew_api_token
get 'change_dossier_state' => 'change_dossier_state#index' get 'change_dossier_state' => 'change_dossier_state#index'
post 'change_dossier_state' => 'change_dossier_state#check' post 'change_dossier_state' => 'change_dossier_state#check'

View file

@ -2,4 +2,15 @@ require 'spec_helper'
describe Admin::ProfileController, type: :controller do describe Admin::ProfileController, type: :controller do
it { expect(described_class).to be < AdminController } it { expect(described_class).to be < AdminController }
let(:administrateur) { create(:administrateur) }
before { sign_in(administrateur) }
describe 'POST #renew_api_token' do
subject { post :renew_api_token }
it { expect{ subject }.to change{ administrateur.reload.api_token } }
it { subject; expect(response.status).to redirect_to(admin_profile_path) }
end
end end