added 'monavis' inside the procedure and for users
This commit is contained in:
parent
7946aa5de2
commit
d8b63cd4c9
9 changed files with 104 additions and 4 deletions
|
@ -2,7 +2,7 @@ class Admin::ProceduresController < AdminController
|
||||||
include SmartListing::Helper::ControllerExtensions
|
include SmartListing::Helper::ControllerExtensions
|
||||||
helper SmartListing::Helper
|
helper SmartListing::Helper
|
||||||
|
|
||||||
before_action :retrieve_procedure, only: [:show, :edit, :delete_logo, :delete_deliberation, :delete_notice]
|
before_action :retrieve_procedure, only: [:show, :edit, :delete_logo, :delete_deliberation, :delete_notice, :monavis, :update_monavis]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
if current_administrateur.procedures.count != 0
|
if current_administrateur.procedures.count != 0
|
||||||
|
@ -198,6 +198,18 @@ class Admin::ProceduresController < AdminController
|
||||||
render layout: 'application'
|
render layout: 'application'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def monavis
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_monavis
|
||||||
|
if !@procedure.update(procedure_params)
|
||||||
|
flash.now.alert = @procedure.errors.full_messages
|
||||||
|
else
|
||||||
|
flash.notice = 'le champ MonAvis a bien été mis à jour'
|
||||||
|
end
|
||||||
|
render 'monavis'
|
||||||
|
end
|
||||||
|
|
||||||
def active_class
|
def active_class
|
||||||
@active_class = 'active'
|
@active_class = 'active'
|
||||||
end
|
end
|
||||||
|
@ -265,7 +277,7 @@ class Admin::ProceduresController < AdminController
|
||||||
end
|
end
|
||||||
|
|
||||||
def procedure_params
|
def procedure_params
|
||||||
editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :deliberation, :notice, :web_hook_url, :euro_flag, :logo, :auto_archive_on]
|
editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :deliberation, :notice, :web_hook_url, :euro_flag, :logo, :auto_archive_on, :monavis]
|
||||||
if @procedure&.locked?
|
if @procedure&.locked?
|
||||||
params.require(:procedure).permit(*editable_params)
|
params.require(:procedure).permit(*editable_params)
|
||||||
else
|
else
|
||||||
|
|
14
app/views/admin/procedures/_monavis.html.haml
Normal file
14
app/views/admin/procedures/_monavis.html.haml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
.form-group
|
||||||
|
%h3 Insérer un lien vers « Mon avis »
|
||||||
|
%p
|
||||||
|
Proposez aux usagers de donner un avis sur votre démarche. Pour ce faire, vous devez précédemment aller sur «
|
||||||
|
%a{ :href => "https://monavis.numerique.gouv.fr" } https://monavis.numerique.gouv.fr
|
||||||
|
», créer un compte, et référencer là démarche que vous venez de publier.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Dès que vous avez effectué le référencement de celle-ci, vous pouvez suivre le guide d’intégration du bouton que vous trouverez à
|
||||||
|
%a{ :href => "https://monavis.numerique.gouv.fr/Aide/Int%C3%A9gration%20du%20bouton%20MonAvis" } l’adresse suivante.
|
||||||
|
|
||||||
|
%p Une fois en possession du code généré sur le site MonAvis, vous pouvez le coller dans le champ ci-dessous :
|
||||||
|
|
||||||
|
= f.text_area :monavis, rows: '6', placeholder: 'Insérer le code généré par MonAvis', class: 'form-control'
|
6
app/views/admin/procedures/monavis.html.haml
Normal file
6
app/views/admin/procedures/monavis.html.haml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
.row.white-back
|
||||||
|
#procedure_new.section.section-label
|
||||||
|
= form_for @procedure, url: url_for({ controller: 'admin/procedures', action: :update_monavis, id: @procedure.id }), multipart: true do |f|
|
||||||
|
= render partial: 'monavis', locals: { f: f }
|
||||||
|
.text-right
|
||||||
|
= f.button 'Enregistrer', class: 'btn btn-success'
|
|
@ -64,6 +64,10 @@
|
||||||
.procedure-list-element{ class: ('active' if active == 'Attestation') }
|
.procedure-list-element{ class: ('active' if active == 'Attestation') }
|
||||||
Attestation
|
Attestation
|
||||||
|
|
||||||
|
%a#onglet-description{ href: url_for(admin_procedure_monavis_path(@procedure)) }
|
||||||
|
.procedure-list-element{ class: ('active' if active == 'Mon avis') }
|
||||||
|
Mon avis
|
||||||
|
|
||||||
.split-hr-left
|
.split-hr-left
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,3 +23,4 @@
|
||||||
.flex.column.align-center
|
.flex.column.align-center
|
||||||
= link_to 'Accéder à votre dossier', dossier_path(@dossier), class: 'button large primary'
|
= link_to 'Accéder à votre dossier', dossier_path(@dossier), class: 'button large primary'
|
||||||
= link_to 'Déposer un autre dossier', procedure_lien(@dossier.procedure)
|
= link_to 'Déposer un autre dossier', procedure_lien(@dossier.procedure)
|
||||||
|
!= @dossier.procedure.monavis
|
||||||
|
|
|
@ -206,6 +206,8 @@ Rails.application.routes.draw do
|
||||||
put 'publish' => 'procedures#publish', as: :publish
|
put 'publish' => 'procedures#publish', as: :publish
|
||||||
post 'transfer' => 'procedures#transfer', as: :transfer
|
post 'transfer' => 'procedures#transfer', as: :transfer
|
||||||
put 'clone' => 'procedures#clone', as: :clone
|
put 'clone' => 'procedures#clone', as: :clone
|
||||||
|
get 'monavis' => 'procedures#monavis', as: :monavis
|
||||||
|
patch 'monavis' => 'procedures#update_monavis', as: :update_monavis
|
||||||
|
|
||||||
resource :instructeurs, only: [:show, :update]
|
resource :instructeurs, only: [:show, :update]
|
||||||
|
|
||||||
|
|
5
db/migrate/20190716141633_add_monavis_to_procedures.rb
Normal file
5
db/migrate/20190716141633_add_monavis_to_procedures.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class AddMonavisToProcedures < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :procedures, :monavis, :text
|
||||||
|
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: 2019_07_11_135457) do
|
ActiveRecord::Schema.define(version: 2019_07_16_141633) 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"
|
||||||
|
@ -500,6 +500,7 @@ ActiveRecord::Schema.define(version: 2019_07_11_135457) do
|
||||||
t.boolean "durees_conservation_required", default: true
|
t.boolean "durees_conservation_required", default: true
|
||||||
t.string "path"
|
t.string "path"
|
||||||
t.string "declarative_with_state"
|
t.string "declarative_with_state"
|
||||||
|
t.text "monavis"
|
||||||
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"
|
||||||
|
|
|
@ -14,6 +14,7 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
let(:cadre_juridique) { 'cadre juridique' }
|
let(:cadre_juridique) { 'cadre juridique' }
|
||||||
let(:duree_conservation_dossiers_dans_ds) { 3 }
|
let(:duree_conservation_dossiers_dans_ds) { 3 }
|
||||||
let(:duree_conservation_dossiers_hors_ds) { 6 }
|
let(:duree_conservation_dossiers_hors_ds) { 6 }
|
||||||
|
let(:monavis) { nil }
|
||||||
|
|
||||||
let(:procedure_params) {
|
let(:procedure_params) {
|
||||||
{
|
{
|
||||||
|
@ -24,7 +25,8 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
direction: direction,
|
direction: direction,
|
||||||
cadre_juridique: cadre_juridique,
|
cadre_juridique: cadre_juridique,
|
||||||
duree_conservation_dossiers_dans_ds: duree_conservation_dossiers_dans_ds,
|
duree_conservation_dossiers_dans_ds: duree_conservation_dossiers_dans_ds,
|
||||||
duree_conservation_dossiers_hors_ds: duree_conservation_dossiers_hors_ds
|
duree_conservation_dossiers_hors_ds: duree_conservation_dossiers_hors_ds,
|
||||||
|
monavis: monavis
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -745,4 +747,57 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'PATCH #monavis' do
|
||||||
|
let!(:procedure) { create(:procedure, :with_type_de_champ, :with_two_type_de_piece_justificative, administrateur: admin) }
|
||||||
|
let(:procedure_params) {
|
||||||
|
{
|
||||||
|
monavis: monavis
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
context 'when administrateur is not connected' do
|
||||||
|
before do
|
||||||
|
sign_out admin
|
||||||
|
end
|
||||||
|
|
||||||
|
subject { patch :update_monavis, params: { procedure_id: procedure.id } }
|
||||||
|
|
||||||
|
it { is_expected.to redirect_to new_user_session_path }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when administrateur is connected' do
|
||||||
|
def update_monavis
|
||||||
|
patch :update_monavis, params: { procedure_id: procedure.id, procedure: procedure_params }
|
||||||
|
procedure.reload
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when all attributes are present' do
|
||||||
|
render_views
|
||||||
|
let(:monavis) { 'code html for monavis' }
|
||||||
|
|
||||||
|
before { update_monavis }
|
||||||
|
|
||||||
|
describe 'the monavis field is updated' do
|
||||||
|
subject { procedure }
|
||||||
|
|
||||||
|
it { expect(subject.monavis).to eq(monavis) }
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(flash[:notice]).to be_present }
|
||||||
|
it { expect(response.body).to include "MonAvis" }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure is published' do
|
||||||
|
let(:procedure) { create(:procedure, :with_type_de_champ, :with_two_type_de_piece_justificative, :published, administrateur: admin) }
|
||||||
|
let(:monavis) { 'code html for monavis' }
|
||||||
|
|
||||||
|
subject { update_monavis }
|
||||||
|
|
||||||
|
describe 'the monavis field is updated' do
|
||||||
|
it { expect(subject.monavis).to eq procedure_params[:monavis] }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue