From 6f731f700f4331fc4986887357b84e8928e2da5b Mon Sep 17 00:00:00 2001 From: Xavier J Date: Wed, 7 Dec 2016 15:44:28 +0100 Subject: [PATCH] Fix description view for champs and private champs --- .../dossiers/_infos_private_fields.html.haml | 2 +- app/views/users/description/_champs.html.haml | 7 +- app/views/users/description/_show.html.haml | 2 +- .../champs/_header_private_section.html.haml | 10 ++ .../champs/_header_section.html.haml | 99 +++++++++---------- .../champs/_render_list_champs.html.haml | 54 ++++++++++ 6 files changed, 119 insertions(+), 55 deletions(-) create mode 100644 app/views/users/description/champs/_header_private_section.html.haml create mode 100644 app/views/users/description/champs/_render_list_champs.html.haml diff --git a/app/views/dossiers/_infos_private_fields.html.haml b/app/views/dossiers/_infos_private_fields.html.haml index 087aac2f9..a7f8011fd 100644 --- a/app/views/dossiers/_infos_private_fields.html.haml +++ b/app/views/dossiers/_infos_private_fields.html.haml @@ -5,7 +5,7 @@ Pas de champ privé pour ce dossier - else = form_for @facade.dossier, url: {controller: 'backoffice/private_formulaires', action: :update, dossier_id: @facade.dossier.id}, remote: true do - = render partial: '/users/description/champs' + = render partial: '/users/description/champs', locals:{private: true} .row .col-md-4.col-lg-4 .col-md-4.col-lg-4= submit_tag :Enregistrer, {class: 'btn-action'} diff --git a/app/views/users/description/_champs.html.haml b/app/views/users/description/_champs.html.haml index aafe1442e..1febc76c3 100644 --- a/app/views/users/description/_champs.html.haml +++ b/app/views/users/description/_champs.html.haml @@ -1,8 +1,9 @@ -- unless @headers.nil? +- render_partial_url = private ? 'users/description/champs/header_private_section' : 'users/description/champs/header_section' +- unless @headers.empty? - @headers.each do |header| .row %div{class: "type_champ-#{header.type_champ}"} - =render partial: 'users/description/champs/header_section', locals: {libelle: header.libelle, order_place: header.order_place, champs: @champs} + =render partial: render_partial_url, locals: {libelle: header.libelle, order_place: header.order_place, champs: @champs} - else .row - =render partial: 'users/description/champs/header_section', locals: {libelle: 'Dossier', order_place: -1, champs: @champs} + =render partial: render_partial_url, locals: {libelle: 'Dossier', order_place: -1, champs: @champs} diff --git a/app/views/users/description/_show.html.haml b/app/views/users/description/_show.html.haml index 40c0d51c0..1e35ca837 100644 --- a/app/views/users/description/_show.html.haml +++ b/app/views/users/description/_show.html.haml @@ -19,7 +19,7 @@ #liste_champs -unless @champs.nil? - =render partial: 'users/description/champs' + =render partial: 'users/description/champs', locals:{private: false} -if !@procedure.lien_demarche.blank? || @procedure.cerfa_flag || @dossier.types_de_piece_justificative.size > 0 %br diff --git a/app/views/users/description/champs/_header_private_section.html.haml b/app/views/users/description/champs/_header_private_section.html.haml new file mode 100644 index 000000000..1bf8275be --- /dev/null +++ b/app/views/users/description/champs/_header_private_section.html.haml @@ -0,0 +1,10 @@ +.row + .col-lg-12.col-md-12 + .row.title-row + .col-md-4.col-lg-4.split-hr + .col-md-4.col-lg-4.dossier-title= libelle + .col-md-4.col-lg-4.split-hr + .row + .col-lg-4.col-md-4 + .col-lg-8.col-md-8 + =render partial: 'users/description/champs/render_list_champs', locals: {champs: champs, order_place: order_place} diff --git a/app/views/users/description/champs/_header_section.html.haml b/app/views/users/description/champs/_header_section.html.haml index 6c44d36dc..3c7deaf23 100644 --- a/app/views/users/description/champs/_header_section.html.haml +++ b/app/views/users/description/champs/_header_section.html.haml @@ -1,63 +1,62 @@ -.row - .col-lg-12.col-md-12 - .row.title-row - .col-md-4.col-lg-4.split-hr - .col-md-4.col-lg-4.dossier-title= libelle - .col-md-4.col-lg-4.split-hr - .row - .col-lg-4.col-md-4 - .col-lg-8.col-md-8 - -champs.each do |champ| - - if champ.order_place > order_place - - if champ.type_champ == 'header_section' - - break +.default_data_block.default_visible + %div.row.show-block#infos + %div.header + %div.col-lg-12.col-md-12.title + %div.carret-right + %div.carret-down + =libelle + %div.body + -champs.each do |champ| + - if champ.order_place > order_place + - if champ.type_champ == 'header_section' + - break - - unless champ.type_champ == 'checkbox' || champ.type_champ == 'engagement' - %h4 - = champ.libelle - - if champ.mandatory? - = '*' + - unless champ.type_champ == 'checkbox' || champ.type_champ == 'engagement' + %h4 + = champ.libelle + - if champ.mandatory? + = '*' - -if champ.type_champ == 'textarea' - =render partial: 'users/description/champs/textarea', locals: {champ: champ} + -if champ.type_champ == 'textarea' + =render partial: 'users/description/champs/textarea', locals: {champ: champ} - -elsif champ.type_champ == 'checkbox' - = render partial: 'users/description/champs/checkbox', locals: {champ: champ} + -elsif champ.type_champ == 'checkbox' + = render partial: 'users/description/champs/checkbox', locals: {champ: champ} - -elsif champ.type_champ == 'civilite' - =render partial: 'users/description/champs/civilite', locals: {champ: champ} + -elsif champ.type_champ == 'civilite' + =render partial: 'users/description/champs/civilite', locals: {champ: champ} - - elsif champ.type_champ == 'datetime' - =render partial: 'users/description/champs/datetime', locals: {champ: champ} + - elsif champ.type_champ == 'datetime' + =render partial: 'users/description/champs/datetime', locals: {champ: champ} - - elsif champ.type_champ == 'yes_no' - =render partial: 'users/description/champs/yes_no', locals: {champ: champ} + - elsif champ.type_champ == 'yes_no' + =render partial: 'users/description/champs/yes_no', locals: {champ: champ} - - elsif champ.type_champ == 'drop_down_list' - =render partial: 'users/description/champs/drop_down_list', locals: {champ: champ} + - elsif champ.type_champ == 'drop_down_list' + =render partial: 'users/description/champs/drop_down_list', locals: {champ: champ} - - elsif champ.type_champ == 'pays' - =render partial: 'users/description/champs/pays', locals: {champ: champ} + - elsif champ.type_champ == 'pays' + =render partial: 'users/description/champs/pays', locals: {champ: champ} - - elsif champ.type_champ == 'regions' - =render partial: 'users/description/champs/regions', locals: {champ: champ} + - elsif champ.type_champ == 'regions' + =render partial: 'users/description/champs/regions', locals: {champ: champ} - - elsif champ.type_champ == 'engagement' - =render partial: 'users/description/champs/engagement', locals: {champ: champ} + - elsif champ.type_champ == 'engagement' + =render partial: 'users/description/champs/engagement', locals: {champ: champ} - - elsif champ.type_champ == 'departements' - =render partial: 'users/description/champs/departements', locals: {champ: champ} + - elsif champ.type_champ == 'departements' + =render partial: 'users/description/champs/departements', locals: {champ: champ} - -else - %input.form-control{name:"champs['#{champ.id}']", - placeholder: champ.libelle, - id: "champs_#{champ.id}", - value: champ.value, - type: champ.type_champ, - 'data-provide' => champ.data_provide, - 'data-date-format' => champ.data_date_format} + -else + %input.form-control{name:"champs['#{champ.id}']", + placeholder: champ.libelle, + id: "champs_#{champ.id}", + value: champ.value, + type: champ.type_champ, + 'data-provide' => champ.data_provide, + 'data-date-format' => champ.data_date_format} - - unless champ.description.empty? || champ.type_champ == 'engagement' - .row - .col-lg-8.col-md-8{class: 'description_div', id:"description_champs_#{champ.id}"} - = champ.description + - unless champ.description.empty? || champ.type_champ == 'engagement' + .row + .col-lg-8.col-md-8{class: 'description_div', id:"description_champs_#{champ.id}"} + = champ.description diff --git a/app/views/users/description/champs/_render_list_champs.html.haml b/app/views/users/description/champs/_render_list_champs.html.haml new file mode 100644 index 000000000..3763bf52f --- /dev/null +++ b/app/views/users/description/champs/_render_list_champs.html.haml @@ -0,0 +1,54 @@ +-champs.each do |champ| + - if champ.order_place > order_place + - if champ.type_champ == 'header_section' + - break + + - unless champ.type_champ == 'checkbox' || champ.type_champ == 'engagement' + %h4 + = champ.libelle + - if champ.mandatory? + = '*' + + -if champ.type_champ == 'textarea' + =render partial: 'users/description/champs/textarea', locals: {champ: champ} + + -elsif champ.type_champ == 'checkbox' + = render partial: 'users/description/champs/checkbox', locals: {champ: champ} + + -elsif champ.type_champ == 'civilite' + =render partial: 'users/description/champs/civilite', locals: {champ: champ} + + - elsif champ.type_champ == 'datetime' + =render partial: 'users/description/champs/datetime', locals: {champ: champ} + + - elsif champ.type_champ == 'yes_no' + =render partial: 'users/description/champs/yes_no', locals: {champ: champ} + + - elsif champ.type_champ == 'drop_down_list' + =render partial: 'users/description/champs/drop_down_list', locals: {champ: champ} + + - elsif champ.type_champ == 'pays' + =render partial: 'users/description/champs/pays', locals: {champ: champ} + + - elsif champ.type_champ == 'regions' + =render partial: 'users/description/champs/regions', locals: {champ: champ} + + - elsif champ.type_champ == 'engagement' + =render partial: 'users/description/champs/engagement', locals: {champ: champ} + + - elsif champ.type_champ == 'departements' + =render partial: 'users/description/champs/departements', locals: {champ: champ} + + -else + %input.form-control{name:"champs['#{champ.id}']", + placeholder: champ.libelle, + id: "champs_#{champ.id}", + value: champ.value, + type: champ.type_champ, + 'data-provide' => champ.data_provide, + 'data-date-format' => champ.data_date_format} + + - unless champ.description.empty? || champ.type_champ == 'engagement' + .row + .col-lg-8.col-md-8{class: 'description_div', id:"description_champs_#{champ.id}"} + = champ.description \ No newline at end of file