Benjamin Renard commited on 2014-01-12 19:07:01
Showing 3 changed files, with 41 additions and 11 deletions.
| ... | ... |
@@ -338,12 +338,16 @@ display_balance=function(group) {
|
| 338 | 338 |
bal=group.balance(); |
| 339 | 339 |
tbody=$($('#display_balance_modal tbody')[0]);
|
| 340 | 340 |
tbody.html('');
|
| 341 |
- sum=0; |
|
| 342 |
- for (c in bal) {
|
|
| 343 |
- tbody.append('<tr><td>'+c+'</td><td>'+bal[c]+' €</td></tr>');
|
|
| 344 |
- sum+=bal[c]; |
|
| 341 |
+ for (c in bal['balance']) {
|
|
| 342 |
+ if(bal['balance'][c]['diff']<0) {
|
|
| 343 |
+ diff='<td class="negative">'+bal['balance'][c]['diff'].toFixed(2)+' €</td>'; |
|
| 344 |
+ } |
|
| 345 |
+ else {
|
|
| 346 |
+ diff='<td><span class="glyphicon glyphicon-thumbs-up"></span></td>'; |
|
| 347 |
+ } |
|
| 348 |
+ tbody.append('<tr><td>'+c+'</td><td>'+bal['balance'][c]['total']+' €</td>'+diff+'</tr>');
|
|
| 345 | 349 |
} |
| 346 |
- $('#display_balance_modal #total-value').html(sum+' €');
|
|
| 350 |
+ $('#display_balance_modal #total-value').html(bal.sum.toFixed(2)+' €');
|
|
| 347 | 351 |
$('#display_balance_modal').modal('show');
|
| 348 | 352 |
} |
| 349 | 353 |
|
| ... | ... |
@@ -174,17 +174,39 @@ function Group(name,data) {
|
| 174 | 174 |
* Balance |
| 175 | 175 |
*/ |
| 176 | 176 |
this.balance=function() {
|
| 177 |
- ret={}
|
|
| 177 |
+ total={}
|
|
| 178 |
+ min=-1; |
|
| 179 |
+ max=0; |
|
| 178 | 180 |
for (idx in this.contributors) {
|
| 179 |
- sum=0; |
|
| 181 |
+ var sum=0; |
|
| 180 | 182 |
c=this.contributors[idx].name; |
| 181 | 183 |
cl=this.contributionsByContributorName(c); |
| 182 | 184 |
for (idc in cl) {
|
| 183 | 185 |
sum+=cl[idc].cost; |
| 184 | 186 |
} |
| 185 |
- ret[c]=sum; |
|
| 187 |
+ if (min==-1 || min>sum) {
|
|
| 188 |
+ min=sum; |
|
| 186 | 189 |
} |
| 187 |
- return ret; |
|
| 190 |
+ if(max<sum) {
|
|
| 191 |
+ max=sum; |
|
| 192 |
+ } |
|
| 193 |
+ total[c]=sum; |
|
| 194 |
+ } |
|
| 195 |
+ balance={}
|
|
| 196 |
+ var sum=0; |
|
| 197 |
+ for (c in total) {
|
|
| 198 |
+ balance[c]={
|
|
| 199 |
+ 'total': total[c], |
|
| 200 |
+ 'diff': total[c]-max, |
|
| 201 |
+ } |
|
| 202 |
+ sum=sum+total[c]; |
|
| 203 |
+ } |
|
| 204 |
+ return {
|
|
| 205 |
+ 'balance': balance, |
|
| 206 |
+ 'sum': sum, |
|
| 207 |
+ 'min': min, |
|
| 208 |
+ 'max': max |
|
| 209 |
+ }; |
|
| 188 | 210 |
} |
| 189 | 211 |
|
| 190 | 212 |
/* |
| ... | ... |
@@ -293,13 +293,17 @@ body{
|
| 293 | 293 |
<div class="modal-body"> |
| 294 | 294 |
<table class="table table-striped"> |
| 295 | 295 |
<thead> |
| 296 |
- <tr><th>Participant</th><th>Participation</th></tr> |
|
| 296 |
+ <tr> |
|
| 297 |
+ <th>Participant</th> |
|
| 298 |
+ <th>Participation</th> |
|
| 299 |
+ <th> </th> |
|
| 300 |
+ </tr> |
|
| 297 | 301 |
</thead> |
| 298 | 302 |
<tbody></tbody> |
| 299 | 303 |
<tfoot> |
| 300 | 304 |
<tr> |
| 301 | 305 |
<td id='total-label'>Total :</td> |
| 302 |
- <td id='total-value'></td> |
|
| 306 |
+ <td colspan='2' id='total-value'></td> |
|
| 303 | 307 |
</tr> |
| 304 | 308 |
</tfoot> |
| 305 | 309 |
</table> |
| 306 | 310 |