Merge pull request #2485 from betagouv/instructeur
accompagnateur → instructeur
This commit is contained in:
commit
5339ee43f5
41 changed files with 151 additions and 151 deletions
|
@ -23,7 +23,7 @@ class Admin::GestionnairesController < AdminController
|
|||
end
|
||||
|
||||
if procedure_id.present?
|
||||
redirect_to admin_procedure_accompagnateurs_path(procedure_id: procedure_id)
|
||||
redirect_to admin_procedure_instructeurs_path(procedure_id: procedure_id)
|
||||
else
|
||||
redirect_to admin_gestionnaires_path
|
||||
end
|
||||
|
@ -54,7 +54,7 @@ class Admin::GestionnairesController < AdminController
|
|||
else
|
||||
User.create(email: email, password: password, confirmed_at: DateTime.now)
|
||||
end
|
||||
flash.notice = 'Accompagnateur ajouté'
|
||||
flash.notice = 'Instructeur ajouté'
|
||||
else
|
||||
flash.alert = @gestionnaire.errors.full_messages
|
||||
end
|
||||
|
@ -62,10 +62,10 @@ class Admin::GestionnairesController < AdminController
|
|||
|
||||
def assign_gestionnaire!
|
||||
if current_administrateur.gestionnaires.include? @gestionnaire
|
||||
flash.alert = 'Accompagnateur déjà ajouté'
|
||||
flash.alert = 'Instructeur déjà ajouté'
|
||||
else
|
||||
@gestionnaire.administrateurs.push current_administrateur
|
||||
flash.notice = 'Accompagnateur ajouté'
|
||||
flash.notice = 'Instructeur ajouté'
|
||||
# TODO Mailer no assign_to
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Admin::AccompagnateursController < AdminController
|
||||
class Admin::InstructeursController < AdminController
|
||||
include SmartListing::Helper::ControllerExtensions
|
||||
helper SmartListing::Helper
|
||||
|
||||
|
@ -10,42 +10,42 @@ class Admin::AccompagnateursController < AdminController
|
|||
def show
|
||||
assign_scope = @procedure.gestionnaires
|
||||
|
||||
@accompagnateurs_assign = smart_listing_create :accompagnateurs_assign,
|
||||
@instructeurs_assign = smart_listing_create :instructeurs_assign,
|
||||
assign_scope,
|
||||
partial: "admin/accompagnateurs/list_assign",
|
||||
partial: "admin/instructeurs/list_assign",
|
||||
array: true
|
||||
|
||||
not_assign_scope = current_administrateur.gestionnaires.where.not(id: assign_scope.ids)
|
||||
not_assign_scope = not_assign_scope.where("email LIKE ?", "%#{params[:filter]}%") if params[:filter]
|
||||
|
||||
@accompagnateurs_not_assign = smart_listing_create :accompagnateurs_not_assign,
|
||||
@instructeurs_not_assign = smart_listing_create :instructeurs_not_assign,
|
||||
not_assign_scope,
|
||||
partial: "admin/accompagnateurs/list_not_assign",
|
||||
partial: "admin/instructeurs/list_not_assign",
|
||||
array: true
|
||||
|
||||
@gestionnaire ||= Gestionnaire.new
|
||||
end
|
||||
|
||||
def update
|
||||
gestionnaire = Gestionnaire.find(params[:accompagnateur_id])
|
||||
gestionnaire = Gestionnaire.find(params[:instructeur_id])
|
||||
procedure = Procedure.find(params[:procedure_id])
|
||||
to = params[:to]
|
||||
|
||||
case to
|
||||
when ASSIGN
|
||||
if gestionnaire.assign_to_procedure(procedure)
|
||||
flash.notice = "L'accompagnateur a bien été affecté"
|
||||
flash.notice = "L'instructeur a bien été affecté"
|
||||
else
|
||||
flash.alert = "L'accompagnateur a déjà été affecté"
|
||||
flash.alert = "L'instructeur a déjà été affecté"
|
||||
end
|
||||
when NOT_ASSIGN
|
||||
if gestionnaire.remove_from_procedure(procedure)
|
||||
flash.notice = "L'accompagnateur a bien été désaffecté"
|
||||
flash.notice = "L'instructeur a bien été désaffecté"
|
||||
else
|
||||
flash.alert = "L'accompagnateur a déjà été désaffecté"
|
||||
flash.alert = "L'instructeur a déjà été désaffecté"
|
||||
end
|
||||
end
|
||||
|
||||
redirect_to admin_procedure_accompagnateurs_path, procedure_id: params[:procedure_id]
|
||||
redirect_to admin_procedure_instructeurs_path, procedure_id: params[:procedure_id]
|
||||
end
|
||||
end
|
|
@ -5,7 +5,7 @@ class Gestionnaires::ActivateController < ApplicationController
|
|||
@gestionnaire = Gestionnaire.with_reset_password_token(params[:token])
|
||||
|
||||
if !@gestionnaire
|
||||
flash.alert = "Le lien de validation du compte accompagnateur a expiré, #{view_context.contact_link('contactez-nous', tags: 'lien expiré')} pour obtenir un nouveau lien."
|
||||
flash.alert = "Le lien de validation du compte instructeur a expiré, #{view_context.contact_link('contactez-nous', tags: 'lien expiré')} pour obtenir un nouveau lien."
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
|
|
@ -31,13 +31,13 @@ module NewGestionnaire
|
|||
end
|
||||
|
||||
def personnes_impliquees
|
||||
@following_accompagnateurs_emails = dossier.followers_gestionnaires.pluck(:email)
|
||||
@following_instructeurs_emails = dossier.followers_gestionnaires.pluck(:email)
|
||||
@avis_emails = dossier.avis.includes(:gestionnaire).map(&:email_to_display)
|
||||
@invites_emails = dossier.invites.map(&:email)
|
||||
@potential_recipients = procedure.gestionnaires.reject { |g| g == current_gestionnaire }
|
||||
end
|
||||
|
||||
def envoyer_a_accompagnateur
|
||||
def envoyer_a_instructeur
|
||||
recipient = Gestionnaire.find(params[:recipient])
|
||||
GestionnaireMailer.send_dossier(current_gestionnaire, dossier, recipient).deliver_later
|
||||
flash.notice = "Dossier envoyé"
|
||||
|
|
|
@ -4,7 +4,7 @@ class GestionnaireMailer < ApplicationMailer
|
|||
def invite_gestionnaire(gestionnaire, reset_password_token)
|
||||
@reset_password_token = reset_password_token
|
||||
@gestionnaire = gestionnaire
|
||||
subject = "Activez votre compte accompagnateur"
|
||||
subject = "Activez votre compte instructeur"
|
||||
|
||||
mail(to: gestionnaire.email,
|
||||
subject: subject,
|
||||
|
@ -13,7 +13,7 @@ class GestionnaireMailer < ApplicationMailer
|
|||
|
||||
def user_to_gestionnaire(email)
|
||||
@email = email
|
||||
subject = "Vous avez été nommé accompagnateur"
|
||||
subject = "Vous avez été nommé instructeur"
|
||||
|
||||
mail(to: @email, subject: subject)
|
||||
end
|
||||
|
|
|
@ -10,7 +10,7 @@ class DossierSerializer < ActiveModel::Serializer
|
|||
:received_at,
|
||||
:processed_at,
|
||||
:motivation,
|
||||
:accompagnateurs,
|
||||
:instructeurs,
|
||||
:invites
|
||||
|
||||
has_one :individual
|
||||
|
@ -71,7 +71,7 @@ class DossierSerializer < ActiveModel::Serializer
|
|||
object.en_instruction_at
|
||||
end
|
||||
|
||||
def accompagnateurs
|
||||
def instructeurs
|
||||
object.followers_gestionnaires.pluck(:email)
|
||||
end
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class DossierTableExportSerializer < ActiveModel::Serializer
|
|||
:processed_at,
|
||||
:motivation
|
||||
|
||||
attribute :emails_accompagnateurs
|
||||
attribute :emails_instructeurs
|
||||
|
||||
attributes :individual_gender,
|
||||
:individual_prenom,
|
||||
|
@ -62,7 +62,7 @@ class DossierTableExportSerializer < ActiveModel::Serializer
|
|||
object.individual&.gender
|
||||
end
|
||||
|
||||
def emails_accompagnateurs
|
||||
def emails_instructeurs
|
||||
object.followers_gestionnaires.pluck(:email).join(' ')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
<%= smart_listing_update :accompagnateurs_not_assign %>
|
||||
|
||||
<%= smart_listing_update :accompagnateurs_assign %>
|
|
@ -19,4 +19,4 @@
|
|||
|
||||
- else
|
||||
%h4.center
|
||||
Aucun accompagnateur
|
||||
Aucun instructeur
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
%h1 Accompagnateurs disponibles
|
||||
%h1 instructeurs disponibles
|
||||
|
||||
%p
|
||||
Cette page vous permet de gérer la liste des accompagnateurs disponibles pour être affectés à une procédure.
|
||||
Cette page vous permet de gérer la liste des instructeurs disponibles pour être affectés à une procédure.
|
||||
|
||||
%p{ style: 'font-style: italic' }
|
||||
N.B. : cette page ne concerne que la liste des personnes disponibles. Si vous souhaitez affecter ou enlever un accompagnateur d'une procédure particulière,
|
||||
N.B. : cette page ne concerne que la liste des personnes disponibles. Si vous souhaitez affecter ou enlever un instructeur d'une procédure particulière,
|
||||
utilisez plutôt la
|
||||
= link_to "page de la procédure", admin_procedures_path
|
||||
concernée.
|
||||
|
@ -16,7 +16,7 @@
|
|||
.col-xs-1
|
||||
|
||||
.col-xs-6
|
||||
%h3 Ajouter un accompagnateur
|
||||
%h3 Ajouter un instructeur
|
||||
#procedure_new.section.section-label
|
||||
= form_for @gestionnaire, url: { controller: 'admin/gestionnaires', action: :create } do |f|
|
||||
.row
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
%th Enlever
|
||||
%th#email{ style: 'text-align: right;' } Email
|
||||
|
||||
- @accompagnateurs_assign.each do |accompagnateur|
|
||||
- @instructeurs_assign.each do |instructeur|
|
||||
%tr
|
||||
%td.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1.center
|
||||
= link_to "#{admin_procedure_accompagnateurs_path(procedure_id: @procedure.id, accompagnateur_id: accompagnateur.id, to: Admin::AccompagnateursController::NOT_ASSIGN)}", class: "btn btn-primary", 'data-method' => 'put' do
|
||||
= link_to "#{admin_procedure_instructeurs_path(procedure_id: @procedure.id, instructeur_id: instructeur.id, to: Admin::InstructeursController::NOT_ASSIGN)}", class: "btn btn-primary", 'data-method' => 'put' do
|
||||
.fa.fa-arrow-left
|
||||
%td{ style: 'padding-top: 11px; font-size: 15px; text-align: right;' }= accompagnateur.email
|
||||
%td{ style: 'padding-top: 11px; font-size: 15px; text-align: right;' }= instructeur.email
|
||||
|
||||
= smart_listing.paginate
|
||||
= smart_listing.pagination_per_page_links
|
|
@ -1,4 +1,4 @@
|
|||
= smart_listing_controls_for(:accompagnateurs_not_assign, { class: "form-inline text-right" }) do
|
||||
= smart_listing_controls_for(:instructeurs_not_assign, { class: "form-inline text-right" }) do
|
||||
.form-group.filter.input-append
|
||||
= text_field_tag :filter, '', class: "search form-control",
|
||||
placeholder: "Recherche...", autocomplete: :off
|
||||
|
@ -12,11 +12,11 @@
|
|||
%th#email Email
|
||||
%th Ajouter
|
||||
|
||||
- @accompagnateurs_not_assign.each do |accompagnateur|
|
||||
- @instructeurs_not_assign.each do |instructeur|
|
||||
%tr
|
||||
%td.col-xs-11{ style: 'padding-top: 11px; font-size: 15px;' }= accompagnateur.email
|
||||
%td.col-xs-11{ style: 'padding-top: 11px; font-size: 15px;' }= instructeur.email
|
||||
%td.center
|
||||
= link_to "#{admin_procedure_accompagnateurs_path(procedure_id: @procedure.id, accompagnateur_id: accompagnateur.id, to: Admin::AccompagnateursController::ASSIGN)}", class: "btn btn-success gestionnaire-affectation", 'data-method' => 'put' do
|
||||
= link_to "#{admin_procedure_instructeurs_path(procedure_id: @procedure.id, instructeur_id: instructeur.id, to: Admin::InstructeursController::ASSIGN)}", class: "btn btn-success gestionnaire-affectation", 'data-method' => 'put' do
|
||||
.fa.fa-arrow-right
|
||||
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
.row.white-back
|
||||
#accompagnateur_form
|
||||
#instructeur_form
|
||||
.row
|
||||
.col-xs-6
|
||||
%h3.text-info Disponibles
|
||||
= smart_listing_render :accompagnateurs_not_assign
|
||||
= smart_listing_render :instructeurs_not_assign
|
||||
|
||||
%br
|
||||
%h3
|
||||
= t('dynamics.admin.procedure.onglet_accompagnateurs.add.title')
|
||||
= t('dynamics.admin.procedure.onglet_instructeurs.add.title')
|
||||
#procedure_new.section.section-label
|
||||
= form_for @gestionnaire, url: { controller: 'admin/gestionnaires', action: :create } do |f|
|
||||
.row
|
||||
|
@ -20,4 +20,4 @@
|
|||
= f.submit 'Valider', class: 'btn btn-info', style: 'float: left;', id: 'add-gestionnaire-email'
|
||||
.col-xs-6
|
||||
%h3.text-success Affectés
|
||||
= smart_listing_render :accompagnateurs_assign
|
||||
= smart_listing_render :instructeurs_assign
|
3
app/views/admin/instructeurs/show.js.erb
Normal file
3
app/views/admin/instructeurs/show.js.erb
Normal file
|
@ -0,0 +1,3 @@
|
|||
<%= smart_listing_update :instructeurs_not_assign %>
|
||||
|
||||
<%= smart_listing_update :instructeurs_assign %>
|
|
@ -8,7 +8,7 @@
|
|||
- if @procedure.gestionnaires.empty? || @procedure.service.nil?
|
||||
- missing_elements = []
|
||||
- if @procedure.gestionnaires.empty?
|
||||
- missing_elements << 'des accompagnateurs'
|
||||
- missing_elements << 'des instructeurs'
|
||||
- if @procedure.service.nil?
|
||||
- missing_elements << 'un service'
|
||||
- message = "Affectez #{missing_elements.join(' et ')} à votre procédure."
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
- content_for(:title, 'Activation de votre compte accompagnateur')
|
||||
- content_for(:title, 'Activation de votre compte instructeur')
|
||||
|
||||
%p
|
||||
Bonjour,
|
||||
|
||||
%p
|
||||
Vous venez d'être nommé accompagnateur sur demarches-simplifiees.fr.
|
||||
Vous venez d'être nommé instructeur sur demarches-simplifiees.fr.
|
||||
|
||||
%p
|
||||
Votre compte a été créé pour l'adresse email #{@gestionnaire.email}. Pour l’activer, je vous invite à cliquer sur le lien suivant :
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Bienvenue sur demarches-simplifiees.fr,
|
||||
\
|
||||
Vous venez d'être nommé accompagnateur sur demarches-simplifiees.fr.
|
||||
Votre compte (#{@email}) vous donnera désormais aussi accès à l’espace accompagnateur.
|
||||
Vous venez d'être nommé instructeur sur demarches-simplifiees.fr.
|
||||
Votre compte (#{@email}) vous donnera désormais aussi accès à l’espace instructeur.
|
||||
\
|
||||
Bonne journée,
|
||||
\
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
%br
|
||||
= image_tag(image_url(LOGO_NAME))
|
||||
%br
|
||||
%h2#gestionnaire_login Accompagnateur
|
||||
%h2#gestionnaire_login Instructeur
|
||||
|
||||
%br
|
||||
%br
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
%li
|
||||
= link_to gestionnaire_procedures_path, class: "menu-item menu-link" do
|
||||
= image_tag "icons/switch-profile.svg"
|
||||
Passer en accompagnateur
|
||||
Passer en instructeur
|
||||
- if administrateur_signed_in? && nav_bar_profile != :administrateur
|
||||
%li
|
||||
= link_to admin_procedures_path, class: "menu-item menu-link" do
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
= link_to(gestionnaire_procedures_path) do
|
||||
%i.fa.fa-user
|
||||
|
||||
Accompagnateur
|
||||
instructeur
|
||||
|
||||
- if administrateur_signed_in?
|
||||
%li
|
||||
|
|
|
@ -1 +1 @@
|
|||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'Accompagnateurs' }
|
||||
= render partial: 'layouts/left_panels/left_panel_admin_procedurescontroller_navbar', locals: { active: 'Instructeurs' }
|
|
@ -18,9 +18,9 @@
|
|||
.procedure-list-element
|
||||
Services
|
||||
|
||||
%a#onglet-accompagnateurs{ href: url_for(admin_procedure_accompagnateurs_path(@procedure)) }
|
||||
.procedure-list-element{ class: ('active' if active == 'Accompagnateurs') }
|
||||
= t('dynamics.admin.procedure.onglets.accompagnateurs')
|
||||
%a#onglet-instructeurs{ href: url_for(admin_procedure_instructeurs_path(@procedure)) }
|
||||
.procedure-list-element{ class: ('active' if active == 'instructeurs') }
|
||||
= t('dynamics.admin.procedure.onglets.instructeurs')
|
||||
|
||||
%a#onglet-description{ href: url_for(edit_admin_procedure_path(@procedure)) }
|
||||
.procedure-list-element{ class: ('active' if active == 'Description') }
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
= link_to(admin_gestionnaires_path) do
|
||||
%i.fa.fa-user
|
||||
|
||||
= t('dynamics.admin.menu.accompagnateurs')
|
||||
= t('dynamics.admin.menu.instructeurs')
|
||||
%li.divider{ role: :separator }
|
||||
%li
|
||||
= link_to(admin_profile_path, id: :profile) do
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
.tab-title= "Envoyer ce dossier à un autre accompagnateur"
|
||||
.tab-title= "Envoyer ce dossier à un autre instructeur"
|
||||
|
||||
- if potential_recipients.empty?
|
||||
%p.tab-paragraph
|
||||
Vous êtes le seul accompagnateur assigné sur cette procédure
|
||||
Vous êtes le seul instructeur assigné sur cette procédure
|
||||
- else
|
||||
= form_for dossier, url: envoyer_a_accompagnateur_gestionnaire_dossier_path(dossier.procedure, dossier), method: :post, html: { class: 'form' } do |f|
|
||||
= form_for dossier, url: envoyer_a_instructeur_gestionnaire_dossier_path(dossier.procedure, dossier), method: :post, html: { class: 'form' } do |f|
|
||||
.flex.justify-start.align-baseline
|
||||
= select_tag(:recipient, options_from_collection_for_select(potential_recipients, :id, :email))
|
||||
= f.submit "Envoyer", class: "button large send gap-left"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
.personnes-impliquees.container
|
||||
= render partial: 'new_gestionnaire/dossiers/envoyer_dossier_block', locals: { dossier: @dossier, potential_recipients: @potential_recipients }
|
||||
|
||||
= render partial: 'new_gestionnaire/dossiers/personnes_impliquees_block', locals: { emails_collection: @following_accompagnateurs_emails, title: "Accompagnateurs qui suivent le dossier", blank: "Aucun accompagnateur ne suit ce dossier" }
|
||||
= render partial: 'new_gestionnaire/dossiers/personnes_impliquees_block', locals: { emails_collection: @following_instructeurs_emails, title: "Instructeurs qui suivent le dossier", blank: "Aucun instructeur ne suit ce dossier" }
|
||||
|
||||
= render partial: 'new_gestionnaire/dossiers/personnes_impliquees_block', locals: { emails_collection: @avis_emails, title: "Personnes à qui un avis a été demandé", blank: "Aucun avis n'a été demandé" }
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
%p.confidentiel.flex
|
||||
%span.icon.lock
|
||||
%span
|
||||
Cet avis est confidentiel et n'est pas affiché aux autres experts consultés mais est visible par tous les accompagnateurs
|
||||
Cet avis est confidentiel et n'est pas affiché aux autres experts consultés mais est visible par tous les instructeurs
|
||||
.send-wrapper
|
||||
= f.submit 'Demander un avis', class: 'button send'
|
||||
- else
|
||||
|
@ -18,6 +18,6 @@
|
|||
= f.label :confidentiel, 'Cet avis est'
|
||||
= f.select :confidentiel, [['partagé avec les autres experts', false], ['confidentiel', true]], {}, onchange: "javascript:DS.toggleCondidentielExplanation(event);"
|
||||
.confidentiel-explanation
|
||||
Il ne sera pas affiché aux autres experts consultés mais sera visible par les accompagnateurs
|
||||
Il ne sera pas affiché aux autres experts consultés mais sera visible par les instructeurs
|
||||
.send-wrapper
|
||||
= f.submit 'Demander un avis', class: 'button send'
|
||||
|
|
|
@ -19,11 +19,11 @@ fr:
|
|||
nouvelle_procedure: 'Nouvelle procédure'
|
||||
menu:
|
||||
title: Mes procédures
|
||||
accompagnateurs: Accompagnateurs
|
||||
instructeurs: Instructeurs
|
||||
procedures: Procédures
|
||||
procedure:
|
||||
onglets:
|
||||
accompagnateurs: Accompagnateurs
|
||||
onglet_accompagnateurs:
|
||||
instructeurs: Instructeurs
|
||||
onglet_instructeurs:
|
||||
add:
|
||||
title: 'Ajouter un accompagnateur'
|
||||
title: 'Ajouter un instructeur'
|
||||
|
|
|
@ -223,7 +223,7 @@ Rails.application.routes.draw do
|
|||
post 'transfer' => 'procedures#transfer', as: :transfer
|
||||
put 'clone' => 'procedures#clone', as: :clone
|
||||
|
||||
resource :accompagnateurs, only: [:show, :update]
|
||||
resource :instructeurs, only: [:show, :update]
|
||||
|
||||
resource :attestation_template, only: [:edit, :update, :create]
|
||||
|
||||
|
@ -234,8 +234,8 @@ Rails.application.routes.draw do
|
|||
patch 'attestation_template/preview' => 'attestation_templates#preview'
|
||||
end
|
||||
|
||||
namespace :accompagnateurs do
|
||||
get 'show' # delete after fixed tests admin/accompagnateurs/show_spec without this line
|
||||
namespace :instructeurs do
|
||||
get 'show' # delete after fixed tests admin/instructeurs/show_spec without this line
|
||||
end
|
||||
|
||||
resources :gestionnaires, only: [:index, :create, :destroy]
|
||||
|
@ -319,7 +319,7 @@ Rails.application.routes.draw do
|
|||
post 'passer-en-instruction' => 'dossiers#passer_en_instruction'
|
||||
post 'repasser-en-construction' => 'dossiers#repasser_en_construction'
|
||||
post 'terminer'
|
||||
post 'envoyer-a-accompagnateur' => 'dossiers#envoyer_a_accompagnateur'
|
||||
post 'envoyer-a-instructeur' => 'dossiers#envoyer_a_instructeur'
|
||||
scope :carte do
|
||||
get 'position'
|
||||
end
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
"received_at": null,
|
||||
"processed_at": null,
|
||||
"motivation": null,
|
||||
"accompagnateurs": [
|
||||
"instructeurs": [
|
||||
"gestionnaire@apientreprise.fr"
|
||||
],
|
||||
"invites": [
|
||||
|
|
|
@ -46,7 +46,7 @@ describe Admin::GestionnairesController, type: :controller do
|
|||
let(:procedure_id) { procedure.id }
|
||||
|
||||
it { expect(response.status).to eq(302) }
|
||||
it { expect(response).to redirect_to admin_procedure_accompagnateurs_path(procedure_id: procedure_id) }
|
||||
it { expect(response).to redirect_to admin_procedure_instructeurs_path(procedure_id: procedure_id) }
|
||||
end
|
||||
|
||||
describe 'Gestionnaire attributs in database' do
|
||||
|
@ -148,7 +148,7 @@ describe Admin::GestionnairesController, type: :controller do
|
|||
end
|
||||
|
||||
context 'Email notification' do
|
||||
it 'Notification email is sent when accompagnateur is create' do
|
||||
it 'Notification email is sent when instructeur is create' do
|
||||
expect_any_instance_of(Gestionnaire).to receive(:invite!)
|
||||
subject
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Admin::AccompagnateursController, type: :controller do
|
||||
describe Admin::InstructeursController, type: :controller do
|
||||
let(:admin) { create(:administrateur) }
|
||||
let(:procedure) { create :procedure, administrateur: admin }
|
||||
let(:gestionnaire) { create :gestionnaire, administrateurs: [admin] }
|
||||
|
@ -15,9 +15,9 @@ describe Admin::AccompagnateursController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'PUT #update' do
|
||||
subject { put :update, params: { accompagnateur_id: gestionnaire.id, procedure_id: procedure.id, to: 'assign' } }
|
||||
subject { put :update, params: { instructeur_id: gestionnaire.id, procedure_id: procedure.id, to: 'assign' } }
|
||||
|
||||
it { expect(subject).to redirect_to admin_procedure_accompagnateurs_path(procedure_id: procedure.id) }
|
||||
it { expect(subject).to redirect_to admin_procedure_instructeurs_path(procedure_id: procedure.id) }
|
||||
|
||||
context 'when assignement is valid' do
|
||||
before do
|
|
@ -137,7 +137,7 @@ describe API::V1::DossiersController do
|
|||
let!(:dossier) { Timecop.freeze(date_creation) { create(:dossier, :with_entreprise, procedure: procedure, motivation: "Motivation") } }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:body) { JSON.parse(retour.body, symbolize_names: true) }
|
||||
let(:field_list) { [:id, :created_at, :updated_at, :archived, :individual, :entreprise, :etablissement, :cerfa, :types_de_piece_justificative, :pieces_justificatives, :champs, :champs_private, :commentaires, :state, :simplified_state, :initiated_at, :processed_at, :received_at, :motivation, :email, :accompagnateurs, :invites] }
|
||||
let(:field_list) { [:id, :created_at, :updated_at, :archived, :individual, :entreprise, :etablissement, :cerfa, :types_de_piece_justificative, :pieces_justificatives, :champs, :champs_private, :commentaires, :state, :simplified_state, :initiated_at, :processed_at, :received_at, :motivation, :email, :instructeurs, :invites] }
|
||||
subject { body[:dossier] }
|
||||
|
||||
it 'return REST code 200', :show_in_doc do
|
||||
|
|
|
@ -31,7 +31,7 @@ describe NewGestionnaire::DossiersController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#envoyer_a_accompagnateur' do
|
||||
describe '#envoyer_a_instructeur' do
|
||||
let(:recipient) { create(:gestionnaire) }
|
||||
let(:gestionnaires) { [gestionnaire, recipient] }
|
||||
let(:mail) { double("mail") }
|
||||
|
@ -45,7 +45,7 @@ describe NewGestionnaire::DossiersController, type: :controller do
|
|||
.and_return(mail)
|
||||
|
||||
post(
|
||||
:envoyer_a_accompagnateur,
|
||||
:envoyer_a_instructeur,
|
||||
params: {
|
||||
recipient: recipient,
|
||||
procedure_id: procedure.id,
|
||||
|
|
|
@ -83,7 +83,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
|
|||
end
|
||||
end
|
||||
|
||||
scenario 'After adding champ and file, check impossibility to publish procedure, add accompagnateur and make publication' do
|
||||
scenario 'After adding champ and file, check impossibility to publish procedure, add instructeur and make publication' do
|
||||
fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libelle de champ'
|
||||
click_on 'add_type_de_champ'
|
||||
click_on 'onglet-pieces'
|
||||
|
@ -97,8 +97,8 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
|
|||
expect(page).to have_selector('#disabled-publish-procedure')
|
||||
expect(page.find_by_id('disabled-publish-procedure')[:disabled]).to eq('true')
|
||||
|
||||
click_on 'onglet-accompagnateurs'
|
||||
expect(page).to have_current_path(admin_procedure_accompagnateurs_path(Procedure.first))
|
||||
click_on 'onglet-instructeurs'
|
||||
expect(page).to have_current_path(admin_procedure_instructeurs_path(Procedure.first))
|
||||
fill_in 'gestionnaire_email', with: 'gestionnaire@apientreprise.fr'
|
||||
click_on 'add-gestionnaire-email'
|
||||
page.first('.gestionnaire-affectation').click
|
||||
|
|
|
@ -13,7 +13,7 @@ RSpec.describe AvisMailer, type: :mailer do
|
|||
|
||||
context 'when the recipient is not already registered' do
|
||||
before do
|
||||
avis.email = 'accompagnateur@email.com'
|
||||
avis.email = 'instructeur@email.com'
|
||||
avis.gestionnaire = nil
|
||||
end
|
||||
|
||||
|
|
|
@ -37,18 +37,18 @@ describe DossierTableExportSerializer do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#emails_accompagnateurs' do
|
||||
describe '#emails_instructeurs' do
|
||||
let(:gestionnaire){ create(:gestionnaire) }
|
||||
let(:gestionnaire2) { create :gestionnaire }
|
||||
let(:dossier) { create(:dossier) }
|
||||
|
||||
subject { DossierTableExportSerializer.new(dossier).emails_accompagnateurs }
|
||||
subject { DossierTableExportSerializer.new(dossier).emails_instructeurs }
|
||||
|
||||
context 'when there is no accompagnateurs' do
|
||||
context 'when there is no instructeurs' do
|
||||
it { is_expected.to eq('') }
|
||||
end
|
||||
|
||||
context 'when there one accompagnateur' do
|
||||
context 'when there one instructeur' do
|
||||
before { gestionnaire.followed_dossiers << dossier }
|
||||
|
||||
it { is_expected.to eq(gestionnaire.email) }
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'admin/accompagnateurs/show.html.haml', type: :view do
|
||||
let(:admin) { create(:administrateur) }
|
||||
let(:procedure) { create :procedure, administrateur: admin }
|
||||
|
||||
let(:assign_gestionnaires) { procedure.gestionnaires }
|
||||
let(:not_assign_gestionnaires) { admin.gestionnaires.where.not(id: assign_gestionnaires.ids) }
|
||||
|
||||
before do
|
||||
assign(:procedure, procedure)
|
||||
assign(:gestionnaire, Gestionnaire.new)
|
||||
|
||||
assign(:accompagnateurs_assign, (smart_listing_create :accompagnateurs_assign,
|
||||
assign_gestionnaires,
|
||||
partial: "admin/accompagnateurs/list_assign",
|
||||
array: true))
|
||||
|
||||
assign(:accompagnateurs_not_assign, (smart_listing_create :accompagnateurs_not_assign,
|
||||
not_assign_gestionnaires,
|
||||
partial: "admin/accompagnateurs/list_not_assign",
|
||||
array: true))
|
||||
end
|
||||
|
||||
context 'when admin have none accompagnateur ' do
|
||||
before do
|
||||
render
|
||||
end
|
||||
|
||||
it { expect(rendered).to have_content('Aucun de disponible') }
|
||||
|
||||
context 'when administrateur have none accompagnateur assign' do
|
||||
it { expect(rendered).to have_content('Aucun d\'affecté') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when administrateur have two accompagnateur' do
|
||||
let!(:accompagnateur_1) { create :gestionnaire, email: 'plop@plop.com', administrateurs: [admin] }
|
||||
let!(:accompagnateur_2) { create :gestionnaire, email: 'plip@plop.com', administrateurs: [admin] }
|
||||
|
||||
before do
|
||||
not_assign_gestionnaires.reload
|
||||
assign_gestionnaires.reload
|
||||
|
||||
assign(:accompagnateurs_assign, (smart_listing_create :accompagnateurs_assign,
|
||||
assign_gestionnaires,
|
||||
partial: "admin/accompagnateurs/list_assign",
|
||||
array: true))
|
||||
|
||||
assign(:accompagnateurs_not_assign, (smart_listing_create :accompagnateurs_not_assign,
|
||||
not_assign_gestionnaires,
|
||||
partial: "admin/accompagnateurs/list_not_assign",
|
||||
array: true))
|
||||
|
||||
render
|
||||
end
|
||||
|
||||
it { expect(rendered).to have_content(accompagnateur_1.email) }
|
||||
it { expect(rendered).to have_content(accompagnateur_2.email) }
|
||||
end
|
||||
end
|
|
@ -16,10 +16,10 @@ describe 'admin/gestionnaires/index.html.haml', type: :view do
|
|||
before do
|
||||
render
|
||||
end
|
||||
it { expect(rendered).to have_content('Aucun accompagnateur') }
|
||||
it { expect(rendered).to have_content('Aucun instructeur') }
|
||||
end
|
||||
|
||||
context 'Ajout d\'un accompagnateur' do
|
||||
context 'Ajout d\'un instructeur' do
|
||||
before do
|
||||
create(:gestionnaire, administrateurs: [admin])
|
||||
admin.reload
|
||||
|
|
61
spec/views/admin/instructeurs/show.html.haml_spec.rb
Normal file
61
spec/views/admin/instructeurs/show.html.haml_spec.rb
Normal file
|
@ -0,0 +1,61 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'admin/instructeurs/show.html.haml', type: :view do
|
||||
let(:admin) { create(:administrateur) }
|
||||
let(:procedure) { create :procedure, administrateur: admin }
|
||||
|
||||
let(:assign_gestionnaires) { procedure.gestionnaires }
|
||||
let(:not_assign_gestionnaires) { admin.gestionnaires.where.not(id: assign_gestionnaires.ids) }
|
||||
|
||||
before do
|
||||
assign(:procedure, procedure)
|
||||
assign(:gestionnaire, Gestionnaire.new)
|
||||
|
||||
assign(:instructeurs_assign, (smart_listing_create :instructeurs_assign,
|
||||
assign_gestionnaires,
|
||||
partial: "admin/instructeurs/list_assign",
|
||||
array: true))
|
||||
|
||||
assign(:instructeurs_not_assign, (smart_listing_create :instructeurs_not_assign,
|
||||
not_assign_gestionnaires,
|
||||
partial: "admin/instructeurs/list_not_assign",
|
||||
array: true))
|
||||
end
|
||||
|
||||
context 'when admin have none instructeur ' do
|
||||
before do
|
||||
render
|
||||
end
|
||||
|
||||
it { expect(rendered).to have_content('Aucun de disponible') }
|
||||
|
||||
context 'when administrateur have none instructeur assign' do
|
||||
it { expect(rendered).to have_content('Aucun d\'affecté') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when administrateur have two instructeur' do
|
||||
let!(:instructeur_1) { create :gestionnaire, email: 'plop@plop.com', administrateurs: [admin] }
|
||||
let!(:instructeur_2) { create :gestionnaire, email: 'plip@plop.com', administrateurs: [admin] }
|
||||
|
||||
before do
|
||||
not_assign_gestionnaires.reload
|
||||
assign_gestionnaires.reload
|
||||
|
||||
assign(:instructeurs_assign, (smart_listing_create :instructeurs_assign,
|
||||
assign_gestionnaires,
|
||||
partial: "admin/instructeurs/list_assign",
|
||||
array: true))
|
||||
|
||||
assign(:instructeurs_not_assign, (smart_listing_create :instructeurs_not_assign,
|
||||
not_assign_gestionnaires,
|
||||
partial: "admin/instructeurs/list_not_assign",
|
||||
array: true))
|
||||
|
||||
render
|
||||
end
|
||||
|
||||
it { expect(rendered).to have_content(instructeur_1.email) }
|
||||
it { expect(rendered).to have_content(instructeur_2.email) }
|
||||
end
|
||||
end
|
|
@ -22,6 +22,6 @@ describe 'new_gestionnaire/dossiers/envoyer_dossier_block.html.haml', type: :vie
|
|||
|
||||
it { is_expected.not_to have_css("select") }
|
||||
it { is_expected.not_to have_css(".button.send") }
|
||||
it { is_expected.to have_content("Vous êtes le seul accompagnateur assigné sur cette procédure") }
|
||||
it { is_expected.to have_content("Vous êtes le seul instructeur assigné sur cette procédure") }
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue