commit
52a79a2123
12 changed files with 97 additions and 137 deletions
|
@ -1,41 +1,40 @@
|
||||||
- avis_statut = (@statut == NewGestionnaire::AvisController::A_DONNER_STATUS) ? 'à donner' : 'rendus'
|
- avis_statut = (@statut == NewGestionnaire::AvisController::A_DONNER_STATUS) ? 'à donner' : 'rendus'
|
||||||
- content_for(:title, "Avis #{avis_statut}")
|
- content_for(:title, "Avis #{avis_statut}")
|
||||||
|
|
||||||
#avis-index
|
.accompagnateur-header
|
||||||
.accompagnateur-header
|
.container.flex
|
||||||
.container.flex
|
.width-100
|
||||||
.width-100
|
%h1.tab-title Avis
|
||||||
%h1.tab-title Avis
|
%ul.tabs
|
||||||
%ul.tabs
|
%li{ class: (@statut == NewGestionnaire::AvisController::A_DONNER_STATUS) ? 'active' : nil }>
|
||||||
%li{ class: (@statut == NewGestionnaire::AvisController::A_DONNER_STATUS) ? 'active' : nil }>
|
= link_to(avis_index_path(statut: NewGestionnaire::AvisController::A_DONNER_STATUS)) do
|
||||||
= link_to(avis_index_path(statut: NewGestionnaire::AvisController::A_DONNER_STATUS)) do
|
avis à donner
|
||||||
avis à donner
|
%span.badge= @avis_a_donner.count
|
||||||
%span.badge= @avis_a_donner.count
|
- if @avis_a_donner.any?
|
||||||
- if @avis_a_donner.any?
|
%span.notifications
|
||||||
%span.notifications
|
|
||||||
|
|
||||||
%li{ class: (@statut == NewGestionnaire::AvisController::DONNES_STATUS) ? 'active' : nil }>
|
%li{ class: (@statut == NewGestionnaire::AvisController::DONNES_STATUS) ? 'active' : nil }>
|
||||||
= link_to(avis_index_path(statut: NewGestionnaire::AvisController::DONNES_STATUS)) do
|
= link_to(avis_index_path(statut: NewGestionnaire::AvisController::DONNES_STATUS)) do
|
||||||
avis #{'donné'.pluralize(@avis_donnes.count)}
|
avis #{'donné'.pluralize(@avis_donnes.count)}
|
||||||
%span.badge= @avis_donnes.count
|
%span.badge= @avis_donnes.count
|
||||||
|
|
||||||
.container
|
.container
|
||||||
- if @avis.present?
|
- if @avis.present?
|
||||||
%table.table.dossiers-table.hoverable
|
%table.table.dossiers-table.hoverable
|
||||||
%thead
|
%thead
|
||||||
|
%tr
|
||||||
|
%th.number-col Nº dossier
|
||||||
|
%th Demandeur
|
||||||
|
%th Procédure
|
||||||
|
%tbody
|
||||||
|
- @avis.each do |avis|
|
||||||
%tr
|
%tr
|
||||||
%th.number-col Nº dossier
|
%td.number-col
|
||||||
%th Demandeur
|
= link_to(avis_path(avis), class: 'cell-link') do
|
||||||
%th Procédure
|
%span.icon.folder
|
||||||
%tbody
|
#{avis.dossier.id}
|
||||||
- @avis.each do |avis|
|
%td= link_to(avis.dossier.user.email, avis_path(avis), class: 'cell-link')
|
||||||
%tr
|
%td= link_to(avis.dossier.procedure.libelle, avis_path(avis), class: 'cell-link')
|
||||||
%td.number-col
|
= paginate(@avis)
|
||||||
= link_to(avis_path(avis), class: 'cell-link') do
|
- else
|
||||||
%span.icon.folder
|
%h2.empty-text Aucun avis
|
||||||
#{avis.dossier.id}
|
|
||||||
%td= link_to(avis.dossier.user.email, avis_path(avis), class: 'cell-link')
|
|
||||||
%td= link_to(avis.dossier.procedure.libelle, avis_path(avis), class: 'cell-link')
|
|
||||||
= paginate(@avis)
|
|
||||||
- else
|
|
||||||
%h2.empty-text Aucun avis
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
- content_for(:title, "Avis · Dossier nº #{@dossier.id} (#{@dossier.owner_name})")
|
- content_for(:title, "Avis · Dossier nº #{@dossier.id} (#{@dossier.owner_name})")
|
||||||
|
|
||||||
#avis-show
|
= render partial: 'header', locals: { avis: @avis, dossier: @dossier }
|
||||||
= render partial: 'header', locals: { avis: @avis, dossier: @dossier }
|
|
||||||
|
|
||||||
.container
|
.container
|
||||||
%section.give-avis
|
%section.give-avis
|
||||||
|
@ -21,25 +20,6 @@
|
||||||
.send-wrapper
|
.send-wrapper
|
||||||
= f.submit 'Envoyer votre avis', class: 'button send'
|
= f.submit 'Envoyer votre avis', class: 'button send'
|
||||||
|
|
||||||
%section.ask-avis
|
= render partial: "new_gestionnaire/shared/avis/form", locals: { url: avis_avis_path(@avis), must_be_confidentiel: @avis.confidentiel? }
|
||||||
%h1.tab-title Inviter une personne à donner son avis
|
|
||||||
%p.avis-notice L'invité pourra consulter, donner un avis sur le dossier et contribuer au fil de messagerie, mais il ne pourra le modifier.
|
|
||||||
|
|
||||||
= form_for Avis.new, url: avis_avis_path(@avis), html: { class: 'form' } do |f|
|
= render partial: 'new_gestionnaire/shared/avis/list', locals: { avis: @dossier.avis_for(current_gestionnaire), avis_seen_at: nil }
|
||||||
= f.email_field :email, placeholder: 'Adresse email', required: true
|
|
||||||
= f.text_area :introduction, rows: 3, value: 'Bonjour, merci de me donner votre avis sur ce dossier.', required: true
|
|
||||||
.flex.justify-between.align-baseline
|
|
||||||
- if @avis.confidentiel?
|
|
||||||
%p.confidentiel
|
|
||||||
%span.icon.lock
|
|
||||||
Cet avis est confidentiel et n'est pas affiché aux autres experts consultés
|
|
||||||
.send-wrapper
|
|
||||||
= f.submit 'Demander un avis', class: 'button send'
|
|
||||||
- else
|
|
||||||
.confidentiel-wrapper
|
|
||||||
= f.label :confidentiel, 'Cet avis est'
|
|
||||||
= f.select :confidentiel, [['partagé avec les autres experts', false], ['confidentiel', true]]
|
|
||||||
.send-wrapper
|
|
||||||
= f.submit 'Demander un avis', class: 'button send'
|
|
||||||
|
|
||||||
= render partial: 'avis_list', locals: { avis: @dossier.avis_for(current_gestionnaire), avis_seen_at: nil }
|
|
||||||
|
|
|
@ -2,10 +2,4 @@
|
||||||
|
|
||||||
= render partial: 'header', locals: { avis: @avis, dossier: @dossier }
|
= render partial: 'header', locals: { avis: @avis, dossier: @dossier }
|
||||||
|
|
||||||
.messagerie.container
|
= render partial: "new_gestionnaire/shared/messagerie", locals: { dossier: @dossier, messagerie_seen_at: nil, new_commentaire: @commentaire, form_url: commentaire_avis_path(@avis) }
|
||||||
%ul.messages-list
|
|
||||||
- @dossier.commentaires.each do |commentaire|
|
|
||||||
%li{ class: commentaire_is_from_me_class(commentaire, current_gestionnaire.email) }
|
|
||||||
= render partial: "new_gestionnaire/shared/commentaires/commentaire", locals: { commentaire: commentaire, messagerie_seen_at: nil }
|
|
||||||
|
|
||||||
= render partial: "new_gestionnaire/shared/commentaires/form", locals: { commentaire: @commentaire, form_url: commentaire_avis_path(@avis) }
|
|
||||||
|
|
|
@ -1,29 +1,6 @@
|
||||||
- content_for(:title, "Demande · Dossier nº #{@dossier.id} (#{@dossier.owner_name})")
|
- content_for(:title, "Demande · Dossier nº #{@dossier.id} (#{@dossier.owner_name})")
|
||||||
|
|
||||||
#avis-show
|
= render partial: 'header', locals: { avis: @avis, dossier: @dossier }
|
||||||
= render partial: 'header', locals: { avis: @avis, dossier: @dossier }
|
|
||||||
|
|
||||||
.container
|
= render partial: 'new_gestionnaire/shared/show', locals: { dossier: @dossier, demande_seen_at: nil }
|
||||||
.tab-title Identité du demandeur
|
|
||||||
.card
|
|
||||||
- if @dossier.entreprise.present?
|
|
||||||
= render partial: 'new_gestionnaire/dossiers/identite_entreprise', locals: { entreprise: @dossier.entreprise }
|
|
||||||
|
|
||||||
- if @dossier.individual.present?
|
|
||||||
= render partial: 'new_gestionnaire/dossiers/identite_individual', locals: { individual: @dossier.individual }
|
|
||||||
|
|
||||||
.tab-title Formulaire
|
|
||||||
- champs = @dossier.ordered_champs.decorate
|
|
||||||
- if champs.any?
|
|
||||||
.card
|
|
||||||
= render partial: 'new_gestionnaire/dossiers/champs', locals: { champs: champs, dossier: @dossier, demande_seen_at: nil }
|
|
||||||
|
|
||||||
- if @dossier.procedure.use_api_carto
|
|
||||||
.tab-title Cartographie
|
|
||||||
.card
|
|
||||||
= render partial: 'new_gestionnaire/dossiers/map', locals: { dossier: @dossier }
|
|
||||||
|
|
||||||
- if @dossier.procedure.cerfa_flag? || @dossier.types_de_piece_justificative.any?
|
|
||||||
.tab-title Pièces jointes
|
|
||||||
.card
|
|
||||||
= render partial: "new_gestionnaire/dossiers/pieces_jointes", locals: { dossier: @dossier, demande_seen_at: nil }
|
|
||||||
|
|
|
@ -3,18 +3,6 @@
|
||||||
= render partial: "header", locals: { dossier: @dossier }
|
= render partial: "header", locals: { dossier: @dossier }
|
||||||
|
|
||||||
.container
|
.container
|
||||||
%section.ask-avis
|
= render partial: "new_gestionnaire/shared/avis/form", locals: { url: avis_dossier_path(@dossier.procedure, @dossier), must_be_confidentiel: false }
|
||||||
%h1.tab-title Inviter une personne à donner son avis
|
|
||||||
%p.avis-notice L'invité pourra consulter, donner un avis sur le dossier et contribuer au fil de messagerie, mais il ne pourra le modifier.
|
|
||||||
|
|
||||||
= form_for Avis.new, url: avis_dossier_path(@dossier.procedure, @dossier), html: { class: 'form' } do |f|
|
= render partial: 'new_gestionnaire/shared/avis/list', locals: { avis: @dossier.avis, avis_seen_at: @avis_seen_at }
|
||||||
= f.email_field :email, placeholder: 'Adresse email', required: true
|
|
||||||
= f.text_area :introduction, rows: 3, value: 'Bonjour, merci de me donner votre avis sur ce dossier.', required: true
|
|
||||||
.flex.justify-between.align-baseline
|
|
||||||
.confidentiel-wrapper
|
|
||||||
= f.label :confidentiel, 'Cet avis est'
|
|
||||||
= f.select :confidentiel, [['partagé avec les autres experts', false], ['confidentiel', true]]
|
|
||||||
.send-wrapper
|
|
||||||
= f.submit 'Demander un avis', class: 'button send', data: { disable_with: "Envoi..." }
|
|
||||||
|
|
||||||
= render partial: 'new_gestionnaire/avis/avis_list', locals: { avis: @dossier.avis, avis_seen_at: @avis_seen_at }
|
|
||||||
|
|
|
@ -2,10 +2,4 @@
|
||||||
|
|
||||||
= render partial: "header", locals: { dossier: @dossier }
|
= render partial: "header", locals: { dossier: @dossier }
|
||||||
|
|
||||||
.messagerie.container
|
= render partial: "new_gestionnaire/shared/messagerie", locals: { dossier: @dossier, messagerie_seen_at: @messagerie_seen_at , new_commentaire: @commentaire, form_url: commentaire_dossier_path(@dossier.procedure, @dossier) }
|
||||||
%ul.messages-list
|
|
||||||
- @dossier.commentaires.each do |commentaire|
|
|
||||||
%li{ class: commentaire_is_from_me_class(commentaire, current_gestionnaire.email) }
|
|
||||||
= render partial: "new_gestionnaire/shared/commentaires/commentaire", locals: { commentaire: commentaire, messagerie_seen_at: @messagerie_seen_at }
|
|
||||||
|
|
||||||
= render partial: "new_gestionnaire/shared/commentaires/form", locals: { commentaire: @commentaire, form_url: commentaire_dossier_path(@dossier.procedure, @dossier) }
|
|
||||||
|
|
|
@ -2,27 +2,4 @@
|
||||||
|
|
||||||
= render partial: "header", locals: { dossier: @dossier }
|
= render partial: "header", locals: { dossier: @dossier }
|
||||||
|
|
||||||
.container
|
= render partial: 'new_gestionnaire/shared/show', locals: { dossier: @dossier, demande_seen_at: @demande_seen_at }
|
||||||
.tab-title Identité du demandeur
|
|
||||||
.card
|
|
||||||
- if @dossier.entreprise.present?
|
|
||||||
= render partial: "identite_entreprise", locals: { entreprise: @dossier.entreprise }
|
|
||||||
|
|
||||||
- if @dossier.individual.present?
|
|
||||||
= render partial: "identite_individual", locals: { individual: @dossier.individual }
|
|
||||||
|
|
||||||
.tab-title Formulaire
|
|
||||||
- champs = @dossier.ordered_champs.includes(:type_de_champ).decorate
|
|
||||||
- if champs.any?
|
|
||||||
.card
|
|
||||||
= render partial: "champs", locals: { champs: champs, dossier: @dossier, demande_seen_at: @demande_seen_at }
|
|
||||||
|
|
||||||
- if @dossier.procedure.use_api_carto
|
|
||||||
.tab-title Cartographie
|
|
||||||
.card
|
|
||||||
= render partial: "map", locals: { dossier: @dossier }
|
|
||||||
|
|
||||||
- if @dossier.procedure.cerfa_flag? || @dossier.types_de_piece_justificative.any?
|
|
||||||
.tab-title Pièces jointes
|
|
||||||
.card
|
|
||||||
= render partial: "pieces_jointes", locals: { dossier: @dossier, demande_seen_at: @demande_seen_at }
|
|
||||||
|
|
7
app/views/new_gestionnaire/shared/_messagerie.html.haml
Normal file
7
app/views/new_gestionnaire/shared/_messagerie.html.haml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.messagerie.container
|
||||||
|
%ul.messages-list
|
||||||
|
- dossier.commentaires.each do |commentaire|
|
||||||
|
%li{ class: commentaire_is_from_me_class(commentaire, current_gestionnaire.email) }
|
||||||
|
= render partial: "new_gestionnaire/shared/commentaires/commentaire", locals: { commentaire: commentaire, messagerie_seen_at: messagerie_seen_at }
|
||||||
|
|
||||||
|
= render partial: "new_gestionnaire/shared/commentaires/form", locals: { commentaire: new_commentaire, form_url: form_url }
|
24
app/views/new_gestionnaire/shared/_show.html.haml
Normal file
24
app/views/new_gestionnaire/shared/_show.html.haml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
.container
|
||||||
|
.tab-title Identité du demandeur
|
||||||
|
.card
|
||||||
|
- if dossier.entreprise.present?
|
||||||
|
= render partial: "new_gestionnaire/dossiers/identite_entreprise", locals: { entreprise: dossier.entreprise }
|
||||||
|
|
||||||
|
- if dossier.individual.present?
|
||||||
|
= render partial: "new_gestionnaire/dossiers/identite_individual", locals: { individual: dossier.individual }
|
||||||
|
|
||||||
|
.tab-title Formulaire
|
||||||
|
- champs = dossier.ordered_champs.includes(:type_de_champ).decorate
|
||||||
|
- if champs.any?
|
||||||
|
.card
|
||||||
|
= render partial: "new_gestionnaire/dossiers/champs", locals: { champs: champs, demande_seen_at: demande_seen_at }
|
||||||
|
|
||||||
|
- if dossier.procedure.use_api_carto
|
||||||
|
.tab-title Cartographie
|
||||||
|
.card
|
||||||
|
= render partial: "new_gestionnaire/dossiers/map", locals: { dossier: dossier }
|
||||||
|
|
||||||
|
- if dossier.procedure.cerfa_flag? || dossier.types_de_piece_justificative.any?
|
||||||
|
.tab-title Pièces jointes
|
||||||
|
.card
|
||||||
|
= render partial: "new_gestionnaire/dossiers/pieces_jointes", locals: { dossier: dossier, demande_seen_at: demande_seen_at }
|
20
app/views/new_gestionnaire/shared/avis/_form.html.haml
Normal file
20
app/views/new_gestionnaire/shared/avis/_form.html.haml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
%section.ask-avis
|
||||||
|
%h1.tab-title Inviter une personne à donner son avis
|
||||||
|
%p.avis-notice L'invité pourra consulter, donner un avis sur le dossier et contribuer au fil de messagerie, mais il ne pourra le modifier.
|
||||||
|
|
||||||
|
= form_for Avis.new, url: url, html: { class: 'form' } do |f|
|
||||||
|
= f.email_field :email, placeholder: 'Adresse email', required: true
|
||||||
|
= f.text_area :introduction, rows: 3, value: 'Bonjour, merci de me donner votre avis sur ce dossier.', required: true
|
||||||
|
.flex.justify-between.align-baseline
|
||||||
|
- if must_be_confidentiel
|
||||||
|
%p.confidentiel
|
||||||
|
%span.icon.lock
|
||||||
|
Cet avis est confidentiel et n'est pas affiché aux autres experts consultés
|
||||||
|
.send-wrapper
|
||||||
|
= f.submit 'Demander un avis', class: 'button send'
|
||||||
|
- else
|
||||||
|
.confidentiel-wrapper
|
||||||
|
= f.label :confidentiel, 'Cet avis est'
|
||||||
|
= f.select :confidentiel, [['partagé avec les autres experts', false], ['confidentiel', true]]
|
||||||
|
.send-wrapper
|
||||||
|
= f.submit 'Demander un avis', class: 'button send'
|
|
@ -1,7 +1,7 @@
|
||||||
describe 'new_gestionnaire/avis/avis_list.html.haml', type: :view do
|
describe 'new_gestionnaire/shared/avis/_list.html.haml', type: :view do
|
||||||
before { view.extend DossierHelper }
|
before { view.extend DossierHelper }
|
||||||
|
|
||||||
subject { render 'new_gestionnaire/avis/avis_list.html.haml', avis: avis, avis_seen_at: seen_at, current_gestionnaire: gestionnaire }
|
subject { render 'new_gestionnaire/shared/avis/list.html.haml', avis: avis, avis_seen_at: seen_at, current_gestionnaire: gestionnaire }
|
||||||
|
|
||||||
let(:gestionnaire) { create(:gestionnaire) }
|
let(:gestionnaire) { create(:gestionnaire) }
|
||||||
let(:avis) { [create(:avis, claimant: gestionnaire)] }
|
let(:avis) { [create(:avis, claimant: gestionnaire)] }
|
Loading…
Reference in a new issue