Fix the remaining bits where periodicity was not taken into account

FEA: ItEr77S07PersonalTimesheetsPeriodictyConfiguration
This commit is contained in:
Manuel Rego Casasnovas 2012-08-28 13:55:58 +02:00
parent 3394f41aa2
commit 38b47b1fea
4 changed files with 34 additions and 7 deletions

View file

@ -34,10 +34,10 @@ import org.hibernate.validator.AssertTrue;
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Valid;
import org.joda.time.LocalDate;
import org.joda.time.LocalDate.Property;
import org.libreplan.business.common.IntegrationEntity;
import org.libreplan.business.common.Registry;
import org.libreplan.business.common.entities.EntitySequence;
import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum;
import org.libreplan.business.common.exceptions.InstanceNotFoundException;
import org.libreplan.business.labels.entities.Label;
import org.libreplan.business.labels.entities.LabelType;
@ -502,10 +502,14 @@ public class WorkReport extends IntegrationEntity implements
return true;
}
Property dayOfMonth = LocalDate.fromDateFields(
workReportLines.iterator().next().getDate()).dayOfMonth();
LocalDate min = dayOfMonth.withMinimumValue();
LocalDate max = dayOfMonth.withMaximumValue();
LocalDate workReportDate = LocalDate.fromDateFields(workReportLines
.iterator().next().getDate());
PersonalTimesheetsPeriodicityEnum periodicity = Registry
.getConfigurationDAO()
.getConfigurationWithReadOnlyTransaction()
.getPersonalTimesheetsPeriodicity();
LocalDate min = periodicity.getStart(workReportDate);
LocalDate max = periodicity.getEnd(workReportDate);
for (WorkReportLine line : workReportLines) {
LocalDate date = LocalDate.fromDateFields(line.getDate());

View file

@ -21,6 +21,8 @@ package org.libreplan.web.users.dashboard;
import java.util.List;
import org.libreplan.business.common.entities.Configuration;
import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum;
import org.libreplan.business.planner.entities.SpecificResourceAllocation;
import org.libreplan.business.planner.entities.Task;
import org.libreplan.business.planner.entities.TaskElement;
@ -40,4 +42,10 @@ public interface IMyTasksAreaModel {
*/
List<Task> getTasks();
/**
* Returns the {@link PersonalTimesheetsPeriodicityEnum} from
* {@link Configuration}.
*/
PersonalTimesheetsPeriodicityEnum getPersonalTimesheetsPeriodicity();
}

View file

@ -29,6 +29,7 @@ import javax.annotation.Resource;
import org.joda.time.LocalDate;
import org.libreplan.business.advance.entities.AdvanceMeasurement;
import org.libreplan.business.advance.entities.DirectAdvanceAssignment;
import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum;
import org.libreplan.business.orders.entities.OrderElement;
import org.libreplan.business.orders.entities.SumChargedEffort;
import org.libreplan.business.planner.entities.Task;
@ -121,8 +122,10 @@ public class MyTasksAreaController extends GenericForwardComposer {
LocalDate end = task.getEndAsLocalDate();
LocalDate currentDate = new LocalDate();
LocalDate min = currentDate.dayOfMonth().withMinimumValue();
LocalDate max = currentDate.dayOfMonth().withMaximumValue();
PersonalTimesheetsPeriodicityEnum periodicity = myTasksAreaModel
.getPersonalTimesheetsPeriodicity();
LocalDate min = periodicity.getStart(currentDate);
LocalDate max = periodicity.getEnd(currentDate);
if (dateBetween(start, min, max)) {
return start;

View file

@ -26,6 +26,8 @@ import java.util.List;
import org.libreplan.business.advance.entities.AdvanceMeasurement;
import org.libreplan.business.advance.entities.DirectAdvanceAssignment;
import org.libreplan.business.common.daos.IConfigurationDAO;
import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum;
import org.libreplan.business.planner.daos.IResourceAllocationDAO;
import org.libreplan.business.planner.entities.SpecificResourceAllocation;
import org.libreplan.business.planner.entities.Task;
@ -53,6 +55,9 @@ public class MyTasksAreaModel implements IMyTasksAreaModel {
@Autowired
private IScenarioManager scenarioManager;
@Autowired
private IConfigurationDAO configurationDAO;
@Override
@Transactional(readOnly = true)
public List<Task> getTasks() {
@ -103,4 +108,11 @@ public class MyTasksAreaModel implements IMyTasksAreaModel {
}
}
@Override
@Transactional(readOnly = true)
public PersonalTimesheetsPeriodicityEnum getPersonalTimesheetsPeriodicity() {
return configurationDAO.getConfiguration()
.getPersonalTimesheetsPeriodicity();
}
}