From a07404806a3dad6ca2758229b3c4e79978e2f660 Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Mon, 20 May 2013 16:42:49 +0000 Subject: Add categories graphs git-svn-id: svn+ssh://svn.mageia.org/svn/soft/mga-treasurer/trunk@8342 5b7c3c08-40e5-403b-9995-ace06908e4af --- NEWS | 1 + mktreasurer | 5 +++ tmpl/index.html | 80 ++++++++++++++++++++++++++++++++++++++++-- tmpl/transactions_by_year.html | 80 ++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 162 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 061b85d..b956dbd 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ - add donations graphs - add accounts history graphs +- add categories graphs Version 0.3 diff --git a/mktreasurer b/mktreasurer index 1f1614b..f13b531 100755 --- a/mktreasurer +++ b/mktreasurer @@ -162,6 +162,11 @@ sub transactions_infos { foreach my $tra (@{$y->{transactions}}) { next unless $tra->{ca}; $y->{ca_balance}->{$tra->{ca}} += $tra->{amount}; + if ($tra->{amount} > 0) { + $y->{ca_revenues}->{$tra->{ca}} += $tra->{amount}; + } else { + $y->{ca_expenses}->{$tra->{ca}} -= $tra->{amount}; + } } $y->{start_balance} = $start_balance ? $start_balance : new Math::BigFloat 0; $y->{end_balance} = $y->{balance} + new Math::BigFloat $y->{start_balance}; diff --git a/tmpl/index.html b/tmpl/index.html index d6862bc..f04135a 100644 --- a/tmpl/index.html +++ b/tmpl/index.html @@ -38,9 +38,85 @@

Expenses and revenues by category

+ [%- + SET ca_expenses = []; + SET ca_expenses_names = []; + SET ca_revenues = []; + SET ca_revenues_names = []; + + FOREACH ca IN transactions.by_ca.keys.sort; + IF transactions.by_ca.$ca.expenses != 0; + ca_expenses.push(ca); + ca_expenses_names.push(transactions.by_ca.$ca.c_name); + END; + IF transactions.by_ca.$ca.revenues != 0; + ca_revenues.push(ca); + ca_revenues_names.push(transactions.by_ca.$ca.c_name); + END; + END; + -%] + +

Expenses

+ [% IF ca_expenses.size > 1 %] + + + + [% END %] + + +

Revenues

+ [% IF ca_revenues.size > 1 %] + + + + [% END %] diff --git a/tmpl/transactions_by_year.html b/tmpl/transactions_by_year.html index 08e9c60..b363c72 100644 --- a/tmpl/transactions_by_year.html +++ b/tmpl/transactions_by_year.html @@ -22,11 +22,87 @@

By category

+ + [%- + SET ca_expenses = []; + SET ca_expenses_names = []; + SET ca_revenues = []; + SET ca_revenues_names = []; + + IF transactions.by_year.$year.ca_revenues; + FOREACH ca IN transactions.by_year.$year.ca_revenues.keys; + ca_revenues.push(ca); + ca_revenues_names.push(transactions.by_ca.$ca.c_name); + END; + END; + IF transactions.by_year.$year.ca_expenses; + FOREACH ca IN transactions.by_year.$year.ca_expenses.keys; + ca_expenses.push(ca); + ca_expenses_names.push(transactions.by_ca.$ca.c_name); + END; + END; + -%] +

Expenses

+ [% IF ca_expenses.size > 1 %] + + + + [% END %] + + +

Revenues

+ [% IF ca_revenues.size > 1 %] + + + + [% END %] +

Monthly reports

-- cgit v1.2.1