Add option to set personal timesheets periodicity in configuration window

FEA: ItEr77S07PersonalTimesheetsPeriodictyConfiguration
This commit is contained in:
Manuel Rego Casasnovas 2012-08-27 17:08:17 +02:00
parent 87c0ffb212
commit b97b54321b
4 changed files with 52 additions and 0 deletions

View file

@ -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<PersonalTimesheetsPeriodicityEnum> 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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}

View file

@ -74,6 +74,13 @@
finder="TypeOfWorkHoursBandboxFinder"
selectedElement="@{configurationController.monthlyTimesheetsTypeOfWorkHours, access='both'}" />
</row>
<row>
<label value="${i18n:_('Personal timesheets peridocity')}" />
<listbox model="@{configurationController.personalTimesheetsPeriodicities}"
itemRenderer="@{configurationController.personalTimesheetsPeriodicityRenderer}"
selectedItem="@{configurationController.selectedPersonalTimesheetsPeriodicity}"
mold="select" />
</row>
<row>
<label
value="${i18n:_('Show progress')}" />