From 0443a9d4131bd15977a4bdb08eacabf13fcd105c Mon Sep 17 00:00:00 2001
From: Nicolas Vigier
Date: Wed, 15 May 2013 22:56:26 +0000
Subject: add per person donation pages
git-svn-id: svn+ssh://svn.mageia.org/svn/soft/mga-treasurer/trunk@8262 5b7c3c08-40e5-403b-9995-ace06908e4af
---
NEWS | 1 +
mktreasurer | 20 +++++++++++++++++---
tmpl/donations.html | 2 +-
tmpl/donations_by_month.html | 2 +-
tmpl/donations_by_pa.html | 27 +++++++++++++++++++++++++++
tmpl/index.html | 2 +-
6 files changed, 48 insertions(+), 6 deletions(-)
create mode 100644 tmpl/donations_by_pa.html
diff --git a/NEWS b/NEWS
index 083c92c..8807911 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,5 @@
+- add per person donation pages
- index.html: add something about treasurer-commits ML
Version 0.1
diff --git a/mktreasurer b/mktreasurer
index d12217a..9f89b6a 100755
--- a/mktreasurer
+++ b/mktreasurer
@@ -50,6 +50,7 @@ sub donations_list {
nb => $don->{Nb},
amount => $don->{Am},
date => epoch_date($don->{Dt}),
+ pa => $don->{Pa},
who => party_name($r, $don->{Pa}),
type => subcat_name($r, $don->{Sca}, $don_cat),
$don->{No} ne '(null)' ? (notes => $don->{No}) : (),
@@ -65,6 +66,7 @@ sub donations_infos {
donations => donations_list($r),
by_month => {},
by_year => {},
+ by_pa => {},
total_30 => 0,
);
foreach my $don (@{$res{donations}}) {
@@ -76,11 +78,13 @@ sub donations_infos {
$res{by_month}->{$month}->{month} = $dt->month;
push @{$res{by_year}->{$year}->{donations}}, $don;
push @{$res{by_year}->{$year}->{months}}, $month;
+ push @{$res{by_pa}->{$don->{pa}}->{donations}}, $don;
if (time - $don->{date} < '2592000') { # last 30 days
$res{total_30} += $don->{amount};
}
}
- foreach my $d ((values %{$res{by_month}}), (values %{$res{by_year}})) {
+ foreach my $d ((values %{$res{by_month}}), (values %{$res{by_year}}),
+ (values %{$res{by_pa}})) {
foreach my $don (@{$d->{donations}}) {
$d->{total} += $don->{amount};
$d->{type}->{$don->{type}} += $don->{amount};
@@ -98,7 +102,7 @@ sub process_template {
}
sub output_pages {
- my ($donations) = @_;
+ my ($r, $donations) = @_;
my $template = Template->new(
INCLUDE_PATH => $config->{tmpl_dir},
OUTPUT_PATH => $config->{out_dir},
@@ -123,6 +127,16 @@ sub output_pages {
process_template($template, 'donations_by_year', $vars, "donations_y_$year");
}
+ foreach my $pa (keys %{$donations->{by_pa}}) {
+ my $vars = {
+ config => $config,
+ pa => $pa,
+ who => party_name($r, $pa),
+ donations => $donations,
+ };
+ process_template($template, 'donations_by_pa', $vars, "donations_p_$pa");
+ }
+
my $vars = {
config => $config,
donations => $donations,
@@ -135,5 +149,5 @@ sub output_pages {
my $r = XMLin($config->{grisbi_file});
my $donations = donations_infos($r);
-output_pages($donations);
+output_pages($r, $donations);
diff --git a/tmpl/donations.html b/tmpl/donations.html
index 1508a78..fef42b4 100644
--- a/tmpl/donations.html
+++ b/tmpl/donations.html
@@ -15,7 +15,7 @@
[%- FOR don IN donations.donations.sort('date').reverse -%]
[%- i = i + 1 -%]
[%- LAST IF i > l -%]
- [% don.who %] donated [% don.amount %] Euros on [% date.format(don.date) %]
+ [% don.who %] donated [% don.amount %] Euros on [% date.format(don.date) %]
[%- END -%]
diff --git a/tmpl/donations_by_month.html b/tmpl/donations_by_month.html
index 2fc79c3..ed4af7f 100644
--- a/tmpl/donations_by_month.html
+++ b/tmpl/donations_by_month.html
@@ -20,7 +20,7 @@
[%- USE date(format='%Y/%m/%d') -%]
[% FOR don IN donations.by_month.$month.donations %]
- - [% don.who %] donated [% don.amount %] Euros on [% date.format(don.date) %] ([% don.type %])
+ - [% don.who %] donated [% don.amount %] Euros on [% date.format(don.date) %] ([% don.type %])
[%- END -%]
+ Mageia.Org donations received from [% who %]
+ Summary
+
+ -
+ Total: [% donations.by_pa.$pa.total %] Euros
+
+ [% FOR type IN donations.by_pa.$pa.type.keys %]
+ -
+ [% type %]: [% donations.by_pa.$pa.type.$type %] Euros
+
+ [%- END -%]
+
+ Donations list
+
+ [%- USE date(format='%Y/%m/%d') -%]
+ [% FOR don IN donations.by_pa.$pa.donations %]
+ - [% don.amount %] Euros on [% date.format(don.date) %] ([% don.type %])
+ [%- END -%]
+
+
diff --git a/tmpl/donations_by_pa.html b/tmpl/donations_by_pa.html
new file mode 100644
index 0000000..585250e
--- /dev/null
+++ b/tmpl/donations_by_pa.html
@@ -0,0 +1,27 @@
+
+