[Suiviobsmer-commits] r1225 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/java/fr/ifremer/wao/ui/services wao-ui/src/main/resources/fr/ifremer/wao/ui/components
Author: bleny Date: 2011-04-21 08:36:40 +0000 (Thu, 21 Apr 2011) New Revision: 1225 Log: fix filtering on observer from sampling plan ; use of asset in Contacts ; add observers in sampling plan for admin Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-04-21 08:36:40 UTC (rev 1225) @@ -396,9 +396,9 @@ // XXX 2011 04 12 using UserFilter#observer for both samplingfilter and // contact filter may lead to buggy filters (observers filters in contacts / obsdeb // sampling plan) - if (filter.getObsProgram() == ObsProgram.OBSDEB && filter.getObserver() != null) { + if (filter.getObsProgram() == ObsProgram.OBSDEB && filter.getSampleRowObserver() != null) { query.addInElements(":sampleRowObserver", sampleRowProperty.observers()); - query.addParam("sampleRowObserver", filter.getObserver()); + query.addParam("sampleRowObserver", filter.getSampleRowObserver()); } if (logger.isDebugEnabled()) { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-21 08:36:40 UTC (rev 1225) @@ -83,6 +83,7 @@ import fr.ifremer.wao.io.csv2.Import; import fr.ifremer.wao.io.csv2.ImportModel; import fr.ifremer.wao.io.csv2.models.ContactImportExportModel; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; @@ -473,6 +474,21 @@ newContact.setEmailSent(true); } + // we can suppose a new contact default values are the one + // expected in the sampling plan, for example, in ObsDeb sampling-plan + // coordinator tells who are the observers. We can hope that the observers + // who was on the observation are the one expected + if (newContact.getObsProgram() == ObsProgram.OBSDEB) { + newContact.setObservationBeginDate(row.getDay()); + newContact.setObservationEndDate(row.getDay()); + if (CollectionUtils.isNotEmpty(row.getObservers())) { + List<WaoUser> expectedObservers = new LinkedList<WaoUser>(row.getObservers()); + newContact.setMainObserver(expectedObservers.get(0)); + newContact.setSecondaryObservers(expectedObservers); + newContact.removeSecondaryObservers(newContact.getMainObserver()); + } + } + if (newContact.getObsProgram() == ObsProgram.OBSVENTE) { // we hope in this contact, user used expected sampling strategy newContact.setSamplingStrategy(row.getSamplingStrategy()); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-21 08:36:40 UTC (rev 1225) @@ -1481,7 +1481,7 @@ } if (connectedUser.isObsDeb() && connectedUser.isObserver()) { - samplingFilter.setObserver(connectedUser.getUser()); + samplingFilter.setSampleRowObserver(connectedUser.getUser()); } samplingFilter.setOrderBy(SampleRow.PROPERTY_DAY); @@ -1511,8 +1511,16 @@ for (WaoUser observer : sampleRow.getObservers()) { - samplingFilter.setObserver(observer); + samplingFilter.setSampleRowObserver(observer); List<SampleRow> conflictingSampleRows = executeGetSampleRowsByFilter(transaction, samplingFilter); + // remove sampleRow from the list, it can't be in conflict with itself + SampleRow rowToRemove = sampleRow; + for (SampleRow conflictingSampleRow : conflictingSampleRows) { + if (sampleRow.getCode().equals(conflictingSampleRow.getCode())) { + rowToRemove = conflictingSampleRow; + } + } + conflictingSampleRows.remove(rowToRemove); if ( ! conflictingSampleRows.isEmpty()) { validationResult.setSuccess(false); Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-04-21 08:36:40 UTC (rev 1225) @@ -559,7 +559,10 @@ /************** OBSDEB ***********/ public List<WaoUser> getObservers() { - List<WaoUser> observers = serviceUser.getObservers(user.getCompany(), true); + List<WaoUser> observers = null; + if (getSampleRow().getCompany() != null) { + observers = serviceUser.getObservers(getSampleRow().getCompany(), true); + } return observers; } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-04-21 08:36:40 UTC (rev 1225) @@ -150,24 +150,22 @@ } add(SampleRow.PROPERTY_OBSERVATION_UNIT); add(SampleRow.PROPERTY_COMMENT); - if (connectedUser.isCoordinatorOrObserver()) { - add(SampleRow.PROPERTY_OBSERVERS, new SampleRowReaderPropertyConduit() { + add(SampleRow.PROPERTY_OBSERVERS, new SampleRowReaderPropertyConduit() { - /** Observers full names separated by comma */ - @Override - public String getValue(SampleRow sampleRow) { - String value = ""; - if (sampleRow.getObservers() != null) { - List<String> observersLogins = new LinkedList<String>(); - for (WaoUser observer : sampleRow.getObservers()) { - observersLogins.add(observer.getFullName()); - } - value = StringUtil.join(observersLogins, ", ", false); + /** Observers full names separated by comma */ + @Override + public String getValue(SampleRow sampleRow) { + String value = ""; + if (sampleRow.getObservers() != null) { + List<String> observersLogins = new LinkedList<String>(); + for (WaoUser observer : sampleRow.getObservers()) { + observersLogins.add(observer.getFullName()); } - return value; + value = StringUtil.join(observersLogins, ", ", false); } - }); - } + return value; + } + }); add("actions", null); } Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-21 08:36:40 UTC (rev 1225) @@ -143,12 +143,12 @@ <label>${message:wao.ui.misc.observations} :</label> <input t:type="checkbox" t:id="mammalsObservation" value="filter.mammalsObservation" /> <label for="mammalsObservation"> - <img src="${asset:context:img/eye-22px.png}" alt="${message:wao.ui.field.Contact.mammalsObservation}" /> + <img src="${asset:context:}img/eye-22px.png" alt="${message:wao.ui.field.Contact.mammalsObservation}" /> </label> <label>${message:wao.ui.field.Contact.mammalsCapture} :</label> <input t:type="checkbox" t:id="mammalsCapture" value="filter.mammalsCapture" /> <label for="mammalsCapture"> - <img src="${asset:context:img/fishing-net-22px.png}" alt="${message:wao.ui.field.Contact.mammalsCapture}" /> + <img src="${asset:context:}img/fishing-net-22px.png" alt="${message:wao.ui.field.Contact.mammalsCapture}" /> </label> </t:if> <t:if t:test="user.obsVente"> @@ -165,15 +165,15 @@ <label>${message:wao.ui.field.Contact.completeSampling}</label> <input t:type="checkbox" t:id="completeSampling" value="filter.completeSampling" /> <label for="completeSampling"> - <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.yes}" /> + <img src="${asset:context:}img/true-22px.png" alt="${message:wao.ui.misc.yes}" /> </label> <input t:type="checkbox" t:id="incompleteSampling" value="filter.incompleteSampling" /> <label t:for="incompleteSampling"> - <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.no}" /> + <img src="${asset:context:}img/false-22px.png" alt="${message:wao.ui.misc.no}" /> </label> <input t:type="checkbox" t:id="noSamplingCompleteness" value="filter.noSamplingCompleteness" /> <label t:for="noSamplingCompleteness"> - <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" /> + <img src="${asset:context:}img/help-22px.png" alt="${message:wao.ui.misc.undefined}" /> </label> </t:if> </p:else> @@ -181,28 +181,28 @@ <label>${message:wao.ui.field.Contact.validationCompany} :</label> <input t:type="checkbox" t:id="companyAccepted" value="filter.companyAccepted" /> <label for="companyAccepted"> - <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" /> + <img src="${asset:context:}img/true-22px.png" alt="${message:wao.ui.misc.accepted}" /> </label> <input t:type="checkbox" t:id="companyRefused" value="filter.companyRefused" /> <label t:for="companyRefused"> - <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" /> + <img src="${asset:context:}img/false-22px.png" alt="${message:wao.ui.misc.refused}" /> </label> <input t:type="checkbox" t:id="companyUndefined" value="filter.companyUndefined" /> <label t:for="companyUndefined"> - <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" /> + <img src="${asset:context:}img/help-22px.png" alt="${message:wao.ui.misc.undefined}" /> </label> <label>${message:wao.ui.field.Contact.validationProgram} :</label> <input t:type="checkbox" t:id="programAccepted" value="filter.programAccepted" /> <label t:for="programAccepted"> - <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" /> + <img src="${asset:context:}img/true-22px.png" alt="${message:wao.ui.misc.accepted}" /> </label> <input t:type="checkbox" t:id="programRefused" value="filter.programRefused" /> <label t:for="programRefused"> - <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" /> + <img src="${asset:context:}img/false-22px.png" alt="${message:wao.ui.misc.refused}" /> </label> <input t:type="checkbox" t:id="programUndefined" value="filter.programUndefined" /> <label t:for="programUndefined"> - <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" /> + <img src="${asset:context:}img/help-22px.png" alt="${message:wao.ui.misc.undefined}" /> </label> <t:if test="user.obsMer"> <t:unless t:test="user.observer"> Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-04-20 15:31:49 UTC (rev 1224) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-04-21 08:36:40 UTC (rev 1225) @@ -79,14 +79,14 @@ t:labelPropertyName="description" t:values="possibleValuesForFilter.observationUnitsAsList" t:selectedValue="filter.observationUnit" /> - <t:if test="user.coordinator"> + <t:unless test="user.observer"> <label for="observer">${message:wao.ui.field.SampleRow.observers}</label> <t:topiaEntitySelector t:id="observer" t:clazzName="WaoUser" t:labelPropertyName="fullName" t:values="possibleValuesForFilter.observersAsList" - t:selectedValue="filter.observer" /> - </t:if> + t:selectedValue="filter.sampleRowObserver" /> + </t:unless> <p:else> <!-- filter field for ObsMer and ObsVente --> <div class="filterRow" t:type="zone" t:id="sampleRowZone" t:update="show">
participants (1)
-
bleny@users.labs.libre-entreprise.org