Sort expenses area list

Allow to sort the list of personal expenses by the different columns.

FEA: ItEr76S28UserDashboard
This commit is contained in:
Manuel Rego Casasnovas 2012-06-07 10:55:12 +02:00
parent 429a3b39d8
commit bf0f733b90
2 changed files with 28 additions and 7 deletions

View file

@ -20,6 +20,8 @@
package org.libreplan.web.users.dashboard;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.libreplan.business.expensesheet.daos.IExpenseSheetDAO;
@ -52,8 +54,21 @@ public class ExpensesAreaModel implements IExpensesAreaModel {
return new ArrayList<ExpenseSheet>();
}
return expenseSheetDAO.getPersonalExpenseSheetsByResource(user
.getWorker());
List<ExpenseSheet> expenseSheets = expenseSheetDAO
.getPersonalExpenseSheetsByResource(user.getWorker());
sortExpenseSheetsDescendingByFirstExpense(expenseSheets);
return expenseSheets;
}
private void sortExpenseSheetsDescendingByFirstExpense(
List<ExpenseSheet> expenseSheets) {
Collections.sort(expenseSheets, new Comparator<ExpenseSheet>() {
@Override
public int compare(ExpenseSheet o1, ExpenseSheet o2) {
return o2.getFirstExpense().compareTo(o1.getFirstExpense());
}
});
}
}

View file

@ -25,11 +25,17 @@
model="@{controller.personalExpenseSheets}"
rowRenderer="@{controller.expenseSheetsRenderer}">
<columns sizable="true">
<column label="${i18n:_('Description')}" />
<column label="${i18n:_('Code')}" />
<column label="${i18n:_('Total')}" />
<column label="${i18n:_('First expense')}" />
<column label="${i18n:_('Last expense')}" />
<column label="${i18n:_('Description')}"
sort="auto(description)" />
<column label="${i18n:_('Code')}"
sort="auto(code)" />
<column label="${i18n:_('Total')}"
sort="auto(total)" />
<column label="${i18n:_('First expense')}"
sort="auto(firstExpense)"
sortDirection="descending" />
<column label="${i18n:_('Last expense')}"
sort="auto(lastExpense)" />
<column label="${i18n:_('Operations')}" />
</columns>
</grid>