From: x2001corpet Date: Mon, 5 Jun 2006 08:05:15 +0000 (+0000) Subject: ergonomie des tables de paiement xnet bug 383 X-Git-Tag: xorg/0.9.10~74 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=aa412cdd6f2593f92f4fb3ab226157ea5cc832fe;p=platal.git ergonomie des tables de paiement xnet bug 383 git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@295 839d8a87-29fc-0310-9880-83ba4fa771e5 --- diff --git a/ChangeLog b/ChangeLog index 63580d4..bc75823 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,9 @@ Bug/Wish : * Wiki : - #403: Cache is cleared when editing a page. -Car + * Xnet : + - #383: Paiements table relook. -Car + From 0.9.8 Branch : * Xnet : diff --git a/htdocs.net/groupe/telepaiement.php b/htdocs.net/groupe/telepaiement.php index 94204cb..75a73f2 100644 --- a/htdocs.net/groupe/telepaiement.php +++ b/htdocs.net/groupe/telepaiement.php @@ -8,18 +8,37 @@ $res = $globals->xdb->query("SELECT id, text FROM {$globals->money->mpay_tprefix $tit = $res->fetchAllAssoc(); $page->assign('titres', $tit); +$order = Env::get('order', 'timestamp'); +$orders = array('timestamp', 'nom', 'promo', 'montant'); +if (!in_array($order, $orders)) $order = 'timestamp'; +$inv_order = Env::get('order_inv', 0); +$page->assign('order', $order); +$page->assign('order_inv', !$inv_order); +if ($order == 'timestamp') $inv_order = !$inv_order; + +if ($inv_order) $inv_order = ' DESC'; else $inv_order = ''; +if ($order == 'montant') $order = 'LENGTH(montant) '.$inv_order.', montant'; + +$orderby = 'ORDER BY '.$order.$inv_order; +if ($order != 'nom') { $orderby .= ', nom'; $inv_order = ''; } +$orderby .= ', prenom'.$inv_order; +if ($order != 'timestamp') $orderby .= ', timestamp DESC'; + if (may_update()) { $trans = array(); foreach($tit as $foo) { $pid = $foo['id']; $res = $globals->xdb->query( - "SELECT IF(u.nom_usage<>'', u.nom_usage, u.nom) as nom, u.prenom, u.promo, a.alias, timestamp, montant + "SELECT IF(u.nom_usage<>'', u.nom_usage, u.nom) as nom, u.prenom, u.promo, a.alias, timestamp AS `date`, montant FROM {$globals->money->mpay_tprefix}transactions AS t INNER JOIN auth_user_md5 AS u ON ( t.uid = u.user_id ) INNER JOIN aliases AS a ON ( t.uid = a.id AND a.type='a_vie' ) - WHERE ref = {?} - ORDER BY timestamp DESC", $pid); + WHERE ref = {?} ".$orderby, $pid); $trans[$pid] = $res->fetchAllAssoc(); + $sum = 0; + foreach ($trans[$pid] as $i => $t) + $sum += strtr(substr($t['montant'], 0, strpos($t['montant'], "EUR")), ",", "."); + $trans[$pid][] = array("nom" => "somme totale", "montant" => strtr($sum, ".", ",")." EUR"); } $page->assign('trans', $trans); } diff --git a/templates/xnet/groupe/telepaiement.tpl b/templates/xnet/groupe/telepaiement.tpl index de2de09..6a8069d 100644 --- a/templates/xnet/groupe/telepaiement.tpl +++ b/templates/xnet/groupe/telepaiement.tpl @@ -36,16 +36,30 @@ Voici la liste des paiements en ligne possible pour le groupe {$asso.nom} {if $trans[$p.id]} - + + + + + + + + {assign var="somme" value=0} {foreach from=$trans[$p.id] item=p} - - - + {if $p.nom neq "somme totale"} + + + + + {else} + + + {/if} {/foreach}
{$p.text} : détails pour les administrateurs{$p.text} : détails pour les administrateurs
[{if $order eq 'timestamp'}{else}{/if}Date{if $order eq 'timestamp'}{/if}][{if $order eq 'nom'}{else}{/if}Prénom NOM{if $order eq 'nom'}{/if}][{if $order eq 'promo'}{else}{/if}Promo{if $order eq 'promo'}{/if}][{if $order eq 'montant'}{else}{/if}Montant{if $order eq 'montant'}{/if}]
{$p.date|date_format} - {$p.nom} {$p.prenom} (X{$promo}) - (mail) - {$p.montant}{$p.date|date_format:"%d/%m/%y"} + {$p.prenom} {$p.nom} + [fiche] + [mail] + X {$p.promo}{$p.montant}Total {$p.montant}