Merge pull request #1002 from consul/dossier-form
changes visible fields in dossier form
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
//= require registration_form
|
||||
//= require suggest
|
||||
//= require forms
|
||||
//= require valuation_spending_proposal_form
|
||||
|
||||
var initialize_modules = function() {
|
||||
App.Comments.initialize();
|
||||
@@ -57,6 +58,7 @@ var initialize_modules = function() {
|
||||
App.RegistrationForm.initialize();
|
||||
App.Suggest.initialize();
|
||||
App.Forms.initialize();
|
||||
App.ValuationSpendingProposalForm.initialize();
|
||||
};
|
||||
|
||||
$(function(){
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
App.ValuationSpendingProposalForm =
|
||||
|
||||
showFeasibleFields: ->
|
||||
$('#valuation_spending_proposal_edit_form #not_feasible_fields').hide('down')
|
||||
$('#valuation_spending_proposal_edit_form #feasible_fields').show()
|
||||
|
||||
showNotFeasibleFields: ->
|
||||
$('#valuation_spending_proposal_edit_form #feasible_fields').hide('down')
|
||||
$('#valuation_spending_proposal_edit_form #not_feasible_fields').show()
|
||||
|
||||
showAllFields: ->
|
||||
$('#valuation_spending_proposal_edit_form #feasible_fields').show('down')
|
||||
$('#valuation_spending_proposal_edit_form #not_feasible_fields').show('down')
|
||||
|
||||
showFeasibilityFields: ->
|
||||
feasible = $("#valuation_spending_proposal_edit_form input[type=radio][name='spending_proposal[feasible]']:checked").val()
|
||||
if feasible == 'true'
|
||||
App.ValuationSpendingProposalForm.showFeasibleFields()
|
||||
else if feasible == 'false'
|
||||
App.ValuationSpendingProposalForm.showNotFeasibleFields()
|
||||
|
||||
|
||||
showFeasibilityFieldsOnChange: ->
|
||||
$("#valuation_spending_proposal_edit_form input[type=radio][name='spending_proposal[feasible]']").change ->
|
||||
App.ValuationSpendingProposalForm.showAllFields()
|
||||
App.ValuationSpendingProposalForm.showFeasibilityFields()
|
||||
|
||||
|
||||
initialize: ->
|
||||
App.ValuationSpendingProposalForm.showFeasibilityFields()
|
||||
App.ValuationSpendingProposalForm.showFeasibilityFieldsOnChange()
|
||||
false
|
||||
@@ -1,7 +1,7 @@
|
||||
<%= link_to "#{t('valuation.spending_proposals.show.heading')} #{@spending_proposal.id}", valuation_spending_proposal_path(@spending_proposal), class: 'back' %>
|
||||
<h2><%= t("valuation.spending_proposals.edit.dossier") %></h2>
|
||||
|
||||
<%= form_for(@spending_proposal, url: valuate_valuation_spending_proposal_path(@spending_proposal)) do |f| %>
|
||||
<%= form_for(@spending_proposal, url: valuate_valuation_spending_proposal_path(@spending_proposal), html: {id: "valuation_spending_proposal_edit_form"}) do |f| %>
|
||||
<%= render 'shared/errors', resource: @spending_proposal %>
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
@@ -31,37 +31,45 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= f.label :feasible_explanation, t("valuation.spending_proposals.edit.feasible_explanation_html") %>
|
||||
<%= f.text_area :feasible_explanation, label: false, rows: 3 %>
|
||||
<div id="not_feasible_fields" >
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= f.label :feasible_explanation, t("valuation.spending_proposals.edit.feasible_explanation_html") %>
|
||||
<%= f.text_area :feasible_explanation, label: false, rows: 3 %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-4 column">
|
||||
<%= f.label :price, "#{t('valuation.spending_proposals.edit.price_html', currency: t('valuation.spending_proposals.edit.currency'))}" %>
|
||||
<%= f.number_field :price, label: false, max: 1000000000000000 %>
|
||||
<div id="feasible_fields">
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-4 column">
|
||||
<%= f.label :price, "#{t('valuation.spending_proposals.edit.price_html', currency: t('valuation.spending_proposals.edit.currency'))}" %>
|
||||
<%= f.number_field :price, label: false, max: 1000000000000000 %>
|
||||
</div>
|
||||
|
||||
<div class="small-12 medium-4 column end">
|
||||
<%= f.label :price_first_year, "#{t('valuation.spending_proposals.edit.price_first_year_html', currency: t('valuation.spending_proposals.edit.currency'))}" %>
|
||||
<%= f.number_field :price_first_year, label: false, max: 1000000000000000 %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="small-12 medium-4 column end">
|
||||
<%= f.label :price_first_year, "#{t('valuation.spending_proposals.edit.price_first_year_html', currency: t('valuation.spending_proposals.edit.currency'))}" %>
|
||||
<%= f.number_field :price_first_year, label: false, max: 1000000000000000 %>
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= f.label :price_explanation, t("valuation.spending_proposals.edit.price_explanation_html") %>
|
||||
<%= f.text_area :price_explanation, label: false, rows: 3 %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= f.label :price_explanation, t("valuation.spending_proposals.edit.price_explanation_html") %>
|
||||
<%= f.text_area :price_explanation, label: false, rows: 3 %>
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= f.label :time_scope, t("valuation.spending_proposals.edit.time_scope_html") %>
|
||||
<%= f.text_field :time_scope, label: false %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-8 column">
|
||||
<%= f.label :time_scope, t("valuation.spending_proposals.edit.time_scope_html") %>
|
||||
<%= f.text_field :time_scope, label: false %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
@@ -288,6 +288,60 @@ feature 'Valuation spending proposals' do
|
||||
expect(find "#spending_proposal_feasible_nil").to be_checked
|
||||
end
|
||||
|
||||
scenario 'Feasibility selection makes proper fields visible', :js do
|
||||
feasible_true_fields = ['Price (€)','Cost during the first year (€)','Price explanation','Time scope']
|
||||
feasible_false_fields = ['Feasibility explanation']
|
||||
feasible_any_fields = ['Valuation finished','Internal comments']
|
||||
feasible_nil_fields = feasible_true_fields + feasible_false_fields + feasible_any_fields
|
||||
|
||||
visit edit_valuation_spending_proposal_path(@spending_proposal)
|
||||
|
||||
expect(find "#spending_proposal_feasible_nil").to be_checked
|
||||
|
||||
feasible_nil_fields.each do |field|
|
||||
expect(page).to have_content(field)
|
||||
end
|
||||
|
||||
choose 'spending_proposal_feasible_true'
|
||||
|
||||
feasible_false_fields.each do |field|
|
||||
expect(page).to_not have_content(field)
|
||||
end
|
||||
|
||||
(feasible_true_fields + feasible_any_fields).each do |field|
|
||||
expect(page).to have_content(field)
|
||||
end
|
||||
|
||||
choose 'spending_proposal_feasible_false'
|
||||
|
||||
feasible_true_fields.each do |field|
|
||||
expect(page).to_not have_content(field)
|
||||
end
|
||||
|
||||
(feasible_false_fields + feasible_any_fields).each do |field|
|
||||
expect(page).to have_content(field)
|
||||
end
|
||||
|
||||
click_button 'Save changes'
|
||||
|
||||
visit edit_valuation_spending_proposal_path(@spending_proposal)
|
||||
|
||||
expect(find "#spending_proposal_feasible_false").to be_checked
|
||||
feasible_true_fields.each do |field|
|
||||
expect(page).to_not have_content(field)
|
||||
end
|
||||
|
||||
(feasible_false_fields + feasible_any_fields).each do |field|
|
||||
expect(page).to have_content(field)
|
||||
end
|
||||
|
||||
choose 'spending_proposal_feasible_nil'
|
||||
|
||||
feasible_nil_fields.each do |field|
|
||||
expect(page).to have_content(field)
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Finish valuation' do
|
||||
visit valuation_spending_proposal_path(@spending_proposal)
|
||||
click_link 'Edit dossier'
|
||||
|
||||
Reference in New Issue
Block a user