[Suiviobsmer-commits] r1286 - in trunk: wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
Author: bleny Date: 2011-05-17 16:36:33 +0000 (Tue, 17 May 2011) New Revision: 1286 Log: update SampleRowForm to allow modification of sample row for phone call (week in date selection, boat, no observation unit) Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java trunk/wao-ui/src/main/webapp/ContactForm.tml trunk/wao-ui/src/main/webapp/SampleRowForm.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -142,6 +142,11 @@ } @Override + public String getDescription() { + return getImmatriculation() + " - " + getName(); + } + + @Override public String toString() { return getName() + " (" + getImmatriculation() + ")"; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -478,4 +478,14 @@ public ObservationType getObservationType() { return ObservationType.valueOf(getObservationTypeOrdinal()); } + + @Override + public boolean isPhoneCall() { + return ObservationType.PHONE_CALL.equals(getObservationType()); + } + + @Override + public boolean isFieldWorkObservation() { + return ObservationType.FIELD_WORK_OBSERVATION.equals(getObservationType()); + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -469,6 +469,15 @@ } } + protected void compareBoats() { + if (oldRow == null || oldRow.getBoat() == null) { + addChange("Le navire associé est " + newRow.getBoat().getDescription()); + } else if ( ! newRow.getBoat().equals(oldRow.getBoat())) { + addChange("Le navire associé passe de '" + oldRow.getBoat().getDescription() + + " à " + newRow.getBoat().getDescription()); + } + } + private void compareBlankRows() { if (oldRow == null || oldRow.isBlankRow() != newRow.isBlankRow()) { if (newRow.isBlankRow()) { @@ -524,7 +533,11 @@ } if (ObsProgram.OBSDEB.equals(obsProgram)) { compareDays(); - compareObservationUnits(); + if (newRow.isPhoneCall()) { + compareBoats(); + } else { + compareObservationUnits(); + } compareObservers(); compareBlankRows(); } 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 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -668,4 +668,11 @@ return boatFilter; } + + @Override + protected List<Boat> executeGetAllActiveBoats(TopiaContext transaction) throws Exception { + BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction); + List<Boat> boats = dao.findAllByActive(true); + return boats; + } } 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-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -817,7 +817,9 @@ } @Override - protected SampleRow executeNewOperation(TopiaContext transaction, ConnectedUser connectedUser, ObservationType observationType) { + protected SampleRow executeNewSampleRow(TopiaContext transaction, + ConnectedUser connectedUser, + ObservationType observationType) { SampleRow newSampleRow = executeNewSampleRow(connectedUser); newSampleRow.setObservationType(observationType); return newSampleRow; Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-05-17 16:36:33 UTC (rev 1286) @@ -150,6 +150,7 @@ wao.error.serviceBoat.exportBoatCsv= wao.error.serviceBoat.getActivityCalendarLogAccessFile= wao.error.serviceBoat.getActivityCalendarLogFile= +wao.error.serviceBoat.getAllActiveBoats= wao.error.serviceBoat.getBoat= wao.error.serviceBoat.getBoatNamesStartWith= wao.error.serviceBoat.getBoatsByFilter= Modified: trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-05-17 16:36:33 UTC (rev 1286) @@ -150,6 +150,7 @@ wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés wao.error.serviceBoat.getActivityCalendarLogAccessFile= wao.error.serviceBoat.getActivityCalendarLogFile= +wao.error.serviceBoat.getAllActiveBoats= wao.error.serviceBoat.getBoat=Impossible de charger le navire wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer les navires avec un nom commencant par '%1$s' wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -26,6 +26,7 @@ import fr.ifremer.wao.bean.ContactFilterImpl; import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.ObsProgram; +import fr.ifremer.wao.bean.ObservationType; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.bean.ValidationResult; import fr.ifremer.wao.entity.Contact; @@ -236,6 +237,18 @@ return result; } + public SelectModel getObservationTypeSelectModel() { + EnumSelectModel selectModel = null; + if (getContact().getSampleRow().isFieldWorkObservation()) { + ObservationType[] allowedObservationTypes = { + ObservationType.FIELD_WORK_OBSERVATION, + ObservationType.FIELD_WORK_SURVEY }; + selectModel = new EnumSelectModel(ObservationType.class, messages, + allowedObservationTypes); + } + return selectModel; + } + @Inject private ServiceReferential serviceReferential; 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-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-05-17 16:36:33 UTC (rev 1286) @@ -26,6 +26,7 @@ import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.bean.BoatFilter; import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.SamplingFilter; @@ -79,6 +80,7 @@ import org.apache.tapestry5.ioc.services.PropertyAccess; import org.apache.tapestry5.services.BeanModelSource; import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.DateUtil; import org.nuiton.util.PeriodDates; import org.nuiton.util.StringUtil; import org.slf4j.Logger; @@ -553,6 +555,17 @@ /************** OBSDEB ***********/ + /** get the format of date needed to fill the value of SampleRow#expectedDate */ + public String getExpectedDateFormat() { + String expectedDateFormat; + if (getSampleRow().isPhoneCall()) { + expectedDateFormat = "w/yyyy"; + } else { + expectedDateFormat = "dd/MM/yyyy"; + } + return expectedDateFormat; + } + public List<WaoUser> getObservers() { List<WaoUser> observers = serviceUser.getObservers(getSampleRow().getCompany(), true); return observers; @@ -563,6 +576,11 @@ return observationUnits; } + public List<Boat> getBoats() { + List<Boat> boats = serviceBoat.getAllActiveBoats(); + return boats; + } + /*************************** SAMPLE ROW ***********************************/ private String sampleRowId; Modified: trunk/wao-ui/src/main/webapp/ContactForm.tml =================================================================== --- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-05-17 16:36:33 UTC (rev 1286) @@ -224,13 +224,16 @@ <t:block id="editObservationReport"> <t:if test="connectedUser.obsdeb"> - <div> - <label for="observationType">${message:wao.ui.field.Contact.observationType}</label> - <input t:type="select" - t:id="observationType" - t:value="contact.observationType" - t:validate="required" /> - </div> + <t:if test="observationTypeSelectModel"> + <div> + <label for="observationType">${message:wao.ui.field.Contact.observationType}</label> + <input t:type="select" + t:id="observationType" + t:value="contact.observationType" + t:model="observationTypeSelectModel" + t:validate="required" /> + </div> + </t:if> </t:if> <div> <label for="contactState">${message:wao.ui.field.Contact.contactState}</label> Modified: trunk/wao-ui/src/main/webapp/SampleRowForm.tml =================================================================== --- trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2011-05-17 14:33:43 UTC (rev 1285) +++ trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2011-05-17 16:36:33 UTC (rev 1286) @@ -56,21 +56,7 @@ t:selectedValue="sampleRow.company" /> </div> </t:if> - <div class="t-beaneditor-row"> - <label for="expectedDate">${message:wao.ui.field.SampleRow.expectedDate}</label> - <input t:type="datefield" t:id="expectedDate" class="date" value="sampleRow.expectedDate" /> - </div> <div class="acenter"> - <label for="observationUnit">${message:wao.ui.field.SampleRow.observationUnit}</label> - </div> - <div class="acenter"> - <t:topiaEntitySelector t:id="observationUnit" - t:clazzName="TerrestrialDivision" - t:labelPropertyName="description" - t:values="observationUnits" - t:selectedValue="sampleRow.observationUnit" /> - </div> - <div class="acenter"> <label for="observers">${message:wao.ui.field.SampleRow.observers}</label> </div> <div class="acenter"> @@ -82,6 +68,34 @@ t:selectedValues="sampleRow.observers" size="6"/> </div> + <div class="t-beaneditor-row"> + <label for="expectedDate">${message:wao.ui.field.SampleRow.expectedDate}</label> + <input t:type="datefield" + t:id="expectedDate" + t:format="${expectedDateFormat}" + class="date" + value="sampleRow.expectedDate" /> + </div> + <t:if test="sampleRow.phoneCall"> + <label for="boat">${message:wao.ui.field.SampleRow.boat}</label> + <t:topiaEntitySelector t:id="boat" + t:clazzName="Boat" + t:labelPropertyName="description" + t:values="boats" + t:selectedValue="sampleRow.boat" /> + </t:if> + <t:if test="sampleRow.fieldWorkObservation"> + <div class="acenter"> + <label for="observationUnit">${message:wao.ui.field.SampleRow.observationUnit}</label> + </div> + <div class="acenter"> + <t:topiaEntitySelector t:id="observationUnit" + t:clazzName="TerrestrialDivision" + t:labelPropertyName="description" + t:values="observationUnits" + t:selectedValue="sampleRow.observationUnit" /> + </div> + </t:if> </fieldset> </t:unless> </t:block>
participants (1)
-
bleny@users.labs.libre-entreprise.org