<< Masa.20101230-update-vat_rate-ydim | 2010 | Masa.20101228-setup-ydim >>
suspend
Attach:set_initial_ydim_db.sql.txt
How to use this
cat set_initial_ydim_db.sql | psql -U postgres ydim
Note
sudo -u postgres dropdb ydim sudo -u postgres createdb -E UTF8 -T template0 ydim createuser ydim -P
'db_driver_url' => 'DBI:Pg:ydim',
'db_user' => 'ydim',
'db_auth' => '',
Commit
If I change as follows, lib/ydim/html/util/lookandfeel.rb
#:vat => 'MwSt. (7.6%)',
:vat => 'MwSt. (8.0%)',
then, both new and old Rechnung displays 'MwSt. (8.0%)'


Task
BraSt
Experiment
lib/ydim/html/util/lookandfeel.rb
:vat => 'MwSt. (8.0%)',
:vat_2010 => 'MwSt. (7.6%)',
class InvoiceTotalComposite < HtmlGrid::Composite
COMPONENTS = {
[0,0] => :total_netto,
# [0,1] => :vat,
[0,1] => :vat_2010,
[0,2] => :total_brutto,
}
Reboot
Access http://masa.ydim.com
Result

Experiment
sum :total_brutto
sum :total_netto
sum :vat
sum :vat_2010
DATA_KEYS = [ :data, :expiry_time, :item_type, :price, :quantity, :text,
:time, :unit, :vat_rate, :vat_rate_2010 ]
...
def vat_2010
total_netto * (@vat_rate_2010.to_f / 100.0)
end
Result

Note
grep vat_rate
masa@masa ~/ywesee/ydim $ grep -r vat_rate *
bin/ydim-edit: 'vat_rate' => 8.0,
lib/ydim/factory.rb: nitem.vat_rate = @serv.config.vat_rate
lib/ydim/invoice.rb: rate = bool ? 0 : YDIM::Server.config.vat_rate
lib/ydim/invoice.rb: @items.each do |item| item.vat_rate = rate end
lib/ydim/item.rb: :time, :unit, :vat_rate, :vat_rate_2010 ]
lib/ydim/item.rb: total_netto * (@vat_rate.to_f / 100.0)
lib/ydim/item.rb: total_netto * (@vat_rate_2010.to_f / 100.0)
lib/ydim/root_session.rb: rate = invoice.suppress_vat ? 0 : @serv.config.vat_rate
lib/ydim/root_session.rb: item = Item.new({:vat_rate => rate}.update(data))
lib/ydim/server.rb: #'vat_rate' => 7.6,
lib/ydim/server.rb: 'vat_rate' => 8.0,
lib/ydim/server.rb.orig: 'vat_rate' => 8.0,
Experiment
lib/ydim/invoice.rb#suppress_vat=
def suppress_vat= bool
rate = bool ? 0 : YDIM::Server.config.vat_rate
rate2010 = bool ? 0 : YDIM::Server.config.vat_rate_2010
@items.each do |item|
item.vat_rate = rate
item.vat_rate_2010 = rate2010
end
@suppress_vat = bool
end
'vat_rate' => 8.0,
'vat_rate_2010' => 7.6,
Result

Note
BraSt
ToDo
Experiment
def total_brutto
#total_netto + vat
total_netto + vat_2010
end
Result
Hypothesis
Experiment
def vat_2010
#total_netto * (@vat_rate_2010.to_f / 100.0)
total_netto * 7.6 / 100.0
end
Result

Note
Next
Interim Summary (htmlgrid)