[Suiviobsmer-commits] r963 - in trunk: wao-business/src/main/filters wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/io/csv2 wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/test/java/fr/ifremer/wao wao-business/src/test/java/fr/ifremer/wao/entity wao-business/src/test/java/fr/ifremer/wao/service wao-business/src/test/resou
Author: bleny Date: 2011-01-28 16:54:10 +0000 (Fri, 28 Jan 2011) New Revision: 963 Log: split contactState values Modified: trunk/wao-business/src/main/filters/Wao.properties trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStatus.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.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/test/java/fr/ifremer/wao/AbstractServiceTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java trunk/wao-business/src/test/resources/import/contacts.csv trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java trunk/wao-ui/src/main/webapp/ContactForm.tml Modified: trunk/wao-business/src/main/filters/Wao.properties =================================================================== --- trunk/wao-business/src/main/filters/Wao.properties 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/filters/Wao.properties 2011-01-28 16:54:10 UTC (rev 963) @@ -51,7 +51,7 @@ wao.version=${project.version} ###### Since 1.5 -## Email used when contact is set to BOARDING_DONE state +## Email used when contact is set to OBSERVATION_DONE state wao.contactDone.email=admin at wao.org ## Server path for chart generation Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-01-28 16:54:10 UTC (rev 963) @@ -70,11 +70,11 @@ String oldValue = null; switch (contactState) { case CONTACT_START : oldValue = "Contact pris"; break; - case BOARDING_EXPECTED : oldValue = "Embarquement programmé"; break; - case BOARDING_DONE : oldValue = "Embarquement réalisé"; break; - case BOAT_UNAVAILABLE : oldValue = "Non abouti"; break; - case BOAT_REFUSED : oldValue = "Refus"; break; - case BOAT_DEFINITIVE_REFUSED : oldValue = "Refus définitif"; break; + case OBSERVATION_EXPECTED: oldValue = "Embarquement programmé"; break; + case OBSERVATION_DONE: oldValue = "Embarquement réalisé"; break; + case OBSERVATION_CANCELLED: oldValue = "Non abouti"; break; + case CONTACT_REFUSED: oldValue = "Refus"; break; + case CONTACT_DEFINITELY_REFUSED: oldValue = "Refus définitif"; break; } return oldValue; } @@ -112,12 +112,12 @@ queries.add("ALTER TABLE SampleMonth ADD estimatedTidesValue INTEGER;"); // Calculate estimatedTidesValue for all existing contacts - // estimatedTidesValue = nbContacts with state BOARDING_DONE + // estimatedTidesValue = nbContacts with state OBSERVATION_DONE // sampleRows must match + tideBeginDate must match with periodDate String subquery = " SELECT COUNT(*) FROM Contact C" + " WHERE C.sampleRow = S.sampleRow" + - " AND C.state = " + ContactState.BOARDING_DONE.ordinal() + + " AND C.state = " + ContactState.OBSERVATION_DONE.ordinal() + " AND date_part('month', C.tideBeginDate) = " + "date_part('month', S.periodDate)" + " AND date_part('year', C.tideBeginDate) = " + Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2011-01-28 16:54:10 UTC (rev 963) @@ -26,6 +26,11 @@ import fr.ifremer.wao.WaoUtils; +import java.sql.Array; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import static org.nuiton.i18n.I18n.n_; /** @@ -33,35 +38,57 @@ * {@link fr.ifremer.wao.entity.Contact} entity. Don't change the enum values * order. * + * A {@link fr.ifremer.wao.entity.Contact} is always in a given state. Some + * states are final, meaning that there is change the state. Some others + * state are noted as unfinished, it means that this state (either final or + * not) imples that observers, for any reason, was not able to collect + * expected data. + * + * Some of the values of the enum may not be used by all + * {@link fr.ifremer.wao.bean.ObsProgram}. That's why method or provided + * to know which values are allowed for a given program. * Created: 3 déc. 2009 * * @author fdesbois <fdesbois at codelutin.com> */ public enum ContactState { - CONTACT_START(n_("ContactState.CONTACT_START"), false, false), - BOARDING_EXPECTED(n_("ContactState.BOARDING_EXPECTED"), false, false), + /** Usually, the first step, observer just contacted someone */ + CONTACT_START(n_("ContactState.CONTACT_START"), false, false, false), - BOARDING_DONE(n_("ContactState.BOARDING_DONE"), true, false), + /** Observer has now someone to meet */ + OBSERVATION_EXPECTED(n_("ContactState.OBSERVATION_EXPECTED"), false, false, true), - BOAT_UNAVAILABLE(n_("ContactState.BOAT_UNAVAILABLE"), true, true), + /** Observation was done, all data have been collected. Everything is fine */ + OBSERVATION_DONE(n_("ContactState.OBSERVATION_DONE"), true, false, true), - BOAT_REFUSED(n_("ContactState.BOAT_REFUSED"), true ,true), + /** Observer failed to collect data, weather or any other circumstances made data collection impossible */ + OBSERVATION_CANCELLED(n_("ContactState.OBSERVATION_CANCELLED"), true, true, true), - BOAT_DEFINITIVE_REFUSED(n_("ContactState.BOAT_DEFINITIVE_REFUSED"), true, true); + /** After a contact start, people contacted refused the observation. Observer may try later. */ + CONTACT_REFUSED(n_("ContactState.CONTACT_REFUSED"), true ,true, false), + /** After a contact refused, people contacted still refuse the observation. Observer may not try later. */ + CONTACT_DEFINITELY_REFUSED(n_("ContactState.CONTACT_DEFINITELY_REFUSED"), true, true, false); + private String i18nKey; + /** if true, the state may not be changed. */ private boolean finalState; + /** if true, observation in this state has no collected data */ private boolean unfinishedState; + /** true if this value can be used for a contact of program {@link fr.ifremer.wao.bean.ObsProgram#OBSVENTE} */ + protected boolean allowedForObsVente; + /** @deprecated I18N should be done properly by tapestry */ @Deprecated - ContactState(String i18nKey, boolean finalState, boolean unfinishedState) { + ContactState(String i18nKey, boolean finalState, boolean unfinishedState, boolean allowedForObsVente) { this.i18nKey = i18nKey; this.finalState = finalState; this.unfinishedState = unfinishedState; + this.allowedForObsVente = allowedForObsVente; } public boolean isFinalState() { @@ -87,6 +114,28 @@ return null; } + public boolean isAllowed(ObsProgram obsProgram) { + boolean allowed; + if (obsProgram == ObsProgram.OBSMER) { + allowed = true; + } else if (obsProgram == ObsProgram.OBSVENTE) { + allowed = allowedForObsVente; + } else { + throw new IllegalArgumentException(); + } + return allowed; + } + + public static List<ContactState> getAllowedStates(ObsProgram obsProgram) { + List<ContactState> allowedStates = new ArrayList<ContactState>(); + for (ContactState contactState : values()) { + if (contactState.isAllowed(obsProgram)) { + allowedStates.add(contactState); + } + } + return allowedStates; + } + @Override public String toString() { return WaoUtils.translate(i18nKey); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStatus.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStatus.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactStatus.java 2011-01-28 16:54:10 UTC (rev 963) @@ -54,7 +54,7 @@ * on tides value : * <ul> * <li> - * STATE : check the change on {@link ContactState#BOARDING_DONE} state. + * STATE : check the change on {@link ContactState#OBSERVATION_DONE} state. * Use {@link #isContactDoneChanged() } method to check the change. * This change is important to manage estimated tides value on sampleMonth * referenced by the contact retrieve with {@link #getSampleMonth(TopiaContext)} @@ -129,7 +129,7 @@ /** * Return true if oldContact state is not the same as newContact state. - * Check only for {@link ContactState#BOARDING_DONE} changed. + * Check only for {@link ContactState#OBSERVATION_DONE} changed. * * @return true if contact state has changed. * @see #isContactDone(Context) @@ -329,13 +329,13 @@ } /** - * Return true if contact state is {@link ContactState#BOARDING_DONE} + * Return true if contact state is {@link ContactState#OBSERVATION_DONE} * depends on {@code context}. To check oldContact state, use * {@link Context#OLD} and to check newContact state, use * {@link Context#NEW}. A null contact will return false. * * @param context to check the good contact - * @return true if the contact state is {@link ContactState#BOARDING_DONE} + * @return true if the contact state is {@link ContactState#OBSERVATION_DONE} */ protected boolean isContactDone(Context context) { Contact contact = context == Context.OLD ? oldContact : newContact; @@ -345,7 +345,7 @@ if (logger.isTraceEnabled()) { logger.trace(context + " contact state = " + contactState); } - boolean contactDone = ContactState.BOARDING_DONE.equals(contactState); + boolean contactDone = ContactState.OBSERVATION_DONE.equals(contactState); return contactDone; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2011-01-28 16:54:10 UTC (rev 963) @@ -99,7 +99,7 @@ // Construct query TopiaQuery query = createQuery(contactProperty.$alias()). - addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()). + addEquals(contactProperty.state(), ContactState.OBSERVATION_DONE.ordinal()). addEquals(contactProperty.validationCompany(), Boolean.TRUE). addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-01-28 16:54:10 UTC (rev 963) @@ -36,8 +36,8 @@ throw new IOException("can't read headers"); } - if (log.isInfoEnabled()) { - log.info("headers of the CSV file are : " + Arrays.toString(reader.getHeaders())); + if (log.isDebugEnabled()) { + log.debug("headers of the CSV file are : " + Arrays.toString(reader.getHeaders())); } ValidationResult validationResult = new ValidationResultImpl(); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java 2011-01-28 16:54:10 UTC (rev 963) @@ -204,17 +204,17 @@ append("</p>\n"). append(" <p>"). append("Réalisés ("). - append(ContactState.BOARDING_EXPECTED). + append(ContactState.OBSERVATION_EXPECTED). append(", "). - append(ContactState.BOARDING_DONE). + append(ContactState.OBSERVATION_DONE). append(") : ").append(nbRealized). append(" (").append(realized).append(" %)"). append("</p>\n"). append(" <p>"). append("Refusés ("). - append(ContactState.BOAT_REFUSED). + append(ContactState.CONTACT_REFUSED). append(", "). - append(ContactState.BOAT_DEFINITIVE_REFUSED). + append(ContactState.CONTACT_DEFINITELY_REFUSED). append(") : ").append(nbRefused). append(" (").append(refused).append(" %)"). append("</p>\n"). @@ -222,7 +222,7 @@ append("Autres ("). append(ContactState.CONTACT_START). append(", "). - append(ContactState.BOAT_UNAVAILABLE). + append(ContactState.OBSERVATION_CANCELLED). append(") : ").append(nbOther). append(" (").append(other).append(" %)"). append("</p>\n"); 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-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-01-28 16:54:10 UTC (rev 963) @@ -78,7 +78,6 @@ import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.DateUtil; -import org.nuiton.util.DateUtils; import org.nuiton.util.StringUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -314,7 +313,7 @@ //context.prepareTopiaId(Contact.class, contact); if (delete) { // Need to decrement estimated value if contactFound has - // BOARDING_DONE state and may be real value (normally not allowed) + // OBSERVATION_DONE state and may be real value (normally not allowed) updateSampleMonthTidesValue(transaction, contactFound, null, true); // Execute delete @@ -453,7 +452,7 @@ } } // Embarquement Réalisé - } else if (success && contactState.equals(ContactState.BOARDING_DONE)) { + } else if (success && contactState.equals(ContactState.OBSERVATION_DONE)) { if (observationBeginDate == null) { success = false; @@ -1007,7 +1006,7 @@ /** * Update the SampleMonth data for tidesValue (estimated and real) from * {@code contact} compared to its old state {@code oldContact}. The - * estimated is update when contact state {@link ContactState#BOARDING_DONE} + * estimated is update when contact state {@link ContactState#OBSERVATION_DONE} * is changed. The real is update when contact validationCompany is changed. * The {@code calculateReal} flag determines if the real tides has to be * calculated or not. Three cases : @@ -1017,7 +1016,7 @@ * <li>DELETE : {@code oldContact} is defined and {@code contact} = null</li> * </ul> * <p> - * <strong>Estimated Tides value</strong> = nbContacts with BOARDING_DONE + * <strong>Estimated Tides value</strong> = nbContacts with OBSERVATION_DONE * state and not refused by program (validationProgram != FALSE) * </p> * <p> @@ -1068,7 +1067,7 @@ // decrement real tides oldMonth.addRealTideTime(-1); } - // Decrement estimated only if old state is BOARDING_DONE + // Decrement estimated only if old state is OBSERVATION_DONE // and old validationProgram is NOT FALSE // the estimated value has already been decremented during // refused @@ -1091,8 +1090,8 @@ contact.getContactState() : oldContact.getContactState(); // Validation of contact has changed in status, modify realTides - // Only calculate real for a currentState equals to BOARDING_DONE - if (calculateReal && ContactState.BOARDING_DONE.equals(currentState) && + // Only calculate real for a currentState equals to OBSERVATION_DONE + if (calculateReal && ContactState.OBSERVATION_DONE.equals(currentState) && (status.isContactValidateChanged() || tideBeginDateChanged)) { SampleMonth sampleMonth = status.getSampleMonth(transaction); @@ -1182,9 +1181,9 @@ return false; } - // Only for states BOARDING_DONE and BOARDING_EXPECTED - if (!contact.getContactState().equals(ContactState.BOARDING_DONE) && - !contact.getContactState().equals(ContactState.BOARDING_EXPECTED)) { + // Only for states OBSERVATION_DONE and BOARDING_EXPECTED + if (!contact.getContactState().equals(ContactState.OBSERVATION_DONE) && + !contact.getContactState().equals(ContactState.OBSERVATION_EXPECTED)) { return false; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-01-28 16:54:10 UTC (rev 963) @@ -323,7 +323,7 @@ WaoQueryBuilder builder = context.newQueryBuilder(); ContactProperty contactProperty = builder.initializeForContact(); TopiaQuery query = builder.applySamplingFilter(filter). - addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()); + addEquals(contactProperty.state(), ContactState.OBSERVATION_DONE.ordinal()); if (filter.getEstimatedTides()) { query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE); @@ -410,7 +410,7 @@ WaoQueryBuilder builder = context.newQueryBuilder(); ContactProperty contactProperty = builder.initializeForContact(); TopiaQuery query = builder.applySamplingFilter(filter). - addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()); + addEquals(contactProperty.state(), ContactState.OBSERVATION_DONE.ordinal()); if (filter.getEstimatedTides()) { query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE); @@ -597,7 +597,7 @@ WaoQueryBuilder builder = context.newQueryBuilder(); ContactProperty contactProperty = builder.initializeForContact(); TopiaQuery query = builder.applySamplingFilter(filter). - addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()); + addEquals(contactProperty.state(), ContactState.OBSERVATION_DONE.ordinal()); if (filter.getEstimatedTides()) { query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE); @@ -682,7 +682,7 @@ contactProperty.mainObserverProperty().companyProperty(); TopiaQuery query = builder.applySamplingFilter(filter). - addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()). + addEquals(contactProperty.state(), ContactState.OBSERVATION_DONE.ordinal()). // Set the results wanted : by company, by reliability, // get number of each reliability level @@ -839,12 +839,12 @@ } switch (state) { - case BOARDING_DONE: - case BOARDING_EXPECTED: + case OBSERVATION_DONE: + case OBSERVATION_EXPECTED: data.incValue(ContactPieChartConstant.REALIZED.ordinal(), count); break; - case BOAT_REFUSED: - case BOAT_DEFINITIVE_REFUSED: + case CONTACT_REFUSED: + case CONTACT_DEFINITELY_REFUSED: data.incValue(ContactPieChartConstant.REFUSED.ordinal(), count); break; default: 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-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-01-28 16:54:10 UTC (rev 963) @@ -1,12 +1,12 @@ ContactPieChartConstant.OTHER=Others ContactPieChartConstant.REALIZED=Realized ContactPieChartConstant.REFUSED=Refused -ContactState.BOARDING_DONE=Observation done -ContactState.BOARDING_EXPECTED=Observation expected -ContactState.BOAT_DEFINITIVE_REFUSED=Observation definitely refused -ContactState.BOAT_REFUSED=Refused -ContactState.BOAT_UNAVAILABLE=Not completed -ContactState.CONTACT_START=Observation asked +ContactState.CONTACT_DEFINITELY_REFUSED=Definitely refused +ContactState.CONTACT_REFUSED=Refused +ContactState.CONTACT_START=Contact started +ContactState.OBSERVATION_CANCELLED=Cancelled +ContactState.OBSERVATION_DONE=Observation done +ContactState.OBSERVATION_EXPECTED=Observation expected DataReliability.CORRECTION_ASKED=Correction asked DataReliability.DOUBTFUL=Doubtful DataReliability.NOT_PROVIDED=Not provided 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-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-01-28 16:54:10 UTC (rev 963) @@ -1,12 +1,12 @@ ContactPieChartConstant.OTHER=Autres ContactPieChartConstant.REALIZED=R\u00E9alis\u00E9s ContactPieChartConstant.REFUSED=Refus\u00E9s -ContactState.BOARDING_DONE=Observation r\u00E9alis\u00E9e -ContactState.BOARDING_EXPECTED=Observation programm\u00E9e -ContactState.BOAT_DEFINITIVE_REFUSED=Refus d\u00E9finitif -ContactState.BOAT_REFUSED=Refus -ContactState.BOAT_UNAVAILABLE=Non abouti -ContactState.CONTACT_START=Observation demand\u00E9e +ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00E9finitif +ContactState.CONTACT_REFUSED=Refus +ContactState.CONTACT_START=Contact pris +ContactState.OBSERVATION_CANCELLED=Annul\u00E9e +ContactState.OBSERVATION_DONE=Observation r\u00E9alis\u00E9e +ContactState.OBSERVATION_EXPECTED=Observation programm\u00E9e DataReliability.CORRECTION_ASKED=Correction demand\u00E9e DataReliability.DOUBTFUL=Douteuse DataReliability.NOT_PROVIDED=Non contr\u00F4l\u00E9e Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java 2011-01-28 16:54:10 UTC (rev 963) @@ -568,7 +568,7 @@ contact1.setBoat(boat); contact1.setMainObserver(user); contact1.setSampleRow(row); - contact1.setContactState(ContactState.BOARDING_DONE); + contact1.setContactState(ContactState.OBSERVATION_DONE); Date begin = DateUtil.createDate(3, 3, 2010); contact1.setObservationBeginDate(begin); serviceContact.saveContact(contact1, false); @@ -577,7 +577,7 @@ contact2.setBoat(boat); contact2.setMainObserver(user); contact2.setSampleRow(row); - contact2.setContactState(ContactState.BOARDING_DONE); + contact2.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 10, 2010); contact2.setObservationBeginDate(begin); serviceContact.saveContact(contact2, false); @@ -586,7 +586,7 @@ contact3.setBoat(boat); contact3.setMainObserver(user); contact3.setSampleRow(row); - contact3.setContactState(ContactState.BOAT_REFUSED); + contact3.setContactState(ContactState.CONTACT_REFUSED); begin = DateUtil.createDate(3, 5, 2010); contact3.setTopiaCreateDate(begin); serviceContact.saveContact(contact3, false); @@ -596,7 +596,7 @@ contact4.setBoat(boat2); contact4.setMainObserver(user2); contact4.setSampleRow(row2); - contact4.setContactState(ContactState.BOARDING_EXPECTED); + contact4.setContactState(ContactState.OBSERVATION_EXPECTED); begin = DateUtil.createDate(3, 3, 2010); contact4.setTopiaCreateDate(begin); serviceContact.saveContact(contact4, false); @@ -605,7 +605,7 @@ contact5.setBoat(boat2); contact5.setMainObserver(user2); contact5.setSampleRow(row2); - contact5.setContactState(ContactState.BOAT_UNAVAILABLE); + contact5.setContactState(ContactState.OBSERVATION_CANCELLED); begin = DateUtil.createDate(3, 5, 2010); contact5.setTopiaCreateDate(begin); serviceContact.saveContact(contact5, false); @@ -615,7 +615,7 @@ contact6.setBoat(boat2); contact6.setMainObserver(user2); contact6.setSampleRow(row2); - contact6.setContactState(ContactState.BOAT_UNAVAILABLE); + contact6.setContactState(ContactState.OBSERVATION_CANCELLED); begin = DateUtil.createDate(3, 3, 2010); contact6.setTopiaCreateDate(begin); contact6.setValidationProgram(Boolean.FALSE); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-01-28 16:54:10 UTC (rev 963) @@ -141,7 +141,7 @@ // contact still open Assert.assertFalse(result); - contact1.setContactState(ContactState.BOAT_DEFINITIVE_REFUSED); + contact1.setContactState(ContactState.CONTACT_DEFINITELY_REFUSED); contact1.setValidationProgram(Boolean.TRUE); serviceContact.saveContact(contact1, false); @@ -149,7 +149,7 @@ // contact have a definitive refused for this boat Assert.assertTrue(result); - contact1.setContactState(ContactState.BOARDING_DONE); + contact1.setContactState(ContactState.OBSERVATION_DONE); contact1.setObservationBeginDate(DateUtil.createDate(3, 3, 2010)); serviceContact.saveContact(contact1, false); @@ -157,14 +157,14 @@ // contact is finished Assert.assertTrue(result); - contact1.setContactState(ContactState.BOAT_UNAVAILABLE); + contact1.setContactState(ContactState.OBSERVATION_CANCELLED); serviceContact.saveContact(contact1, false); result = boat.canCreateContact(ObsProgram.OBSMER, company); // contact is finished Assert.assertTrue(result); - contact1.setContactState(ContactState.BOAT_REFUSED); + contact1.setContactState(ContactState.CONTACT_REFUSED); serviceContact.saveContact(contact1, false); result = boat.canCreateContact(ObsProgram.OBSMER, company); @@ -233,7 +233,7 @@ ServiceContact serviceContact = manager.getServiceContact(); // First contact : OK Contact contact1 = serviceContact.getNewContact(user, row, boat); - contact1.setContactState(ContactState.BOARDING_DONE); + contact1.setContactState(ContactState.OBSERVATION_DONE); Date begin = DateUtil.createDate(3, 5, 2010); contact1.setObservationBeginDate(begin); contact1.setValidationCompany(Boolean.TRUE); @@ -247,7 +247,7 @@ Contact contact2 = serviceContact.getNewContact(user, row, boat); // Second contact with ValidationProgram = FALSE - contact2.setContactState(ContactState.BOARDING_DONE); + contact2.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 8, 2010); contact2.setObservationBeginDate(begin); contact2.setValidationCompany(Boolean.TRUE); @@ -259,7 +259,7 @@ Contact contact3 = serviceContact.getNewContact(user, row, boat); // Third contact with tideBeginDate < fromDate - contact3.setContactState(ContactState.BOARDING_DONE); + contact3.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 3, 2010); contact3.setObservationBeginDate(begin); contact3.setValidationCompany(Boolean.TRUE); @@ -270,7 +270,7 @@ Contact contact4 = serviceContact.getNewContact(user2, row2, boat); // Fourth contact : OK with an other company - contact4.setContactState(ContactState.BOARDING_DONE); + contact4.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 5, 2010); contact4.setObservationBeginDate(begin); contact4.setValidationCompany(Boolean.TRUE); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java 2011-01-28 16:54:10 UTC (rev 963) @@ -246,12 +246,12 @@ when(contact.getValidationProgram()).thenReturn(null); /** EXEC METHOD **/ - log.info("test 1 : ContactState changed from null to BOARDING_DONE" + + log.info("test 1 : ContactState changed from null to OBSERVATION_DONE" + " -> increment estimated tides value"); TopiaContext transaction = manager.getContext().beginTransaction(); try { when(contact.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); service.updateSampleMonthTidesValue(transaction, null, contact, false); @@ -264,15 +264,15 @@ log.info("test 1 : verification sampleMonth estimated tides = 1"); checkTidesValue(1, false); - log.info("test 2 : ContactState changed from BOARDING_DONE to " + - "BOAT_REFUSED -> decrement estimated tides value"); + log.info("test 2 : ContactState changed from OBSERVATION_DONE to " + + "CONTACT_REFUSED -> decrement estimated tides value"); transaction = manager.getContext().beginTransaction(); try { when(contactReference.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); when(contact.getContactState()). - thenReturn(ContactState.BOAT_REFUSED); + thenReturn(ContactState.CONTACT_REFUSED); service.updateSampleMonthTidesValue(transaction, contactReference, contact, false); @@ -285,9 +285,9 @@ log.info("test 2 : verification sampleMonth estimated tides = 0"); checkTidesValue(0, false); - // Reset contactState to BOARDING_DONE for next test + // Reset contactState to OBSERVATION_DONE for next test when(contact.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); log.info("test 3 : CompanyValidation changed from null to " + "FALSE -> do nothing"); @@ -353,9 +353,9 @@ transaction = manager.getContext().beginTransaction(); try { // Will update estimatedTides up to 1 - // contact has already BOARDING_DONE + // contact has already OBSERVATION_DONE when(contactReference.getContactState()). - thenReturn(ContactState.BOARDING_EXPECTED); + thenReturn(ContactState.OBSERVATION_EXPECTED); // Will update realTides up to 1 // contact has already validationCompany = TRUE @@ -379,7 +379,7 @@ transaction = manager.getContext().beginTransaction(); try { when(contactReference.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); service.updateSampleMonthTidesValue(transaction, contactReference, null, true); @@ -397,12 +397,12 @@ " -> decrement estimated tides from oldMonth"); transaction = manager.getContext().beginTransaction(); try { - // contactReference BOARDING_DONE, validations true/true - // contact BOARDING_DONE, validations true/true + // contactReference OBSERVATION_DONE, validations true/true + // contact OBSERVATION_DONE, validations true/true when(contactReference.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); when(contact.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); when(contact.getObservationBeginDate()). thenReturn(DateUtil.createDate(3, 4, 2010)); @@ -452,7 +452,7 @@ // Initialize correct old status in contactReference when(contactReference.getValidationCompany()).thenReturn(Boolean.TRUE); when(contactReference.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); when(contactReference.getValidationProgram()).thenReturn(null); @@ -482,7 +482,7 @@ try { when(contact.getValidationCompany()).thenReturn(Boolean.TRUE); when(contact.getContactState()). - thenReturn(ContactState.BOARDING_DONE); + thenReturn(ContactState.OBSERVATION_DONE); when(contact.getValidationProgram()).thenReturn(Boolean.FALSE); service.updateSampleMonthTidesValue(transaction, contactReference, @@ -543,7 +543,7 @@ prepareData(true, true); when(reader.get(CONTACT.CONT_ETAT.name())). - thenReturn(ContactState.BOARDING_DONE.name()); + thenReturn(ContactState.OBSERVATION_DONE.name()); when(reader.get(CONTACT.OBSERV_ID.name())). thenReturn(observer.getLogin()); when(reader.get(SAMPLING.PLAN_CODE.name())). @@ -594,7 +594,7 @@ service.loadContactCsv(reader, result, false); Date createDate = DateUtil.createDate(18,3,2010); assertEquals(createDate, result.getTopiaCreateDate()); - assertEquals(ContactState.BOARDING_DONE, result.getContactState()); + assertEquals(ContactState.OBSERVATION_DONE, result.getContactState()); assertEquals(observer, result.getMainObserver()); assertEquals(sampleRow, result.getSampleRow()); assertEquals(boat, result.getBoat()); @@ -647,7 +647,7 @@ checkImportError(Contact.PROPERTY_STATE); // Reinit state when(reader.get(CONTACT.CONT_ETAT.name())). - thenReturn(ContactState.BOARDING_DONE.name()); + thenReturn(ContactState.OBSERVATION_DONE.name()); } protected void checkImportError(String field) throws TopiaException { @@ -725,14 +725,14 @@ } } - log.info("test 2 : Update the contact with state BOARDING_DONE, " + + log.info("test 2 : Update the contact with state OBSERVATION_DONE, " + "tideBeginDate, tideEndDate and NbObservants"); Date tideBeginDate = DateUtil.createDate(18,3,2010); Date tideEndDate = DateUtil.createDate(19,3,2010); try { transaction = manager.getContext().beginTransaction(); - newContact.setContactState(ContactState.BOARDING_DONE); + newContact.setContactState(ContactState.OBSERVATION_DONE); newContact.setObservationBeginDate(tideBeginDate); newContact.setObservationEndDate(tideEndDate); newContact.setNbObservants(1); @@ -759,7 +759,7 @@ assertEquals(1, existingContact.getNbObservants()); assertEquals(tideBeginDate, existingContact.getObservationBeginDate()); assertEquals(tideEndDate, existingContact.getObservationEndDate()); - assertEquals(ContactState.BOARDING_DONE, + assertEquals(ContactState.OBSERVATION_DONE, existingContact.getContactState()); // Will have an update on sampleMonth 03/2010 for estimatedTides Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2011-01-28 16:54:10 UTC (rev 963) @@ -157,7 +157,7 @@ contact1.setBoat(boat); contact1.setMainObserver(user); contact1.setSampleRow(row); - contact1.setContactState(ContactState.BOARDING_DONE); + contact1.setContactState(ContactState.OBSERVATION_DONE); Date begin = DateUtil.createDate(3, 3, 2010); contact1.setObservationBeginDate(begin); contact1.setValidationCompany(Boolean.TRUE); @@ -167,7 +167,7 @@ contact2.setBoat(boat); contact2.setMainObserver(user); contact2.setSampleRow(row); - contact2.setContactState(ContactState.BOARDING_DONE); + contact2.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 3, 2010); contact2.setObservationBeginDate(begin); contact2.setValidationCompany(Boolean.TRUE); @@ -177,7 +177,7 @@ contact3.setBoat(boat2); contact3.setMainObserver(user); contact3.setSampleRow(row); - contact3.setContactState(ContactState.BOARDING_DONE); + contact3.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 3, 2010); contact3.setObservationBeginDate(begin); contact3.setValidationCompany(Boolean.TRUE); @@ -250,7 +250,7 @@ contact1.setSampleRow(row); // 1 real observer over 1 contact1.setNbObservants(1); - contact1.setContactState(ContactState.BOARDING_DONE); + contact1.setContactState(ContactState.OBSERVATION_DONE); Date begin = DateUtil.createDate(3, 3, 2010); contact1.setObservationBeginDate(begin); contact1.setValidationCompany(Boolean.TRUE); @@ -262,7 +262,7 @@ contact2.setSampleRow(row); // 2 real observer over 1 contact2.setNbObservants(2); - contact2.setContactState(ContactState.BOARDING_DONE); + contact2.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 3, 2010); contact2.setObservationBeginDate(begin); contact2.setValidationCompany(Boolean.TRUE); @@ -274,7 +274,7 @@ contact3.setSampleRow(row2); // 1 real observer over 2 contact3.setNbObservants(1); - contact3.setContactState(ContactState.BOARDING_DONE); + contact3.setContactState(ContactState.OBSERVATION_DONE); begin = DateUtil.createDate(3, 3, 2010); contact3.setObservationBeginDate(begin); contact3.setValidationCompany(Boolean.TRUE); @@ -359,7 +359,7 @@ // contact1.setBoat(boat); // contact1.setMainObserver(user); // contact1.setSampleRow(row); -// contact1.setContactState(ContactState.BOARDING_DONE); +// contact1.setContactState(ContactState.OBSERVATION_DONE); // Date begin = DateUtil.createDate(3, 3, 2010); // contact1.setObservationBeginDate(begin); // serviceContact.saveContact(contact1, false); @@ -368,7 +368,7 @@ // contact2.setBoat(boat); // contact2.setMainObserver(user); // contact2.setSampleRow(row); -// contact2.setContactState(ContactState.BOARDING_DONE); +// contact2.setContactState(ContactState.OBSERVATION_DONE); // begin = DateUtil.createDate(3, 10, 2010); // contact2.setObservationBeginDate(begin); // serviceContact.saveContact(contact2, false); @@ -377,7 +377,7 @@ // contact3.setBoat(boat); // contact3.setMainObserver(user); // contact3.setSampleRow(row); -// contact3.setContactState(ContactState.BOAT_REFUSED); +// contact3.setContactState(ContactState.CONTACT_REFUSED); // begin = DateUtil.createDate(3, 5, 2010); // contact3.setTopiaCreateDate(begin); // serviceContact.saveContact(contact3, false); @@ -396,7 +396,7 @@ // contact5.setBoat(boat2); // contact5.setMainObserver(user2); // contact5.setSampleRow(row2); -// contact5.setContactState(ContactState.BOAT_UNAVAILABLE); +// contact5.setContactState(ContactState.OBSERVATION_CANCELLED); // begin = DateUtil.createDate(3, 5, 2010); // contact5.setTopiaCreateDate(begin); // serviceContact.saveContact(contact5, false); @@ -406,7 +406,7 @@ // contact6.setBoat(boat2); // contact6.setMainObserver(user2); // contact6.setSampleRow(row2); -// contact6.setContactState(ContactState.BOAT_UNAVAILABLE); +// contact6.setContactState(ContactState.OBSERVATION_CANCELLED); // begin = DateUtil.createDate(3, 3, 2010); // contact6.setTopiaCreateDate(begin); // contact6.setValidationProgram(Boolean.FALSE); @@ -435,8 +435,8 @@ assertNotNull(data); assertEquals(ContactState.values().length, data.size()); - assertEquals(2, data.get(ContactState.BOARDING_DONE).intValue()); - assertEquals(1, data.get(ContactState.BOAT_REFUSED).intValue()); + assertEquals(2, data.get(ContactState.OBSERVATION_DONE).intValue()); + assertEquals(1, data.get(ContactState.CONTACT_REFUSED).intValue()); // result for company BIS using admin mode filter = new SamplingFilterImpl(); @@ -454,8 +454,8 @@ assertEquals(2, result.getTotal()); data = result.getData(); - assertEquals(1, data.get(ContactState.BOARDING_EXPECTED).intValue()); - assertEquals(1, data.get(ContactState.BOAT_UNAVAILABLE).intValue()); + assertEquals(1, data.get(ContactState.OBSERVATION_EXPECTED).intValue()); + assertEquals(1, data.get(ContactState.OBSERVATION_CANCELLED).intValue()); // result for period 3/1/2010 to 31/3/2010 for BIS company Date begin = DateUtil.createDate(3, 1, 2010); @@ -473,8 +473,8 @@ assertEquals(1, result.getTotal()); data = result.getData(); - assertEquals(1, data.get(ContactState.BOARDING_EXPECTED).intValue()); - assertEquals(0, data.get(ContactState.BOAT_UNAVAILABLE).intValue()); + assertEquals(1, data.get(ContactState.OBSERVATION_EXPECTED).intValue()); + assertEquals(0, data.get(ContactState.OBSERVATION_CANCELLED).intValue()); } /** @@ -534,7 +534,7 @@ contact1.setObservationBeginDate(begin); Date inputDate = DateUtil.createDate(15, 4, 2010); contact1.setDataInputDate(inputDate); - contact1.setContactState(ContactState.BOARDING_DONE); + contact1.setContactState(ContactState.OBSERVATION_DONE); contact1.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(contact1, false); @@ -546,7 +546,7 @@ contact2.setObservationBeginDate(begin); inputDate = DateUtil.createDate(15, 3, 2010); contact2.setDataInputDate(inputDate); - contact2.setContactState(ContactState.BOARDING_DONE); + contact2.setContactState(ContactState.OBSERVATION_DONE); contact2.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(contact2, false); @@ -557,7 +557,7 @@ begin = DateUtil.createDate(3, 3, 2010); contact3.setObservationBeginDate(begin); contact3.setDataInputDate(begin); - contact3.setContactState(ContactState.BOARDING_DONE); + contact3.setContactState(ContactState.OBSERVATION_DONE); contact3.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(contact3, false); Modified: trunk/wao-business/src/test/resources/import/contacts.csv =================================================================== --- trunk/wao-business/src/test/resources/import/contacts.csv 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-business/src/test/resources/import/contacts.csv 2011-01-28 16:54:10 UTC (rev 963) @@ -1,2 +1,2 @@ "CONT_CREATION","OBSERV_ID","PLAN_CODE","NAVS_COD","CONT_ETAT","CONT_DEBUT_MAREE","CONT_FIN_MAREE","CONT_NB_OBSERV","CONT_MAM_CAPT","CONT_MAM_OBS","CONT_COMMENT","CONT_ALLEGRO","CONT_SOCIETE_VALID","CONT_PROGRAM_VALID","CONT_DATA_RELIABILITY" -17/03/2010,"jmichmuche","2010_01",175846,"BOARDING_EXPECTED","18/03/2010 12:34","19/03/2010 22:33",1,,,,22/07/2010,"A","A",RELIABLE +17/03/2010,"jmichmuche","2010_01",175846,"OBSERVATION_EXPECTED","18/03/2010 12:34","19/03/2010 22:33",1,,,,22/07/2010,"A","A",RELIABLE 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-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-01-28 16:54:10 UTC (rev 963) @@ -5,13 +5,10 @@ import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ContactFilterImpl; import fr.ifremer.wao.bean.ContactState; -import fr.ifremer.wao.bean.DataReliability; import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.bean.SamplingFilterImpl; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.bean.ValidationResult; import fr.ifremer.wao.entity.Contact; -import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.TerrestrialLocation; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.service.ServiceContact; @@ -21,11 +18,11 @@ import fr.ifremer.wao.ui.data.GenericSelectModel; import fr.ifremer.wao.ui.data.RequiresAuthentication; import fr.ifremer.wao.ui.services.WaoManager; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; import org.apache.tapestry5.Block; import org.apache.tapestry5.EventContext; -import org.apache.tapestry5.OptionModel; import org.apache.tapestry5.RenderSupport; import org.apache.tapestry5.SelectModel; import org.apache.tapestry5.annotations.Component; @@ -38,23 +35,20 @@ import org.apache.tapestry5.annotations.SessionState; import org.apache.tapestry5.corelib.components.Form; import org.apache.tapestry5.corelib.components.Zone; -import org.apache.tapestry5.internal.OptionModelImpl; -import org.apache.tapestry5.internal.SelectModelImpl; import org.apache.tapestry5.ioc.Messages; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.ioc.services.PropertyAccess; +import org.apache.tapestry5.util.EnumSelectModel; import org.chenillekit.tapestry.core.components.DateTimeField; +import org.nuiton.util.CollectionUtil; import org.slf4j.Logger; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import static org.nuiton.i18n.I18n.n_; - /** * In this page, user will be able to edit a contact. Fields depends on right * level and validations. @@ -141,13 +135,13 @@ // TODO-fdesbois-2010-07-27 : manage array of states in JavaScript renderSupport.addScript("new ContactSendEmail('%s', '%s');", confirmMessage, - // Check state BOARDING_DONE - ContactState.BOARDING_DONE.name()); + // Check state OBSERVATION_DONE + ContactState.OBSERVATION_DONE.name()); renderSupport.addScript("new ContactSendEmail('%s', '%s');", confirmMessage, // Check state BOARDING_EXPECTED - ContactState.BOARDING_EXPECTED.name()); + ContactState.OBSERVATION_EXPECTED.name()); } } @@ -318,6 +312,13 @@ return terrestrialLocationSelectModel; } + public SelectModel getContactStateSelectModel() { + List<ContactState> allowedStates = ContactState.getAllowedStates(contact.getObsProgram()); + return new EnumSelectModel(ContactState.class, messages, + // just convert list to array + allowedStates.toArray(new ContactState[allowedStates.size()])); + } + /************************ ADMIN FIELDS ************************************/ Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-01-28 16:54:10 UTC (rev 963) @@ -30,13 +30,10 @@ import fr.ifremer.wao.bean.ContactFilter; import fr.ifremer.wao.bean.ContactFilterImpl; import fr.ifremer.wao.bean.ContactState; -import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.bean.ValidationResult; -import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.Contact; -import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.io.ImportResults; import fr.ifremer.wao.service.ServiceContact; @@ -430,7 +427,7 @@ } public boolean isBoardingDone() { - return contact.getContactState() == ContactState.BOARDING_DONE; + return contact.getContactState() == ContactState.OBSERVATION_DONE; } /**************************** CONTACT ROW ACTION **************************/ @@ -478,7 +475,7 @@ case COORDINATOR: ContactState state = contact.getContactState(); boolean boardingDone = - state.equals(ContactState.BOARDING_DONE) && + state.equals(ContactState.OBSERVATION_DONE) && contact.getDataInputDate() != null; return contact.getValidationCompany() == null && (state.isUnfinishedState() || boardingDone); Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java 2011-01-28 16:54:10 UTC (rev 963) @@ -40,7 +40,6 @@ import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; import org.apache.tapestry5.ioc.Messages; -import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.ioc.services.RegistryShutdownListener; import org.apache.tapestry5.services.PersistentLocale; import org.nuiton.util.ApplicationConfig; @@ -277,7 +276,7 @@ if (BooleanUtils.isFalse(contact.getValidationProgram()) || (!admin && BooleanUtils.isFalse(contact.getValidationCompany()))) { result = "refused"; - } else if (accepted && state.equals(ContactState.BOARDING_DONE)) { + } else if (accepted && state.equals(ContactState.OBSERVATION_DONE)) { result = "accepted"; } else if (accepted && state.isUnfinishedState()) { result = "unfinished"; Modified: trunk/wao-ui/src/main/webapp/ContactForm.tml =================================================================== --- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-01-28 12:46:47 UTC (rev 962) +++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-01-28 16:54:10 UTC (rev 963) @@ -183,7 +183,11 @@ <t:block id="editObservationReport"> <div> <label for="contactState">${message:wao.ui.field.Contact.contactState}</label> - <input t:type="select" t:id="contactState" t:value="contact.contactState" t:validate="required"/> + <input t:type="select" + t:id="contactState" + t:value="contact.contactState" + t:validate="required" + t:model="contactStateSelectModel" /> </div> <div> <label for="beginDate">${message:wao.ui.field.Contact.beginDate}</label> @@ -235,7 +239,7 @@ </div> <div> <label for="comment">${message:wao.ui.field.Contact.comment}</label> - <t:if t:test="connectedUser.observer"> + <t:if t:test="connectedUser.coordinatorOrObserver"> <input t:type="textarea" t:id="comment" value="contact.comment" /> <p:else> <t:if t:test="contact.comment">
participants (1)
-
bleny@users.labs.libre-entreprise.org