From 2ea3c63385309c31e608b59b24211031984d34fa Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 28 Aug 2012 12:43:07 +0200 Subject: [PATCH] Improve representation of personal timesheets including month and year information Changes: * Include year in twice monthly timesheets * Include month and year in weekly timesheets FEA: ItEr77S07PersonalTimesheetsPeriodictyConfiguration --- .../users/dashboard/MonthlyTimesheetDTO.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetDTO.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetDTO.java index f6c9b348d..81ad60b5c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetDTO.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetDTO.java @@ -102,11 +102,26 @@ public class MonthlyTimesheetDTO { public static String toString(PersonalTimesheetsPeriodicityEnum periodicity, LocalDate date) { switch (periodicity) { case WEEKLY: - return _("Week {0}", date.toString("w")); + LocalDate start = periodicity.getStart(date); + LocalDate end = periodicity.getEnd(date); + + String string = date.toString("w"); + if (start.getMonthOfYear() == end.getMonthOfYear()) { + string += " (" + date.toString("MMMM y") + ")"; + } else { + if (start.getYear() == end.getYear()) { + string += " (" + start.toString("MMMM") + " - " + + end.toString("MMMM y") + ")"; + } else { + string += " (" + start.toString("MMMM y") + " - " + + end.toString("MMMM y") + ")"; + } + } + return _("Week {0}", string); case TWICE_MONTHLY: return (date.getDayOfMonth() <= 15) ? - _("{0} 1st fortnight", date.toString("MMMM")) : - _("{0} 2nd fortnight", date.toString("MMMM")); + _("{0} 1st fortnight", date.toString("MMMM y")) : + _("{0} 2nd fortnight", date.toString("MMMM y")); case MONTHLY: default: return date.toString("MMMM y");