Front to add TypeDePieceJustificative for a procedure
Back not implement for this commit
This commit is contained in:
parent
e673fe6ae2
commit
059211755a
6 changed files with 120 additions and 1 deletions
|
@ -7,6 +7,13 @@ ready = function () {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#add_type_de_piece_justificative_procedure").on('click', function (e) {
|
||||||
|
add_new_type_de_piece_justificative();
|
||||||
|
|
||||||
|
e.stopPropagation();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$(document).ready(ready);
|
$(document).ready(ready);
|
||||||
|
@ -41,3 +48,28 @@ function add_new_type_de_champs() {
|
||||||
$("#new_type_de_champs #add_type_de_champs_button").remove();
|
$("#new_type_de_champs #add_type_de_champs_button").remove();
|
||||||
$("#new_type_de_champs .form-inline").append($("#add_type_de_champs_button"))
|
$("#new_type_de_champs .form-inline").append($("#add_type_de_champs_button"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function add_new_type_de_piece_justificative() {
|
||||||
|
var index_id = "#type_de_piece_justificative_" + types_de_piece_justificative_index;
|
||||||
|
|
||||||
|
$("#liste_piece_justificative").append($(index_id));
|
||||||
|
$("#new_type_de_piece_justificative").append($(index_id).clone());
|
||||||
|
types_de_piece_justificative_index++;
|
||||||
|
|
||||||
|
$("#new_type_de_piece_justificative .form-inline").attr('id', 'type_de_piece_justificative_' + types_de_piece_justificative_index);
|
||||||
|
|
||||||
|
$("#new_type_de_piece_justificative #libelle").attr('name', 'type_de_piece_justificative[' + types_de_piece_justificative_index + '][libelle]');
|
||||||
|
$("#new_type_de_piece_justificative #libelle").val('');
|
||||||
|
|
||||||
|
$("#new_type_de_piece_justificative #description").attr('name', 'type_de_piece_justificative[' + types_de_piece_justificative_index + '][description]');
|
||||||
|
$("#new_type_de_piece_justificative #description").val('');
|
||||||
|
|
||||||
|
$("#new_type_de_piece_justificative #id_type_de_piece_justificative").attr('name', 'type_de_piece_justificative[' + types_de_piece_justificative_index + '][id_type_de_piece_justificative]');
|
||||||
|
$("#new_type_de_piece_justificative #id_type_de_piece_justificative").val('')
|
||||||
|
|
||||||
|
$("#new_type_de_piece_justificative #delete").attr('name', 'type_de_piece_justificative[' + types_de_piece_justificative_index + '][delete]');
|
||||||
|
$("#new_type_de_piece_justificative #delete").val('false')
|
||||||
|
|
||||||
|
$("#new_type_de_piece_justificative #add_type_de_piece_justificative_button").remove();
|
||||||
|
$("#new_type_de_piece_justificative .form-inline").append($("#add_type_de_piece_justificative_button"))
|
||||||
|
}
|
|
@ -37,6 +37,7 @@
|
||||||
%h3.text-info
|
%h3.text-info
|
||||||
Liste des pièces justificatives à fournir pour un dossier
|
Liste des pièces justificatives à fournir pour un dossier
|
||||||
|
|
||||||
|
=render partial: 'admin/procedures/types_de_piece_justificative/liste', locals: {f: f}
|
||||||
|
|
||||||
%br
|
%br
|
||||||
%div.small{style:'text-align:right'}
|
%div.small{style:'text-align:right'}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
.form-inline{id:"type_de_piece_justificative_#{index}", style: 'padding-bottom:8px'}
|
||||||
|
.form-group{ style: 'padding-right: 2%' }
|
||||||
|
%h4 Libellé
|
||||||
|
%input.form-control#libelle{ type: 'text', placeholder: 'Libelle', name:"type_de_piece_justificative[#{index}][libelle]", size: 40, value: ("#{ type_de_piece_justificative.libelle }" unless type_de_piece_justificative.nil? ) }
|
||||||
|
|
||||||
|
.form-group{ style: 'padding-right: 2%' }
|
||||||
|
%h4
|
||||||
|
Description
|
||||||
|
%textarea.form-control#description{cols: 60, placeholder: 'Description', name: "type_de_piece_justificative[#{index}][description]"}
|
||||||
|
=("#{ type_de_piece_justificative.description }" unless type_de_piece_justificative.nil? )
|
||||||
|
|
||||||
|
%input#id_type_de_piece_justificative{type: 'hidden', name: "type_de_piece_justificative[#{index}][id_type_de_piece_justificative]", value: (("#{ type_de_piece_justificative.id}" unless type_de_piece_justificative.nil?))}
|
||||||
|
%input#delete{type: 'hidden', name: "type_de_piece_justificative[#{index}][delete]", value: 'false'}
|
||||||
|
|
||||||
|
-if type_de_piece_justificative.nil?
|
||||||
|
.form-group#add_type_de_piece_justificative_button
|
||||||
|
%br
|
||||||
|
%button.form-control.btn.btn-success#add_type_de_piece_justificative_procedure Ajouter
|
|
@ -0,0 +1,10 @@
|
||||||
|
#liste_piece_justificative
|
||||||
|
-if @procedure.types_de_piece_justificative.size > 0
|
||||||
|
- @procedure.types_de_piece_justificative.order(:order_place).each_with_index do |type_de_piece_justificative, index|
|
||||||
|
=render partial: 'admin/procedures/types_de_piece_justificative/form', locals:{ type_de_piece_justificative: type_de_piece_justificative, index: index }
|
||||||
|
|
||||||
|
#new_type_de_piece_justificative
|
||||||
|
=render partial: 'admin/procedures/types_de_piece_justificative/form', locals:{ type_de_piece_justificative: nil, index: @procedure.types_de_piece_justificative.size }
|
||||||
|
|
||||||
|
%script{ type:'text/javascript' }
|
||||||
|
="var types_de_piece_justificative_index = #{@procedure.types_de_piece_justificative.size}"
|
|
@ -28,7 +28,7 @@ feature 'add a new type de champs', js: true do
|
||||||
before do
|
before do
|
||||||
page.find_by_id('type_de_champs_0').find_by_id('libelle').set 'Libelle de test'
|
page.find_by_id('type_de_champs_0').find_by_id('libelle').set 'Libelle de test'
|
||||||
page.find_by_id('type_de_champs_0').find_by_id('description').set 'Description de test'
|
page.find_by_id('type_de_champs_0').find_by_id('description').set 'Description de test'
|
||||||
page.click_on 'Ajouter'
|
page.click_on 'add_type_de_champs_procedure'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'a new champs type line is appeared with increment index id' do
|
scenario 'a new champs type line is appeared with increment index id' do
|
||||||
|
|
58
spec/features/admin/add_type_de_piece_justificative_spec.rb
Normal file
58
spec/features/admin/add_type_de_piece_justificative_spec.rb
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
feature 'add a new type de champs', js: true do
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur, scope: :administrateur
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when create a new procedure' do
|
||||||
|
before do
|
||||||
|
visit new_admin_procedure_path
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'page have form to created new type de champs' do
|
||||||
|
expect(page).to have_css('#type_de_piece_justificative_0')
|
||||||
|
expect(page).to have_css('input[name="type_de_piece_justificative[0][libelle]"]')
|
||||||
|
expect(page).to have_css('textarea[name="type_de_piece_justificative[0][description]"]')
|
||||||
|
expect(page).to have_css('input[name="type_de_piece_justificative[0][id_type_de_piece_justificative]"]', visible: false)
|
||||||
|
expect(page).to have_css('input[name="type_de_piece_justificative[0][delete]"]', visible: false)
|
||||||
|
|
||||||
|
expect(page).to have_css('#new_type_de_piece_justificative #add_type_de_piece_justificative_button')
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user add a new champs type' do
|
||||||
|
before do
|
||||||
|
page.find_by_id('type_de_piece_justificative_0').find_by_id('libelle').set 'Libelle de test'
|
||||||
|
page.find_by_id('type_de_piece_justificative_0').find_by_id('description').set 'Description de test'
|
||||||
|
page.click_on 'add_type_de_piece_justificative_procedure'
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'a new champs type line is appeared with increment index id' do
|
||||||
|
expect(page).to have_css('#type_de_piece_justificative_1')
|
||||||
|
expect(page).to have_css('input[name="type_de_piece_justificative[1][libelle]"]')
|
||||||
|
expect(page).to have_css('textarea[name="type_de_piece_justificative[1][description]"]')
|
||||||
|
expect(page).to have_css('input[name="type_de_piece_justificative[1][id_type_de_piece_justificative]"]', visible: false)
|
||||||
|
expect(page).to have_css('input[name="type_de_piece_justificative[1][delete]"]', visible: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'the first line is filled' do
|
||||||
|
expect(page.find_by_id('type_de_piece_justificative_0').find_by_id('libelle').value).to eq('Libelle de test')
|
||||||
|
expect(page.find_by_id('type_de_piece_justificative_0').find_by_id('description').value).to eq('Description de test')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'the new line is empty' do
|
||||||
|
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('libelle').value).to eq('')
|
||||||
|
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('description').value).to eq('')
|
||||||
|
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('id_type_de_piece_justificative', visible: false).value).to eq('')
|
||||||
|
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('delete', visible: false).value).to eq('false')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'the button Ajouter is at side new line' do
|
||||||
|
expect(page).to have_css('#new_type_de_piece_justificative #type_de_piece_justificative_1 #add_type_de_piece_justificative_button')
|
||||||
|
expect(page).not_to have_css('#type_de_piece_justificative_0 #add_type_de_piece_justificative_button')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue