From b4d7910e2e9971ed6ed30d3d52313ea3907e12ff Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Sat, 12 Aug 2006 21:00:11 +0000 Subject: [PATCH] Added the /saldos/new_snapshot method, to allow easy entry of all saldos. --- app/controllers/saldos_controller.rb | 29 ++++++++++++++++++++++++++++ app/views/layouts/application.rhtml | 1 + app/views/saldos/new_snapshot.rhtml | 14 ++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 app/views/saldos/new_snapshot.rhtml diff --git a/app/controllers/saldos_controller.rb b/app/controllers/saldos_controller.rb index 32d8e14..2dd1dcb 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 76877ab..c716fa4 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 0000000..a5f422b --- /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' %> -- GitLab