Add header section in form table
This commit is contained in:
parent
7bb75c3f56
commit
2b0c0567b8
9 changed files with 94 additions and 10 deletions
|
@ -1,3 +1,4 @@
|
|||
@import "colors";
|
||||
@import "constants";
|
||||
@import "mixins";
|
||||
|
||||
|
@ -13,6 +14,12 @@
|
|||
|
||||
th {
|
||||
text-align: left;
|
||||
|
||||
&.header-section {
|
||||
color: $blue;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
td {
|
||||
|
|
12
app/views/new_gestionnaire/dossiers/_champs.html.haml
Normal file
12
app/views/new_gestionnaire/dossiers/_champs.html.haml
Normal file
|
@ -0,0 +1,12 @@
|
|||
%table.table
|
||||
%tbody
|
||||
- champs.each do |c|
|
||||
%tr
|
||||
- if c.type_champ == "header_section"
|
||||
%th.header-section{ colspan: 2 }
|
||||
= c.libelle
|
||||
- else
|
||||
%th
|
||||
= "#{c.libelle} :"
|
||||
%td
|
||||
= c.value
|
|
@ -7,17 +7,12 @@
|
|||
- if @dossier.individual.present?
|
||||
= render partial: "identite_individual", locals: { individual: @dossier.individual }
|
||||
|
||||
.backoffice-title Formulaire
|
||||
|
||||
.card.featured
|
||||
.card-title Construction du dossier
|
||||
- if @dossier.champs.present? && @dossier.champs.any?
|
||||
%table.table
|
||||
%tbody
|
||||
- @dossier.champs.decorate.each do |c|
|
||||
%tr
|
||||
%th
|
||||
= "#{c.libelle} :"
|
||||
%td
|
||||
= c.value
|
||||
- champs = @dossier.ordered_champs.decorate
|
||||
- if champs.any?
|
||||
= render partial: "champs", locals: { champs: champs }
|
||||
|
||||
- if @dossier.procedure.cerfa_flag? || @dossier.types_de_piece_justificative.any?
|
||||
.card.featured
|
||||
|
|
|
@ -78,6 +78,8 @@
|
|||
%tr
|
||||
%th Header 2
|
||||
%td Table Data 2
|
||||
%tr
|
||||
%th.header-section{ colspan: 2 } Header section
|
||||
%tr
|
||||
%th Header 3
|
||||
%td Table Data 3
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
FactoryGirl.define do
|
||||
factory :champ do
|
||||
type_de_champ { FactoryGirl.create(:type_de_champ_public) }
|
||||
|
||||
trait :checkbox do
|
||||
type_de_champ { FactoryGirl.create(:type_de_champ_public, :checkbox) }
|
||||
end
|
||||
|
||||
trait :header_section do
|
||||
type_de_champ { FactoryGirl.create(:type_de_champ_public, :header_section) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,5 +10,11 @@ FactoryGirl.define do
|
|||
siret_siege_social '44011762001530'
|
||||
code_effectif_entreprise '51'
|
||||
date_creation Time.at(1453976189).to_datetime
|
||||
|
||||
trait :is_association do
|
||||
after(:create) do |entreprise, _evaluator|
|
||||
create(:rna_information, entreprise: entreprise)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,6 +10,10 @@ FactoryGirl.define do
|
|||
type_champ 'checkbox'
|
||||
end
|
||||
|
||||
trait :header_section do
|
||||
type_champ 'header_section'
|
||||
end
|
||||
|
||||
trait :type_dossier_link do
|
||||
libelle 'Référence autre dossier'
|
||||
type_champ 'dossier_link'
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
describe 'new_gestionnaire/dossiers/champs.html.haml', type: :view do
|
||||
before { render 'new_gestionnaire/dossiers/champs.html.haml', champs: champs }
|
||||
|
||||
context "there is some champs" do
|
||||
let(:champ1) { create(:champ, :checkbox, value: "true") }
|
||||
let(:champ2) { create(:champ, :header_section, value: "Section") }
|
||||
let(:champs) { [champ1, champ2] }
|
||||
|
||||
it { expect(rendered).to include(champ1.libelle) }
|
||||
it { expect(rendered).to include(champ1.value) }
|
||||
|
||||
it { expect(rendered).to have_css(".header-section") }
|
||||
it { expect(rendered).to include(champ2.libelle) }
|
||||
end
|
||||
end
|
35
spec/views/new_gestionnaire/dossiers/show.html.haml_spec.rb
Normal file
35
spec/views/new_gestionnaire/dossiers/show.html.haml_spec.rb
Normal file
|
@ -0,0 +1,35 @@
|
|||
describe 'new_gestionnaire/dossiers/show.html.haml', type: :view do
|
||||
let(:individual) { nil }
|
||||
let(:entreprise) { nil }
|
||||
let(:dossier) { create(:dossier, :replied, entreprise: entreprise, individual: individual) }
|
||||
|
||||
before do
|
||||
assign(:dossier, dossier)
|
||||
render
|
||||
end
|
||||
|
||||
context "when dossier was created by an entreprise" do
|
||||
let(:entreprise) { create(:entreprise) }
|
||||
|
||||
it { expect(rendered).to include(entreprise.decorate.raison_sociale_or_name) }
|
||||
it { expect(rendered).to include(entreprise.decorate.siret_siege_social) }
|
||||
it { expect(rendered).to include(entreprise.decorate.forme_juridique) }
|
||||
|
||||
context "and entreprise is an association" do
|
||||
let(:entreprise) { create(:entreprise, :is_association) }
|
||||
|
||||
it { expect(rendered).to include(entreprise.rna_information.association_id) }
|
||||
it { expect(rendered).to include(entreprise.rna_information.titre) }
|
||||
it { expect(rendered).to include(entreprise.rna_information.objet) }
|
||||
end
|
||||
end
|
||||
|
||||
context "when dossier was created by an individual" do
|
||||
let(:individual) { create(:individual) }
|
||||
|
||||
it { expect(rendered).to include(individual.gender) }
|
||||
it { expect(rendered).to include(individual.nom) }
|
||||
it { expect(rendered).to include(individual.prenom) }
|
||||
it { expect(rendered).to include(individual.birthdate) }
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue