From b97b54321b87fb288f3c291798bba8e3efb07a43 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Mon, 27 Aug 2012 17:08:17 +0200 Subject: [PATCH] Add option to set personal timesheets periodicity in configuration window FEA: ItEr77S07PersonalTimesheetsPeriodictyConfiguration --- .../web/common/ConfigurationController.java | 26 +++++++++++++++++++ .../web/common/ConfigurationModel.java | 13 ++++++++++ .../web/common/IConfigurationModel.java | 6 +++++ .../src/main/webapp/common/configuration.zul | 7 +++++ 4 files changed, 52 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java index ef3517f47..047e8966d 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java @@ -40,6 +40,7 @@ import org.libreplan.business.common.entities.Configuration; import org.libreplan.business.common.entities.EntityNameEnum; import org.libreplan.business.common.entities.EntitySequence; import org.libreplan.business.common.entities.LDAPConfiguration; +import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum; import org.libreplan.business.common.entities.ProgressType; import org.libreplan.business.common.exceptions.ValidationException; import org.libreplan.business.costcategories.entities.TypeOfWorkHours; @@ -878,4 +879,29 @@ public class ConfigurationController extends GenericForwardComposer { configurationModel.setMonthlyTimesheetsTypeOfWorkHours(typeOfWorkHours); } + public List getPersonalTimesheetsPeriodicities() { + return Arrays.asList(PersonalTimesheetsPeriodicityEnum.values()); + } + + public ListitemRenderer getPersonalTimesheetsPeriodicityRenderer() { + return new ListitemRenderer() { + @Override + public void render(Listitem item, Object data) throws Exception { + PersonalTimesheetsPeriodicityEnum periodicity = (PersonalTimesheetsPeriodicityEnum) data; + item.setLabel(_(periodicity.getName())); + item.setValue(periodicity); + } + }; + } + + public PersonalTimesheetsPeriodicityEnum getSelectedPersonalTimesheetsPeriodicity() { + return configurationModel.getPersonalTimesheetsPeriodicity(); + } + + public void setSelectedPersonalTimesheetsPeriodicity( + PersonalTimesheetsPeriodicityEnum personalTimesheetsPeriodicity) { + configurationModel + .setPersonalTimesheetsPeriodicity(personalTimesheetsPeriodicity); + } + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java index 1e819dae3..7bc70d92c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java @@ -43,6 +43,7 @@ import org.libreplan.business.common.entities.Configuration; import org.libreplan.business.common.entities.EntityNameEnum; import org.libreplan.business.common.entities.EntitySequence; import org.libreplan.business.common.entities.LDAPConfiguration; +import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum; import org.libreplan.business.common.entities.ProgressType; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.common.exceptions.ValidationException; @@ -634,4 +635,16 @@ public class ConfigurationModel implements IConfigurationModel { } } + @Override + public PersonalTimesheetsPeriodicityEnum getPersonalTimesheetsPeriodicity() { + return configuration.getPersonalTimesheetsPeriodicity(); + } + + @Override + public void setPersonalTimesheetsPeriodicity( + PersonalTimesheetsPeriodicityEnum personalTimesheetsPeriodicity) { + configuration + .setPersonalTimesheetsPeriodicity(personalTimesheetsPeriodicity); + } + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/IConfigurationModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/IConfigurationModel.java index 8579cd6cb..6b8b0c037 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/IConfigurationModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/IConfigurationModel.java @@ -28,6 +28,7 @@ import org.libreplan.business.calendars.entities.BaseCalendar; import org.libreplan.business.common.entities.EntityNameEnum; import org.libreplan.business.common.entities.EntitySequence; import org.libreplan.business.common.entities.LDAPConfiguration; +import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum; import org.libreplan.business.common.entities.ProgressType; import org.libreplan.business.costcategories.entities.TypeOfWorkHours; @@ -172,4 +173,9 @@ public interface IConfigurationModel { void setMonthlyTimesheetsTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours); + PersonalTimesheetsPeriodicityEnum getPersonalTimesheetsPeriodicity(); + + void setPersonalTimesheetsPeriodicity( + PersonalTimesheetsPeriodicityEnum personalTimesheetsPeriodicity); + } diff --git a/libreplan-webapp/src/main/webapp/common/configuration.zul b/libreplan-webapp/src/main/webapp/common/configuration.zul index 892c612bd..2ab39d0ef 100644 --- a/libreplan-webapp/src/main/webapp/common/configuration.zul +++ b/libreplan-webapp/src/main/webapp/common/configuration.zul @@ -74,6 +74,13 @@ finder="TypeOfWorkHoursBandboxFinder" selectedElement="@{configurationController.monthlyTimesheetsTypeOfWorkHours, access='both'}" /> + +