Author: bleny Date: 2012-03-12 17:48:34 +0100 (Mon, 12 Mar 2012) New Revision: 1557 Url: http://forge.codelutin.com/repositories/revision/wao/1557 Log: Anomalie #963 liste des navires incompl?\195?\168te Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2012-03-12 15:20:40 UTC (rev 1556) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2012-03-12 16:48:34 UTC (rev 1557) @@ -39,7 +39,6 @@ import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.LocationType; import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.BoatDAO; import fr.ifremer.wao.entity.BoatGroup; @@ -550,15 +549,7 @@ @Override protected BoatFilter executeNewBoatFilter(TopiaContext transaction, ConnectedUser connectedUser) throws Exception { - SamplingFilter samplingFilter = context.getServiceFactory().getServiceSampling().newSamplingFilter(connectedUser); - - // Only rows which are not finished nearly one month - if (connectedUser.isObsMer() || connectedUser.isObsVente()) { - samplingFilter.setNbMonthFinishedFromToday(-1); - } - BoatFilter boatFilter = new BoatFilterImpl(); - boatFilter.setSamplingFilter(samplingFilter); boatFilter.setObsProgram(connectedUser.getProfile().getObsProgram()); if (connectedUser.isProfessional()) { Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java 2012-03-12 15:20:40 UTC (rev 1556) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java 2012-03-12 16:48:34 UTC (rev 1557) @@ -27,6 +27,7 @@ import fr.ifremer.wao.bean.BoatFilter; import fr.ifremer.wao.bean.BoatFilterValues; import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.service.ServiceBoat; import org.apache.tapestry5.annotations.InjectComponent; @@ -35,6 +36,8 @@ import org.apache.tapestry5.annotations.SessionState; import org.apache.tapestry5.ioc.annotations.Inject; +import java.util.Date; +import java.util.LinkedList; import java.util.List; /** @@ -109,4 +112,22 @@ public String[] onProvideCompletionsFromBoatName(String input) throws WaoException { return getBoatNamesStartWith(input); } + + public List<SampleRow> getSampleRows() { + // On ne propose pas à l'utilisateur tout, on filtre pour qu'il ne puisse + // voir que les lignes de son programme (sécu) et uniquement les lignes + // dont le programme n'est pas terminé + List<SampleRow> sampleRows = new LinkedList<SampleRow>(); + for (SampleRow sampleRow : getPossibleValuesForFilter().getSamplingFilterValues().getSampleRows()) { + ObsProgram obsProgram = connectedUser.getProfile().getObsProgram(); + boolean addSampleRow = sampleRow.getObsProgram().equals(obsProgram); + if (obsProgram != ObsProgram.OBSDEB) { + addSampleRow &= sampleRow.getPeriodEnd().after(new Date()); + } + if (addSampleRow) { + sampleRows.add(sampleRow); + } + } + return sampleRows; + } } Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 2012-03-12 15:20:40 UTC (rev 1556) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 2012-03-12 16:48:34 UTC (rev 1557) @@ -64,7 +64,7 @@ <t:topiaEntitySelector t:id="sampleRow" t:clazzName="SampleRow" t:labelPropertyName="code" - t:values="possibleValuesForFilter.samplingFilterValues.sampleRowsAsList" + t:values="sampleRows" t:selectedValue="filter.samplingFilter.sampleRow" /> </div> <div class="acenter" style="white-space: nowrap;">