From 069dfa8e44b75f002e761cd591be6d500e29537d Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Tue, 17 May 2011 13:11:20 +0200 Subject: [PATCH] Displays users donations (Closes #192). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- ChangeLog | 3 +++ modules/payment.php | 21 +++++++++++++++++++++ templates/payment/index.tpl | 20 ++++++++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/ChangeLog b/ChangeLog index 23dfbb2..fb1a927 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ VERSION 1.1.2 XX XX XXXX Bug/Wish: + * Paiement: + - #192: Displays users donations -JAC + * Search: - #1285: Autocompletes on internal words in university search -JAC diff --git a/modules/payment.php b/modules/payment.php index 4926187..40d5d12 100644 --- a/modules/payment.php +++ b/modules/payment.php @@ -172,6 +172,27 @@ class PaymentModule extends PLModule if ($res->total()) { $page->assign('transactions', $res); } + + if ($pay->flags->hasflag('donation')) { + $donations = XDB::fetchAllAssoc('SELECT IF(p.display, + IF(ap.pid IS NOT NULL, CONCAT(a.full_name, \' (\', pd.promo, \')\'), a.full_name), + \'XXXX\') AS name, p.amount + FROM payment_transactions AS p + INNER JOIN accounts AS a ON (a.uid = p.uid) + LEFT JOIN account_profiles AS ap ON (a.uid = ap.uid AND FIND_IN_SET(\'owner\', ap.perms)) + LEFT JOIN profile_display AS pd ON (ap.pid = pd.pid) + WHERE p.ref = {?} + ORDER BY LENGTH(p.amount) DESC, p.amount DESC, name', + $ref); + $sum = 0; + foreach ($donations as $d) { + $amount = $d['amount']; + $sum += trim(strtr(substr($amount, 0, strpos($amount, 'EUR')), ',', '.')); + } + + $page->assign('donations', $donations); + $page->assign('sum', strtr($sum, '.', ',')); + } } $val = floor($val) . '.' . substr(floor(($val - floor($val)) * 100 + 100), 1); diff --git a/templates/payment/index.tpl b/templates/payment/index.tpl index 18b55b9..1b40c17 100644 --- a/templates/payment/index.tpl +++ b/templates/payment/index.tpl @@ -174,6 +174,26 @@ function payment_submit(form) {/if} +{if t($donation)} +{if !t($donations)} +

Aucun don n'a encore été recueilli.

+{else} +

Les dons suivants ont déjà été recueillis (pour un total de {$sum} €) :

+ + + + + + {foreach from=$donations item=d} + + + + + {/foreach} +
NomMontant
{$d.name}{$d.amount|replace:'EUR':'€'}
+{/if} +{/if} + {/if} -- 2.1.4