From 046e1cf8f3eb0927d7fcb784c107912aaa511bef Mon Sep 17 00:00:00 2001 From: gregoirenovel Date: Fri, 15 Dec 2017 13:23:22 +0100 Subject: [PATCH] Mutualize some code in an avis form partial --- .../avis/instruction.html.haml | 21 +------------------ .../new_gestionnaire/dossiers/avis.html.haml | 14 +------------ .../shared/avis/_form.html.haml | 20 ++++++++++++++++++ 3 files changed, 22 insertions(+), 33 deletions(-) create mode 100644 app/views/new_gestionnaire/shared/avis/_form.html.haml diff --git a/app/views/new_gestionnaire/avis/instruction.html.haml b/app/views/new_gestionnaire/avis/instruction.html.haml index 1433acfa3..b69d3ad9f 100644 --- a/app/views/new_gestionnaire/avis/instruction.html.haml +++ b/app/views/new_gestionnaire/avis/instruction.html.haml @@ -20,25 +20,6 @@ .send-wrapper = f.submit 'Envoyer votre avis', class: 'button send' - %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: avis_avis_path(@avis), 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 @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: "new_gestionnaire/shared/avis/form", locals: { url: avis_avis_path(@avis), must_be_confidentiel: @avis.confidentiel? } = render partial: 'new_gestionnaire/shared/avis/list', locals: { avis: @dossier.avis_for(current_gestionnaire), avis_seen_at: nil } diff --git a/app/views/new_gestionnaire/dossiers/avis.html.haml b/app/views/new_gestionnaire/dossiers/avis.html.haml index 75939aaba..89e09fae6 100644 --- a/app/views/new_gestionnaire/dossiers/avis.html.haml +++ b/app/views/new_gestionnaire/dossiers/avis.html.haml @@ -3,18 +3,6 @@ = render partial: "header", locals: { dossier: @dossier } .container - %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: avis_dossier_path(@dossier.procedure, @dossier), 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 - .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/shared/avis/form", locals: { url: avis_dossier_path(@dossier.procedure, @dossier), must_be_confidentiel: false } = render partial: 'new_gestionnaire/shared/avis/list', locals: { avis: @dossier.avis, avis_seen_at: @avis_seen_at } diff --git a/app/views/new_gestionnaire/shared/avis/_form.html.haml b/app/views/new_gestionnaire/shared/avis/_form.html.haml new file mode 100644 index 000000000..037dd338e --- /dev/null +++ b/app/views/new_gestionnaire/shared/avis/_form.html.haml @@ -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'