diff --git a/app/controllers/saldos_controller.rb b/app/controllers/saldos_controller.rb index 32d8e14526ae81daed98711ab53d0bf2fa38cb46..2dd1dcb98c053da669bdcc70bf785878a458f609 100644 --- a/app/controllers/saldos_controller.rb +++ b/app/controllers/saldos_controller.rb @@ -48,4 +48,33 @@ class SaldosController < ApplicationController Saldo.find(params[:id]).destroy redirect_to :action => 'list' end + + def new_snapshot + @saldos = [] + for account in Account.find_all + @saldos << Saldo.new(:account_id => account.id, + :date => Date.today) + end + end + + def create_snapshot + ok = true + @saldos = [] + (0...params[:saldos].to_i).each { |ix| + saldo = Saldo.new(params[:saldo][ix.to_s]) + puts ix + puts params[:saldo][ix] + puts params[:saldo] + if not saldo.save + ok = false + end + @saldos << saldo + } + if ok + flash[:notice] = 'Saldos were successfully created.' + redirect_to :action => 'list' + else + render :action => 'new_snapshot' + end + end end diff --git a/app/views/layouts/application.rhtml b/app/views/layouts/application.rhtml index 76877abf0660e198a2883285b86fdaa76a0270d4..c716fa46a16caf277dc8d42405efbad24a25ee7a 100644 --- a/app/views/layouts/application.rhtml +++ b/app/views/layouts/application.rhtml @@ -21,5 +21,6 @@ <br /> <%= link_to 'Top', :controller => "/" %> +<%= link_to 'New saldos', :controller => "saldos", :action => "new_snapshot" %> </body> </html> diff --git a/app/views/saldos/new_snapshot.rhtml b/app/views/saldos/new_snapshot.rhtml new file mode 100644 index 0000000000000000000000000000000000000000..a5f422b484656b8e9a8e3f287b601082ce710e11 --- /dev/null +++ b/app/views/saldos/new_snapshot.rhtml @@ -0,0 +1,14 @@ +<% @heading = @saldos[0]["date"].strftime("Saldos per %Y-%m-%d") %> + +<%= start_form_tag :action => 'create_snapshot' %> + <input type="hidden" name="saldos" value="<%= @saldos.length %>" /> + <% @saldos.each_index { |ix| saldo=@saldos[ix] %> + <p><label for="saldo_account_id"><%= saldo.account.name %></label><br /> + <input type="text" name="saldo[<%= ix %>][amount]" value="<%= saldo.amount %>" /> + <input type="hidden" name="saldo[<%= ix %>][date]" value="<%= saldo.date %>" /> + <input type="hidden" name="saldo[<%= ix %>][account_id]" value="<%= saldo.account.id %>" /> + </p> + <% } %> + <%= submit_tag "Create" %> +<%= end_form_tag %> +<%= link_to 'Back', :action => 'list' %>