store specific api-entreprise token for a procedure
This commit is contained in:
parent
920cf6bb3f
commit
14ff18ca80
7 changed files with 68 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
||||||
module NewAdministrateur
|
module NewAdministrateur
|
||||||
class ProceduresController < AdministrateurController
|
class ProceduresController < AdministrateurController
|
||||||
before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis]
|
before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis, :jeton, :update_jeton]
|
||||||
before_action :procedure_locked?, only: [:champs, :annotations]
|
before_action :procedure_locked?, only: [:champs, :annotations]
|
||||||
|
|
||||||
def apercu
|
def apercu
|
||||||
|
@ -57,6 +57,18 @@ module NewAdministrateur
|
||||||
render 'monavis'
|
render 'monavis'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def jeton
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_jeton
|
||||||
|
if !@procedure.update(procedure_params)
|
||||||
|
flash.now.alert = @procedure.errors.full_messages
|
||||||
|
else
|
||||||
|
flash.notice = 'Le jeton a bien été mis à jour'
|
||||||
|
end
|
||||||
|
render 'jeton'
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def apercu_tab
|
def apercu_tab
|
||||||
|
@ -68,7 +80,7 @@ module NewAdministrateur
|
||||||
end
|
end
|
||||||
|
|
||||||
def procedure_params
|
def procedure_params
|
||||||
editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :deliberation, :notice, :web_hook_url, :declarative_with_state, :euro_flag, :logo, :auto_archive_on, :monavis_embed]
|
editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :deliberation, :notice, :web_hook_url, :declarative_with_state, :euro_flag, :logo, :auto_archive_on, :monavis_embed, :api_entreprise_token]
|
||||||
permited_params = if @procedure&.locked?
|
permited_params = if @procedure&.locked?
|
||||||
params.require(:procedure).permit(*editable_params)
|
params.require(:procedure).permit(*editable_params)
|
||||||
else
|
else
|
||||||
|
|
|
@ -68,6 +68,10 @@
|
||||||
.procedure-list-element{ class: ('active' if active == 'MonAvis') }
|
.procedure-list-element{ class: ('active' if active == 'MonAvis') }
|
||||||
MonAvis
|
MonAvis
|
||||||
|
|
||||||
|
%a#onglet-description{ href: url_for(admin_procedure_jeton_path(@procedure)) }
|
||||||
|
.procedure-list-element
|
||||||
|
Jeton
|
||||||
|
|
||||||
%a#onglet-description{ href: url_for(admin_procedures_path()) }
|
%a#onglet-description{ href: url_for(admin_procedures_path()) }
|
||||||
.procedure-list-element
|
.procedure-list-element
|
||||||
Sortir
|
Sortir
|
||||||
|
|
24
app/views/new_administrateur/procedures/jeton.html.haml
Normal file
24
app/views/new_administrateur/procedures/jeton.html.haml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
= render partial: 'new_administrateur/breadcrumbs',
|
||||||
|
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||||
|
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||||
|
'Jeton'] }
|
||||||
|
|
||||||
|
.container
|
||||||
|
%h1.page-title
|
||||||
|
Configurer le jeton API Entreprise
|
||||||
|
|
||||||
|
.container
|
||||||
|
%h1
|
||||||
|
= form_with model: @procedure, url: url_for({ controller: 'new_administrateur/procedures', action: :update_jeton }), html: { class: 'form' } do |f|
|
||||||
|
%p.explication
|
||||||
|
Démarches Simplifiées utilise
|
||||||
|
= link_to 'API Entreprise', "https://entreprise.api.gouv.fr/"
|
||||||
|
qui permet de récupérer les informations administratives des entreprises et des associations.
|
||||||
|
Si votre démarche nécessite des autorisations spécifiques que Démarches Simplifiées n'a pas par défaut, merci de renseigner ici le jeton
|
||||||
|
= link_to 'API Entreprise', "https://entreprise.api.gouv.fr/demander_un_acces/"
|
||||||
|
propre à votre démarche.
|
||||||
|
|
||||||
|
= f.label :api_entreprise_token, "Jeton"
|
||||||
|
= f.password_field :api_entreprise_token, class: 'form-control'
|
||||||
|
.text-right
|
||||||
|
= f.button 'Enregistrer', class: 'button primary send'
|
|
@ -166,6 +166,8 @@ Rails.application.routes.draw do
|
||||||
post 'admin/procedures' => 'new_administrateur/procedures#create'
|
post 'admin/procedures' => 'new_administrateur/procedures#create'
|
||||||
get 'admin/procedures/:id/monavis' => 'new_administrateur/procedures#monavis', as: :admin_procedure_monavis
|
get 'admin/procedures/:id/monavis' => 'new_administrateur/procedures#monavis', as: :admin_procedure_monavis
|
||||||
patch 'admin/procedures/:id/monavis' => 'new_administrateur/procedures#update_monavis', as: :update_monavis
|
patch 'admin/procedures/:id/monavis' => 'new_administrateur/procedures#update_monavis', as: :update_monavis
|
||||||
|
get 'admin/procedures/:id/jeton' => 'new_administrateur/procedures#jeton', as: :admin_procedure_jeton
|
||||||
|
patch 'admin/procedures/:id/jeton' => 'new_administrateur/procedures#update_jeton', as: :update_jeton
|
||||||
|
|
||||||
namespace :admin do
|
namespace :admin do
|
||||||
get 'activate' => '/administrateurs/activate#new'
|
get 'activate' => '/administrateurs/activate#new'
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddAPIEntrepriseTokenToProcedures < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :procedures, :api_entreprise_token, :string
|
||||||
|
end
|
||||||
|
end
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 2020_04_22_090426) do
|
ActiveRecord::Schema.define(version: 2020_04_23_171759) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
@ -515,6 +515,7 @@ ActiveRecord::Schema.define(version: 2020_04_22_090426) do
|
||||||
t.datetime "closed_at"
|
t.datetime "closed_at"
|
||||||
t.datetime "unpublished_at"
|
t.datetime "unpublished_at"
|
||||||
t.bigint "canonical_procedure_id"
|
t.bigint "canonical_procedure_id"
|
||||||
|
t.string "api_entreprise_token"
|
||||||
t.index ["declarative_with_state"], name: "index_procedures_on_declarative_with_state"
|
t.index ["declarative_with_state"], name: "index_procedures_on_declarative_with_state"
|
||||||
t.index ["hidden_at"], name: "index_procedures_on_hidden_at"
|
t.index ["hidden_at"], name: "index_procedures_on_hidden_at"
|
||||||
t.index ["parent_procedure_id"], name: "index_procedures_on_parent_procedure_id"
|
t.index ["parent_procedure_id"], name: "index_procedures_on_parent_procedure_id"
|
||||||
|
|
|
@ -301,4 +301,21 @@ describe NewAdministrateur::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'GET #jeton' do
|
||||||
|
let(:procedure) { create(:procedure, administrateur: admin) }
|
||||||
|
|
||||||
|
subject { get :jeton, params: { id: procedure.id } }
|
||||||
|
|
||||||
|
it { is_expected.to have_http_status(:success) }
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'PATCH #jeton' do
|
||||||
|
let(:procedure) { create(:procedure, administrateur: admin) }
|
||||||
|
|
||||||
|
it "update api_entreprise_token" do
|
||||||
|
patch :update_jeton, params: { id: procedure.id, procedure: { api_entreprise_token: 'ceci-est-un-jeton' } }
|
||||||
|
expect(procedure.reload.api_entreprise_token).to eq('ceci-est-un-jeton')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue