Author: bleny Date: 2011-06-03 16:06:35 +0000 (Fri, 03 Jun 2011) New Revision: 1314 Log: others fixes in UI Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationDAOImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.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-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/WaoActivationContext.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 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/i18n/wao-ui_en_GB.properties trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties trunk/wao-ui/src/main/webapp/ContactForm.tml trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml trunk/wao-ui/src/main/webapp/SampleRowForm.tml 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -473,7 +473,7 @@ 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() + addChange("Le navire associé passe de " + oldRow.getBoat().getDescription() + " à " + newRow.getBoat().getDescription()); } } @@ -535,6 +535,7 @@ compareDays(); if (newRow.isPhoneCall()) { compareBoats(); + compareTerrestrialLocations(); } else { compareObservationUnits(); } Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationDAOImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationDAOImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -0,0 +1,22 @@ +package fr.ifremer.wao.entity; + +import fr.ifremer.wao.bean.LocationType; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaQuery; + +import java.util.List; + +public class TerrestrialLocationDAOImpl<E extends TerrestrialLocation> extends TerrestrialLocationDAOAbstract<E> { + + @Override + public List<TerrestrialLocation> findAllByLocationType(LocationType... locationType) throws TopiaException { + TopiaQuery query = createQuery(); + Integer locationTypeOrdinal[] = new Integer[locationType.length]; + for (int i = 0 ; i < locationType.length ; i++) { + locationTypeOrdinal[i] = locationType[i].ordinal(); + } + query.addEquals(TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, + locationTypeOrdinal); + return (List<TerrestrialLocation>) findAllByQuery(query); + } +} Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -24,8 +24,6 @@ import fr.ifremer.wao.bean.LocationType; import org.apache.commons.lang.builder.ToStringBuilder; -import static org.nuiton.i18n.I18n.n_; - public class TerrestrialLocationImpl extends TerrestrialLocationAbstract { @Override @@ -68,25 +66,32 @@ */ public String getDescription() { StringBuilder description = new StringBuilder(); - if (isDistrict()) { - description.append(getDistrictName()).append(" ("); + if (isRegion()) { + description.append(getRegionIfremerName()); + if (getCountryName() != null) { + description.append(" (").append(getCountryName()).append(")"); + } } else { - description.append(getName()).append(" (") - .append(getLocationType()).append(", "); - // add the port name only if it's different of the name - // because most of the time it's redundant - if (getPortName() != null && ! getPortName().equals(getName())) { - description.append(getPortName()).append(", "); + if (isDistrict()) { + description.append(getDistrictName()).append(" ("); + } else { + description.append(getName()).append(" (") + .append(getLocationType()).append(", "); + // add the port name only if it's different of the name + // because most of the time it's redundant + if (getPortName() != null && ! getPortName().equals(getName())) { + description.append(getPortName()).append(", "); + } } - } - if (getRegionName() == null) { - description.append(getCountryName()); - } else { - description.append(getRegionName()); + if (getRegionName() == null) { + description.append(getCountryName()); + } else { + description.append(getRegionName()); + } + + description.append(")"); } - - description.append(")"); return description.toString(); } 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -67,7 +67,7 @@ import fr.ifremer.wao.entity.ShipOwner; import fr.ifremer.wao.entity.ShipOwnerDAO; import fr.ifremer.wao.entity.TerrestrialLocation; -import fr.ifremer.wao.entity.TerrestrialLocationDAO; +import fr.ifremer.wao.entity.TerrestrialLocationDAOImpl; import fr.ifremer.wao.io.ImportResults; import fr.ifremer.wao.io.ImportResultsImpl; import fr.ifremer.wao.io.csv2.Export; @@ -424,7 +424,7 @@ // Before importing, we need to retrieve all ports that may be mentioned // in the CSV file - TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); List<TerrestrialLocation> ports = terrestrialLocationDAO.findAllByLocationTypeOrdinal(LocationType.PORT.ordinal()); // Building the model, providing ports 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -25,7 +25,6 @@ package fr.ifremer.wao.service; import com.csvreader.CsvReader; -import com.csvreader.CsvWriter; import fr.ifremer.wao.WaoBinderHelper; import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoContext; @@ -51,7 +50,6 @@ import fr.ifremer.wao.bean.ValidationResultImpl; import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.BoatDAO; -import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.ContactDAO; import fr.ifremer.wao.entity.ContactImpl; @@ -61,27 +59,20 @@ import fr.ifremer.wao.entity.FishingZone; import fr.ifremer.wao.entity.ObsDebCode; import fr.ifremer.wao.entity.ObsDebCodeDAO; -import fr.ifremer.wao.entity.Profession; import fr.ifremer.wao.entity.SampleMonth; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.SampleRowDAO; -import fr.ifremer.wao.entity.TerrestrialDivision; import fr.ifremer.wao.entity.TerrestrialLocation; -import fr.ifremer.wao.entity.TerrestrialLocationDAO; +import fr.ifremer.wao.entity.TerrestrialLocationDAOImpl; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.entity.WaoUserDAO; import fr.ifremer.wao.io.ContactInput; import fr.ifremer.wao.io.ImportRefusedException; import fr.ifremer.wao.io.ImportResults; import fr.ifremer.wao.io.ImportResultsImpl; -import fr.ifremer.wao.io.csv.ExportHelper; import fr.ifremer.wao.io.csv.ImportHelper; -import fr.ifremer.wao.io.csv.WaoCsvHeader; import fr.ifremer.wao.io.csv.WaoCsvHeader.BOAT; import fr.ifremer.wao.io.csv.WaoCsvHeader.CONTACT; -import fr.ifremer.wao.io.csv.WaoCsvHeader.ContactHeader; -import fr.ifremer.wao.io.csv.WaoCsvHeader.FISHING_ZONE; -import fr.ifremer.wao.io.csv.WaoCsvHeader.SAMPLING; import fr.ifremer.wao.io.csv2.Export; import fr.ifremer.wao.io.csv2.ExportModel; import fr.ifremer.wao.io.csv2.Import; @@ -106,15 +97,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; -import java.text.DateFormat; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Comparator; @@ -499,9 +484,6 @@ // who was on the observation are the one expected if (newContact.getObsProgram() == ObsProgram.OBSDEB) { newContact.setObservationType(row.getObservationType()); - newContact.setObservationBeginDate(row.getExpectedDate()); - newContact.setObservationEndDate(row.getExpectedDate()); - newContact.setLandingDate(row.getExpectedDate()); if (CollectionUtils.isNotEmpty(row.getObservers())) { List<WaoUser> expectedObservers = new LinkedList<WaoUser>(row.getObservers()); newContact.setMainObserver(expectedObservers.get(0)); @@ -510,6 +492,10 @@ } if (row.isFieldWorkObservation()) { + newContact.setObservationBeginDate(row.getExpectedDate()); + newContact.setObservationEndDate(row.getExpectedDate()); + newContact.setLandingDate(row.getExpectedDate()); + // on the field work, the observer went in the observation unit // given in the row. If this unit contains only one port, we // can suppose he went in this one @@ -521,6 +507,11 @@ newContact.setTerrestrialLocation(allPorts.get(0)); } } + + if (row.isPhoneCall()) { + newContact.setObservationBeginDate(context.getCurrentDate()); + newContact.setObservationEndDate(context.getCurrentDate()); + } } if (newContact.getObsProgram() == ObsProgram.OBSVENTE) { @@ -1035,7 +1026,7 @@ // Some DAO WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction); - TerrestrialLocationDAO terrestrialLocationDAO = + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction); BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction); @@ -1451,6 +1442,10 @@ region = sampleRow.getTerrestrialLocation(); } + if (region == null) { + throw new IllegalStateException("row has no region attached"); + } + ObsDebCodeDAO dao = WaoDAOHelper.getObsDebCodeDAO(transaction); List<ObsDebCode> possibleObsDebCodes = dao.findAllContainsRegions(region); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -54,6 +54,7 @@ import fr.ifremer.wao.entity.TerrestrialDivisionDAO; import fr.ifremer.wao.entity.TerrestrialLocation; import fr.ifremer.wao.entity.TerrestrialLocationDAO; +import fr.ifremer.wao.entity.TerrestrialLocationDAOImpl; import fr.ifremer.wao.entity.TerrestrialLocationImpl; import fr.ifremer.wao.io.ImportResults; import fr.ifremer.wao.io.ImportResultsImpl; @@ -83,7 +84,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.Set; /** * ServiceReferentialImpl @@ -394,31 +394,41 @@ @Override protected List<TerrestrialLocation> executeGetAllTerrestrialDistricts(TopiaContext transaction, SamplingFilter filter) throws Exception { - TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction); - List<TerrestrialLocation> result = dao.findAllByLocationTypeOrdinal(null); + TerrestrialLocationDAOImpl dao = + WaoDAOHelper.getTerrestrialLocationDAO(transaction); + List<TerrestrialLocation> result = + dao.findAllByLocationType(LocationType.DISTRICT); return result; } + /** Find ports and auctions in a given district */ @Override protected List<TerrestrialLocation> executeGetAllTerrestrialLocations(TopiaContext transaction, ContactFilter filter, String districtCode) throws Exception { - TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + TerrestrialLocationDAOImpl dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + Map<String, Object> properties = new HashMap<String, Object>(); properties.put(TerrestrialLocation.PROPERTY_DISTRICT_CODE, districtCode); + + properties.put(TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, LocationType.PORT.ordinal()); List<TerrestrialLocation> result = dao.findAllByProperties(properties); - TerrestrialLocation removeDistrict = null; - for (TerrestrialLocation locationResult : result) { - if (locationResult.getLocationType() == null) { - removeDistrict = locationResult; - } - } - result.remove(removeDistrict); + properties.put(TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, LocationType.AUCTION.ordinal()); + result.addAll(dao.findAllByProperties(properties)); return result; } @Override + protected List<TerrestrialLocation> executeGetAllRegionIfremers + (TopiaContext transaction) throws Exception { + TerrestrialLocationDAOImpl dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + List<TerrestrialLocation> allRegionIfremers = + dao.findAllByLocationType(LocationType.REGION); + return allRegionIfremers; + } + + @Override protected TerrestrialLocation executeGetTerrestrialDistrict(TopiaContext transaction, String districtCode) throws Exception { TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction); Map<String, Object> properties = new HashMap<String, Object>(); @@ -520,13 +530,13 @@ @Override protected void executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception { - TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); // let's find all ports in terrestrial location reference List<TerrestrialLocation> ports = terrestrialLocationDAO. - findAllByLocationTypeOrdinal(LocationType.PORT.ordinal()); + findAllByLocationType(LocationType.PORT); List<TerrestrialLocation> regions = terrestrialLocationDAO. - findAllByLocationTypeOrdinal(LocationType.REGION.ordinal()); + findAllByLocationType(LocationType.REGION); if (log.isDebugEnabled()) { log.debug(ports.size() + " ports, " + regions.size() + " regions"); @@ -580,9 +590,10 @@ observationUnitBinder.copyExcluding(terrestrialDivision, observationUnit, TerrestrialDivision.TOPIA_ID, TerrestrialDivision.TOPIA_VERSION, TerrestrialDivision.TOPIA_CREATE_DATE, TerrestrialDivision.PROPERTY_CODE, TerrestrialDivision.PROPERTY_PORT); - WaoUtils.createOrUpdate(TerrestrialDivision.class, observationUnit, dao, TerrestrialDivision.PROPERTY_CODE, - TerrestrialDivision.PROPERTY_SKILL_ZONE_CODE, TerrestrialDivision.PROPERTY_SUB_POPULATION_CODE, - TerrestrialDivision.PROPERTY_OBSERVATION_UNIT_CODE, TerrestrialDivision.PROPERTY_PORT); + WaoUtils.createOrUpdate(TerrestrialDivision.class, + observationUnit, dao, TerrestrialDivision.PROPERTY_CODE, + TerrestrialDivision.PROPERTY_REGION_IFREMER, + TerrestrialDivision.PROPERTY_OBSERVATION_UNIT_CODE); } transaction.commitTransaction(); @@ -623,8 +634,8 @@ if (observationUnit == null) { - TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); - ports = terrestrialLocationDAO.findAllByLocationTypeOrdinal(LocationType.PORT.ordinal()); + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + ports = terrestrialLocationDAO.findAllByLocationType(LocationType.PORT); } else { @@ -653,9 +664,9 @@ Import<ObsDebCode> obsDebCodeImport = null; ImportResults result = new ImportResultsImpl(); // will be returned - TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); List<TerrestrialLocation> allRegions = terrestrialLocationDAO. - findAllByLocationTypeOrdinal(LocationType.REGION.ordinal()); + findAllByLocationType(LocationType.REGION); try { ObsDebCodeDAO dao = WaoDAOHelper.getObsDebCodeDAO(transaction); ImportModel<ObsDebCode> model = new ObsDebCodesImportModel(allRegions); @@ -741,7 +752,7 @@ InputStream input = null; - TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); ObsDebCodeDAO obsDebCodeDAO = WaoDAOHelper.getObsDebCodeDAO(transaction); // import terrestrial locations if base is empty @@ -752,7 +763,7 @@ // are missing so we must force re-import to create regions if ( ! importTerrestrialLocations) { List<TerrestrialLocation> regions = terrestrialLocationDAO. - findAllByLocationTypeOrdinal(LocationType.REGION.ordinal()); + findAllByLocationType(LocationType.REGION); importTerrestrialLocations = regions.size() == 0; } 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -78,7 +78,7 @@ import fr.ifremer.wao.entity.TerrestrialDivision; import fr.ifremer.wao.entity.TerrestrialDivisionDAO; import fr.ifremer.wao.entity.TerrestrialLocation; -import fr.ifremer.wao.entity.TerrestrialLocationDAO; +import fr.ifremer.wao.entity.TerrestrialLocationDAOImpl; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.entity.WaoUserDAO; import fr.ifremer.wao.io.ImportRefusedException; @@ -692,7 +692,7 @@ if (result.getObsProgram() == ObsProgram.OBSDEB) { result.sizeObservers(); result.getObservationUnit(); - + result.getTerrestrialLocation(); if (result.getObservationType() == ObservationType.PHONE_CALL) { result.getBoat().getBoatGroup(); } @@ -1074,11 +1074,11 @@ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction); List<Boat> allActiveBoats = boatDAO.findAllByActive(true); - TerrestrialLocationDAO terrestrialLocationDAO = + TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction); List<TerrestrialLocation> allRegions = terrestrialLocationDAO. - findAllByLocationTypeOrdinal(LocationType.REGION.ordinal()); + findAllByLocationType(LocationType.REGION); ImportModel<SampleRow> samplingPlanImportModel = new SamplingPlanImportExportModel(connectedUser, 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-03 16:06:35 UTC (rev 1314) @@ -193,6 +193,7 @@ wao.error.serviceReferential.getAllObsDebCodes= wao.error.serviceReferential.getAllObservationUnits= wao.error.serviceReferential.getAllPorts= +wao.error.serviceReferential.getAllRegionIfremers= wao.error.serviceReferential.getAllTerrestrialDistricts= wao.error.serviceReferential.getAllTerrestrialLocations= wao.error.serviceReferential.getCodesDCF5Contains= 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-03 16:06:35 UTC (rev 1314) @@ -193,6 +193,7 @@ wao.error.serviceReferential.getAllObsDebCodes= wao.error.serviceReferential.getAllObservationUnits= wao.error.serviceReferential.getAllPorts= +wao.error.serviceReferential.getAllRegionIfremers= wao.error.serviceReferential.getAllTerrestrialDistricts= wao.error.serviceReferential.getAllTerrestrialLocations= wao.error.serviceReferential.getCodesDCF5Contains= Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -123,14 +123,6 @@ } /** - * Test of getProfessions method, of class ServiceReferentialImpl. - */ - //@Test - public void testGetProfessions() throws Exception { - System.out.println("getProfessions"); - } - - /** * Test of getFishingZones method, of class ServiceReferentialImpl. * @throws WaoException if error during import or getFishingZones */ @@ -165,6 +157,11 @@ try { input = getClass().getResourceAsStream("/import/purifiedTerrestrialDivisions.csv"); service.importTerrestrialDivisions(input); + int nbTerrestrialDivisions = service.getAllObservationUnits().size(); + input = getClass().getResourceAsStream("/import/purifiedTerrestrialDivisions.csv"); + service.importTerrestrialDivisions(input); + assertEquals("importing the same file two times should not create extra lines", + nbTerrestrialDivisions, service.getAllObservationUnits().size()); } finally { IOUtils.closeQuietly(input); } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/WaoActivationContext.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/WaoActivationContext.java 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/data/WaoActivationContext.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -35,14 +35,16 @@ protected static final String SAMPLE_ROW_CODE = "sampleRowCode"; protected static final String SAMPLE_ROW_ID = "sampleRowId"; protected static final String OBSERVATION_TYPE_NAME = "observationTypeName"; + protected static final String BOAT_IMMATRICULATION = "boatImmatriculation"; - protected static final List<String> VALID_KEYS = - Arrays.asList(SAMPLE_ROW_CODE, SAMPLE_ROW_ID, - OBSERVATION_TYPE_NAME); + protected static final List<String> VALID_KEYS = Arrays.asList( + SAMPLE_ROW_CODE, SAMPLE_ROW_ID, OBSERVATION_TYPE_NAME, + BOAT_IMMATRICULATION); protected String sampleRowCode; protected String sampleRowId; protected ObservationType observationType; + protected Integer boatImmatriculation; public static WaoActivationContext newEmptyContext() { WaoActivationContext newWaoActivationContext = new WaoActivationContext(); @@ -67,9 +69,40 @@ newWaoActivationContext.setSampleRowCode(context.get(SAMPLE_ROW_CODE)); newWaoActivationContext.setObservationType(context.get(OBSERVATION_TYPE_NAME)); newWaoActivationContext.setSampleRowId(context.get(SAMPLE_ROW_ID)); + newWaoActivationContext.setBoatImmatriculation(context.get(BOAT_IMMATRICULATION)); return newWaoActivationContext; } + @Override + public String toString() { + String toString = ToStringBuilder.reflectionToString(this); + return toString; + } + + public String[] toStrings() { + Map<String, String> context = new TreeMap<String, String>(); + if (sampleRowCode != null) { + context.put(SAMPLE_ROW_CODE, sampleRowCode); + } + if (sampleRowId != null) { + context.put(SAMPLE_ROW_ID, sampleRowId); + } + if (observationType != null) { + context.put(OBSERVATION_TYPE_NAME, observationType.name()); + } + if (boatImmatriculation != null) { + context.put(BOAT_IMMATRICULATION, + String.valueOf(boatImmatriculation)); + } + String[] strings = new String[context.size() * 2]; + int i = 0; + for (Map.Entry<String, String> contextEntry : context.entrySet()) { + strings[i++] = contextEntry.getKey(); + strings[i++] = contextEntry.getValue(); + } + return strings; + } + protected void setObservationType(String name) { if (name != null) { setObservationType(ObservationType.valueOf(name)); @@ -100,29 +133,19 @@ this.observationType = observationType; } - @Override - public String toString() { - String toString = ToStringBuilder.reflectionToString(this); - return toString; + public void setBoatImmatriculation(String boatImmatriculation) { + if (boatImmatriculation == null) { + this.boatImmatriculation = null; + } else { + this.boatImmatriculation = Integer.valueOf(boatImmatriculation); + } } - public String[] toStrings() { - Map<String, String> context = new TreeMap<String, String>(); - if (sampleRowCode != null) { - context.put(SAMPLE_ROW_CODE, sampleRowCode); - } - if (sampleRowId != null) { - context.put(SAMPLE_ROW_ID, sampleRowId); - } - if (observationType != null) { - context.put(OBSERVATION_TYPE_NAME, observationType.name()); - } - String[] strings = new String[context.size() * 2]; - int i = 0; - for (Map.Entry<String, String> contextEntry : context.entrySet()) { - strings[i++] = contextEntry.getKey(); - strings[i++] = contextEntry.getValue(); - } - return strings; + public void setBoatImmatriculation(Integer boatImmatriculation) { + this.boatImmatriculation = boatImmatriculation; } + + public Integer getBoatImmatriculation() { + return boatImmatriculation; + } } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -47,6 +47,7 @@ import fr.ifremer.wao.ui.data.BoatDataSource; import fr.ifremer.wao.ui.data.ExportStreamResponse; import fr.ifremer.wao.ui.data.RequiresAuthentication; +import fr.ifremer.wao.ui.data.WaoActivationContext; import fr.ifremer.wao.ui.services.WaoManager; import org.apache.commons.lang.BooleanUtils; import org.apache.tapestry5.Block; @@ -110,8 +111,13 @@ @Inject private PropertyAccess propertyAccess; + private WaoActivationContext waoActivationContext; + void onActivate(EventContext ec) { - sampleRowContextId = ec.get(String.class, 0); + waoActivationContext = WaoActivationContext.newContextFromTapestry(ec); + sampleRowContextId = waoActivationContext.getSampleRowCode(); + getBoatFilter().setBoatImmatriculation( + waoActivationContext.getBoatImmatriculation()); } @Property @@ -311,6 +317,10 @@ /*************** RIGHT PANEL ****************/ public Integer getBoatSelectedImmatriculation() { + if (boatSelectedImmatriculation == null) { + boatSelectedImmatriculation = + waoActivationContext.getBoatImmatriculation(); + } return boatSelectedImmatriculation; } 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -219,6 +219,15 @@ return observers; } + public boolean showSecondaryObservers() { + boolean showSecondaryObservers = true; + if (contact.getSampleRow().isPhoneCall()) { + // when phoning, we are always single + showSecondaryObservers = false; + } + return showSecondaryObservers; + } + /************************ OBSERVATION REPORT ******************************/ @Component Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -264,6 +264,32 @@ return serviceContact.getSubstitutesForBoat(sampleRow.getBoat()); } + protected String[] getContextForBoatOrSubstitute(Boat boat) { + WaoActivationContext contextForBoat = + WaoActivationContext.newEmptyContext(); + contextForBoat.setSampleRowCode(sampleRow.getCode()); + contextForBoat.setBoatImmatriculation(boat.getImmatriculation()); + return contextForBoat.toStrings(); + } + + /** Context for boats page for links on the name of a boat */ + public String[] getContextForBoat() { + return getContextForBoatOrSubstitute(sampleRow.getBoat()); + } + + /** Context for boats page for links to boats page in 'actions' */ + public String[] getContextForBoats() { + WaoActivationContext contextForBoats = + WaoActivationContext.newEmptyContext(); + contextForBoats.setSampleRowCode(sampleRow.getCode()); + return contextForBoats.toStrings(); + } + + /** Context for boats page for links on the name of a substitute boat */ + public String[] getContextForSubstitute() { + return getContextForBoatOrSubstitute(substitute); + } + //// grid actions public boolean canEditSampleRow() { 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -587,6 +587,11 @@ return boats; } + public List<TerrestrialLocation> getRegionIfremers() { + List<TerrestrialLocation> regionIfremers = + serviceReferential.getAllRegionIfremers(); + return regionIfremers; + } /*************************** SAMPLE ROW ***********************************/ private String sampleRowId; 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-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-06-03 16:06:35 UTC (rev 1314) @@ -165,6 +165,7 @@ if ( ! sampleRowIsRealized) { contactFilter.setSampleRow(sampleRow); nbContacts = serviceContact.getNbContacts(contactFilter); + sampleRowIsRealized = nbContacts > 0; } String value = (sampleRowIsRealized ? yes : no) + Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties =================================================================== --- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-03 16:06:35 UTC (rev 1314) @@ -140,6 +140,7 @@ wao.ui.field.SampleRow.profession=Profession wao.ui.field.SampleRow.professionCode=Profession code wao.ui.field.SampleRow.programName=Program +wao.ui.field.SampleRow.regionIfremer=Region wao.ui.field.SampleRow.samplingStrategy=Sampling strategy wao.ui.field.SampleRow.size=Boat size wao.ui.field.SampleRow.species=Species Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties =================================================================== --- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-03 16:06:35 UTC (rev 1314) @@ -8,80 +8,80 @@ SynthesisId.OBSERVATION_HOUR= wao.ui.action.acceptContact=Valider le contact wao.ui.action.add=Ajouter -wao.ui.action.addNewContactFromBoat=Cr\u00e9er un nouveau contact pour ce navire et la ligne s\u00e9lectionn\u00e9e dans les filtres -wao.ui.action.back=Revenier \u00e0 l'\u00e9cran pr\u00e9c\u00e9dent +wao.ui.action.addNewContactFromBoat=Créer un nouveau contact pour ce navire et la ligne sélectionnée dans les filtres +wao.ui.action.back=Revenier à l'écran précédent wao.ui.action.cancel=Annuler wao.ui.action.changeLocale=Changer de langue wao.ui.action.contactAdmin=Contacter un responsable ObsMer -wao.ui.action.create=Cr\u00e9er -wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9 -wao.ui.action.createUser=Cr\u00e9er un utilisateur +wao.ui.action.create=Créer +wao.ui.action.createCompany=Créer une société +wao.ui.action.createUser=Créer un utilisateur wao.ui.action.delete=Supprimer -wao.ui.action.deleteCompany=Supprimer la soci\u00e9t\u00e9 -wao.ui.action.deleteCompany.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la soci\u00e9t\u00e9 ? +wao.ui.action.deleteCompany=Supprimer la société +wao.ui.action.deleteCompany.confirm=Êtes-vous sûr de vouloir supprimer la société ? wao.ui.action.deleteContact=Supprimer le contact -wao.ui.action.deleteContact.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement ce contact ? +wao.ui.action.deleteContact.confirm=Êtes-vous sûr de vouloir supprimer définitivement ce contact ? wao.ui.action.deleteNews=Supprimer la nouvelle -wao.ui.action.deleteNews.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement cette nouvelle ? +wao.ui.action.deleteNews.confirm=Êtes-vous sûr de vouloir supprimer définitivement cette nouvelle ? wao.ui.action.deleteSampleRow=Supprimer la ligne du plan -wao.ui.action.deleteSampleRow.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la ligne %s du plan ? +wao.ui.action.deleteSampleRow.confirm=Êtes-vous sûr de vouloir supprimer la ligne %s du plan ? wao.ui.action.deleteUser=Supprimer l'utilisateur -wao.ui.action.deleteUser.confirm=\u00cates-vous s\u00fbr de vouloir supprimer l'utilisateur ? +wao.ui.action.deleteUser.confirm=Êtes-vous sûr de vouloir supprimer l'utilisateur ? wao.ui.action.edit=Modifier wao.ui.action.enlargeView=Agrandir la vue -wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations priv\u00e9es +wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées wao.ui.action.filter=Filtrer wao.ui.action.hideFilters=Masquer les filtres wao.ui.action.login=Connexion -wao.ui.action.logout=D\u00e9connexion -wao.ui.action.reduceView=R\u00e9duire la vue -wao.ui.action.refresh=Rafra\u00eechir +wao.ui.action.logout=Déconnexion +wao.ui.action.reduceView=Réduire la vue +wao.ui.action.refresh=Rafraîchir wao.ui.action.refuseContact=Refuser le contact wao.ui.action.remove=Retirer -wao.ui.action.resetFields=Remettre le formulaire \u00e0 z\u00e9ro +wao.ui.action.resetFields=Remettre le formulaire à zéro wao.ui.action.revert=Annuler wao.ui.action.runExport=Lancer l'export wao.ui.action.runImport=Lancer l'import wao.ui.action.runSearch=Lancer la recherche wao.ui.action.save=Enregistrer -wao.ui.action.showDetails=Voir les d\u00e9tails +wao.ui.action.showDetails=Voir les détails wao.ui.action.showFilters=Afficher les filtres wao.ui.action.unvalidateContact=Invalider le contact wao.ui.action.viewIndicatorsHistory=Voir l'historique des modifications des indicateurs wao.ui.boatList=Liste de %s navires wao.ui.boatinfo.title=Informations sur %s -wao.ui.boats.associatedLine=Ligne(s) du plan associ\u00e9e(s) \u00e0 ce navire -wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre soci\u00e9t\u00e9 +wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire +wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire wao.ui.boats.portOfRegistry.header=Port -wao.ui.boats.selecting=Vous \u00eates en cours de s\u00e9lection d'un navire pour la ligne du plan %s +wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s wao.ui.boats.substitutes=Substituts du navire -wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le d\u00e9tail. -wao.ui.cartography.title=R\u00e9partition des contacts par quartier des navires -wao.ui.cartography.title.company=R\u00e9partition des contacts par quartier des navires pour la soci\u00e9t\u00e9 %s +wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail. +wao.ui.cartography.title=Répartition des contacts par quartier des navires +wao.ui.cartography.title.company=Répartition des contacts par quartier des navires pour la société %s wao.ui.chart.boardingsSince=Nombre de sollicitations depuis le %s wao.ui.chart.numberBoats=Nb navires wao.ui.chart.numberObservations=Nb observations wao.ui.chart.numberOfBoatsWithBoardings=Nombre de navires avec x embarquements -wao.ui.contact.lastContact=Derni\u00e8re observation concernant ce navire pour votre soci\u00e9t\u00e9 (tous programmes confondus) -wao.ui.contacts.createFromBoat=Cr\u00e9er un nouveau contact pour ce navire et cette ligne du plan -wao.ui.contacts.createFromBoat.fail=Cr\u00e9ation d'un nouveau contact impossible -wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00e9e \u00e0 \u00e9ch\u00e9ance, \u00eates-vous s\u00fbr de vouloir cr\u00e9er un nouveau contact ? -wao.ui.disclaimer=Le site de \u00ab SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00bb a fait l'objet d'une d\u00e9claration \u00e0 la CNIL sous le num\u00e9ro suivant \: 1414476 -wao.ui.disclaimer.boats=Les donn\u00e9es saisies dans cette page sont la propri\u00e9t\u00e9 exclusive de la soci\u00e9t\u00e9. En dehors de la soci\u00e9t\u00e9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer. +wao.ui.contact.lastContact=Dernière observation concernant ce navire pour votre société (tous programmes confondus) +wao.ui.contacts.createFromBoat=Créer un nouveau contact pour ce navire et cette ligne du plan +wao.ui.contacts.createFromBoat.fail=Création d'un nouveau contact impossible +wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arrivée à échéance, êtes-vous sûr de vouloir créer un nouveau contact ? +wao.ui.disclaimer=Le site de « SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER » a fait l'objet d'une déclaration à la CNIL sous le numéro suivant \: 1414476 +wao.ui.disclaimer.boats=Les données saisies dans cette page sont la propriété exclusive de la société. En dehors de la société, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer. wao.ui.email=Adresse e-mail wao.ui.entity.Boat=Navire wao.ui.entity.Boats=Navires -wao.ui.entity.Company=Soci\u00e9t\u00e9 +wao.ui.entity.Company=Société wao.ui.entity.Contact=Contact -wao.ui.entity.FishingZone=Zones de p\u00eache -wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage +wao.ui.entity.FishingZone=Zones de pêche +wao.ui.entity.SampleRow=Ligne du plan d'échantillonnage wao.ui.entity.TerrestrialLocation=Lieu wao.ui.entity.fishingGearDCF=Engin code DCF -wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF +wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF wao.ui.field.Boat.boatGroup=Strate wao.ui.field.Boat.boatLength=Longueur -wao.ui.field.Boat.buildYear=Ann\u00e9e de construction +wao.ui.field.Boat.buildYear=Année de construction wao.ui.field.Boat.districtCode=Quartier wao.ui.field.Boat.fleet=Flotille wao.ui.field.Boat.immatriculation=Immatriculation @@ -89,142 +89,143 @@ wao.ui.field.Boat.portOfRegistry=Port d'attache wao.ui.field.Boat.shipOwner=Armateur wao.ui.field.BoatDistrict.code=Code quartier -wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s +wao.ui.field.BoatInfos.dup=Capacité d'accueil du navire en personnels spécialisés wao.ui.field.Company.active=Active wao.ui.field.Company.name=Nom -wao.ui.field.Contact.beginDate=D\u00e9but d'observation +wao.ui.field.Contact.beginDate=Début d'observation wao.ui.field.Contact.comment=Commentaire observateur wao.ui.field.Contact.commentAdmin=Commentaire programme wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur -wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet -wao.ui.field.Contact.contactState=\u00c9tat du contact +wao.ui.field.Contact.completeSampling=Échantillonnage complet +wao.ui.field.Contact.contactState=État du contact wao.ui.field.Contact.contactStateMotif=Motif du refus wao.ui.field.Contact.contactStateMotifs=Motifs de refus -wao.ui.field.Contact.creationDate=Date de cr\u00e9ation du contact -wao.ui.field.Contact.dataInputDate=Saisie des donn\u00e9es -wao.ui.field.Contact.dataReliability=Qualit\u00e9 des donn\u00e9es +wao.ui.field.Contact.creationDate=Date de création du contact +wao.ui.field.Contact.dataInputDate=Saisie des données +wao.ui.field.Contact.dataReliability=Qualité des données wao.ui.field.Contact.endDate=Fin d'observation -wao.ui.field.Contact.landingDate=Date de d\u00e9barquement -wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent +wao.ui.field.Contact.landingDate=Date de débarquement +wao.ui.field.Contact.mainObserver=Observateur référent wao.ui.field.Contact.mammalsCapture=Capture accidentelle -wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des esp\u00e8ces captur\u00e9es +wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des espèces capturées wao.ui.field.Contact.mammalsObservation=Observation exceptionnelle wao.ui.field.Contact.nbObservants=Nombre d'observateurs -wao.ui.field.Contact.obsDebCode=M\u00e9tier +wao.ui.field.Contact.obsDebCode=Métier wao.ui.field.Contact.observationType=Type d'observation -wao.ui.field.Contact.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage suivie +wao.ui.field.Contact.samplingStrategy=Stratégie d'échantillonnage suivie wao.ui.field.Contact.secondaryObservers=Observateurs wao.ui.field.Contact.terrestrialLocation=Lieu d'observation -wao.ui.field.Contact.validationCompany=Validation soci\u00e9t\u00e9 +wao.ui.field.Contact.validationCompany=Validation société wao.ui.field.Contact.validationProgram=Validation programme -wao.ui.field.FishingZone.facadeName=Fa\u00e7ade +wao.ui.field.FishingZone.facadeName=Façade wao.ui.field.FishingZone.sectorName=Zone wao.ui.field.SampleRow.boat=Navire wao.ui.field.SampleRow.code=Code ligne wao.ui.field.SampleRow.comment=Commentaire -wao.ui.field.SampleRow.company=Soci\u00e9t\u00e9 +wao.ui.field.SampleRow.company=Société wao.ui.field.SampleRow.dCF5Code=Codes wao.ui.field.SampleRow.day=Jour wao.ui.field.SampleRow.dcf5Code=Code DCF Niv. 5 wao.ui.field.SampleRow.expectedDate=Date -wao.ui.field.SampleRow.fishingZones=Zone(s) de p\u00eache -wao.ui.field.SampleRow.libelle=Libell\u00e9 +wao.ui.field.SampleRow.fishingZones=Zone(s) de pêche +wao.ui.field.SampleRow.libelle=Libellé wao.ui.field.SampleRow.meshSize=Maillage wao.ui.field.SampleRow.observationType=Type d'observation -wao.ui.field.SampleRow.observationUnit=Unit\u00e9 d'observation +wao.ui.field.SampleRow.observationUnit=Unité d'observation wao.ui.field.SampleRow.observers=Observateurs wao.ui.field.SampleRow.other=Autre -wao.ui.field.SampleRow.periodBegin=D\u00e9but +wao.ui.field.SampleRow.periodBegin=Début wao.ui.field.SampleRow.periodEnd=Fin -wao.ui.field.SampleRow.profession=M\u00e9tier -wao.ui.field.SampleRow.professionCode=Code m\u00e9tier +wao.ui.field.SampleRow.profession=Métier +wao.ui.field.SampleRow.professionCode=Code métier wao.ui.field.SampleRow.programName=Programme -wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage +wao.ui.field.SampleRow.regionIfremer=Région +wao.ui.field.SampleRow.samplingStrategy=Stratégie d'échantillonnage wao.ui.field.SampleRow.size=Taille du navire -wao.ui.field.SampleRow.species=Esp\u00e8ces cibles +wao.ui.field.SampleRow.species=Espèces cibles wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s) -wao.ui.field.TerrestrialDivision.regionIfremer=R\u00e9gion Ifremer -wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00e9tence +wao.ui.field.TerrestrialDivision.regionIfremer=Région Ifremer +wao.ui.field.TerrestrialDivision.skillZone=Zone de compétence wao.ui.field.TerrestrialDivision.subPopulation=Sous-population -wao.ui.field.User.firstName=Pr\u00e9nom +wao.ui.field.User.firstName=Prénom wao.ui.field.User.lastName=Nom wao.ui.field.User.login=Identifiant -wao.ui.field.UserProfile.userRole=R\u00f4le +wao.ui.field.UserProfile.userRole=Rôle wao.ui.field.WaoUser.login=Identifiant wao.ui.field.WaoUser.mammalsNotifications=Recevoir les notifications de captures accidentelles wao.ui.field.WaoUser.password=Mot de passe wao.ui.filters.filters=Filtres de recherche -wao.ui.filters.refresh=Rafra\u00eechir les champs du filtre -wao.ui.forgotPassword=Mot de passe oubli\u00e9 ? -wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont \u00e9ligibles pour cette ligne. Vous pouvez utiliser n'importe quel s\u00e9parateur pour s\u00e9parer les immatriculations (virgule, point, espace ou saut de ligne) -wao.ui.form.SampleRow.error.missingLogComment=Vous devez pr\u00e9ciser la raison de vos modifications -wao.ui.form.SampleRow.missingBeginDate=Date de d\u00e9but manquante pour g\u00e9n\u00e9rer le code de la ligne \! -wao.ui.form.SampleRow.others=Autres donn\u00e9es de la ligne d'\u00e9chantillonnage +wao.ui.filters.refresh=Rafraîchir les champs du filtre +wao.ui.forgotPassword=Mot de passe oublié ? +wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont éligibles pour cette ligne. Vous pouvez utiliser n'importe quel séparateur pour séparer les immatriculations (virgule, point, espace ou saut de ligne) +wao.ui.form.SampleRow.error.missingLogComment=Vous devez préciser la raison de vos modifications +wao.ui.form.SampleRow.missingBeginDate=Date de début manquante pour générer le code de la ligne \! +wao.ui.form.SampleRow.others=Autres données de la ligne d'échantillonnage wao.ui.form.SampleRow.program=Programme de rattachement et effort d'observation par mois wao.ui.form.addComment=Ajouter un commentaire -wao.ui.form.addRole=Ajouter ce r\u00f4le +wao.ui.form.addRole=Ajouter ce rôle wao.ui.form.boardingFrom=Sollicitations du navire depuis le wao.ui.form.contactsFile=Fichier des contacts -wao.ui.form.definePasswordManually=d\u00e9finir manuellement +wao.ui.form.definePasswordManually=définir manuellement wao.ui.form.editComment=Commentaire sur la modification wao.ui.form.editionAuthor=Auteur de la modification -wao.ui.form.estimatedTides=Voir l'effort d'observations estim\u00e9 -wao.ui.form.estimatedTides.description=L'effort d'observations estim\u00e9 \u00e9quivaut au nombre de contacts valid\u00e9s ou non par la soci\u00e9t\u00e9. Les contacts refus\u00e9s par le programme ne sont pas pris en compte. -wao.ui.form.generatePassword=G\u00e9n\u00e9rer le mot de passe +wao.ui.form.estimatedTides=Voir l'effort d'observations estimé +wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte. +wao.ui.form.generatePassword=Générer le mot de passe wao.ui.form.otherBoatInfos=Autres informations sur le navire -wao.ui.form.period=P\u00e9riode +wao.ui.form.period=Période wao.ui.form.period.from=du wao.ui.form.period.to=au -wao.ui.form.periodFrom=P\u00e9riode du -wao.ui.form.periodFromTo=P\u00e9riode du %s au %s +wao.ui.form.periodFrom=Période du +wao.ui.form.periodFromTo=Période du %s au %s wao.ui.form.program=Programme -wao.ui.form.programEvaluation=\u00c9valuation programme +wao.ui.form.programEvaluation=Évaluation programme wao.ui.form.readOnly=lecture seule wao.ui.form.removeRole=retirer ce role -wao.ui.form.repeatPassword=R\u00e9p\u00e9ter le mot de passe -wao.ui.form.roles=R\u00f4les -wao.ui.form.sortByTideBegin=Trier par date de d\u00e9but d'observation (du plus r\u00e9cent au plus ancien) -wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activit\u00e9 -wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activit\u00e9 en cours. Vous pouvez continuer \u00e0 naviguer sur le site en attendant la fin du chargement. -wao.ui.import.activityCalendarLabel=des calendriers d'activit\u00e9 -wao.ui.import.activityCalendarUserAccessesLabel=des acc\u00e8s utilisateurs aux calendriers d'activit\u00e9 -wao.ui.import.boatDistrictLabel=des coordonn\u00e9es des quartiers des navires +wao.ui.form.repeatPassword=Répéter le mot de passe +wao.ui.form.roles=Rôles +wao.ui.form.sortByTideBegin=Trier par date de début d'observation (du plus récent au plus ancien) +wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activité +wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activité en cours. Vous pouvez continuer à naviguer sur le site en attendant la fin du chargement. +wao.ui.import.activityCalendarLabel=des calendriers d'activité +wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité +wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires wao.ui.import.boatsLabel=des navires wao.ui.import.description=Fichier %s %s \: -wao.ui.import.fishingZoneLabel=des zones de p\u00eaches +wao.ui.import.fishingZoneLabel=des zones de pêches wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8) wao.ui.import.longTitle=Import/Export CSV (UTF-8) -wao.ui.import.obsDebCodesLabel=des codes m\u00e9tiers ObsDeb -wao.ui.import.samplingPlanLabel=du plan d'\u00e9chantillonnage -wao.ui.import.terrestrialDivisionsLabel=du r\u00e9f\u00e9rentiel de stratification spatiale (ObsDeb) +wao.ui.import.obsDebCodesLabel=des codes métiers ObsDeb +wao.ui.import.samplingPlanLabel=du plan d'échantillonnage +wao.ui.import.terrestrialDivisionsLabel=du référentiel de stratification spatiale (ObsDeb) wao.ui.import.terrestrialLocationsLabel=des lieux terrestres wao.ui.import.title=Import %s wao.ui.indicator.andMore=%s et plus wao.ui.indicator.bounds=Bornes -wao.ui.indicator.coefficient=Pond\u00e9ration +wao.ui.indicator.coefficient=Pondération wao.ui.indicator.editions=Modifications wao.ui.indicator.indicator=Indicateur -wao.ui.indicator.legend=En jaune, la position actuelle de la soci\u00e9t\u00e9 selon cet indicateur. +wao.ui.indicator.legend=En jaune, la position actuelle de la société selon cet indicateur. wao.ui.indicator.levels=Niveaux -wao.ui.indicator.useRightDecimalSymbol=Attention \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales +wao.ui.indicator.useRightDecimalSymbol=Attention à bien utiliser ',' et non '.' pour les décimales wao.ui.indicators.coefficientsSum=Total coefficient -wao.ui.indicators.title=Indicateurs qualit\u00e9s prestataires +wao.ui.indicators.title=Indicateurs qualités prestataires wao.ui.invalidLogin=Identifiant invalide -wao.ui.layout.userDescription=Vous \u00eates %s de la soci\u00e9t\u00e9 %s (%s) +wao.ui.layout.userDescription=Vous êtes %s de la société %s (%s) wao.ui.message.chooseProfile=Choisissez dans la liste votre profil de connexion \: -wao.ui.misc.METIER=M\u00c9TIER -wao.ui.misc.N/A=non renseign\u00e9e -wao.ui.misc.accepted=Accept\u00e9 -wao.ui.misc.advancedSearch=Recherche avanc\u00e9e +wao.ui.misc.METIER=MÉTIER +wao.ui.misc.N/A=non renseignée +wao.ui.misc.accepted=Accepté +wao.ui.misc.advancedSearch=Recherche avancée wao.ui.misc.by=par wao.ui.misc.changeOn=Modification du wao.ui.misc.comment=Commentaire -wao.ui.misc.commentAddedOn=Commentaire ajout\u00e9 le +wao.ui.misc.commentAddedOn=Commentaire ajouté le wao.ui.misc.comments=Commentaires -wao.ui.misc.companies=Soci\u00e9t\u00e9s -wao.ui.misc.createdOnF=Cr\u00e9\u00e9e le -wao.ui.misc.creating=En cours de cr\u00e9ation +wao.ui.misc.companies=Sociétés +wao.ui.misc.createdOnF=Créée le +wao.ui.misc.creating=En cours de création wao.ui.misc.dayOfWeek=Jour wao.ui.misc.export=Export wao.ui.misc.export.longTitle=Export CSV @@ -237,7 +238,7 @@ wao.ui.misc.logFile.description=Afficher le fichier de log de %s wao.ui.misc.no=Non wao.ui.misc.noComment=aucun commentaire -wao.ui.misc.notValidated=Non valid\u00e9 +wao.ui.misc.notValidated=Non validé wao.ui.misc.observationReport=Compte-rendu d'observation wao.ui.misc.observations=Observations wao.ui.misc.observer=Observateur @@ -247,84 +248,84 @@ wao.ui.misc.other=Autre wao.ui.misc.otherInfos=Autre information wao.ui.misc.others=Autres -wao.ui.misc.refused=R\u00e9fus\u00e9 +wao.ui.misc.refused=Réfusé wao.ui.misc.since=depuis le wao.ui.misc.total=Total -wao.ui.misc.undefined=Non-d\u00e9fini -wao.ui.misc.validated=Valid\u00e9 +wao.ui.misc.undefined=Non-défini +wao.ui.misc.validated=Validé wao.ui.misc.week=Semaine -wao.ui.misc.year=Ann\u00e9e +wao.ui.misc.year=Année wao.ui.misc.yes=Oui -wao.ui.nContactsFound=%s contacts trouv\u00e9s +wao.ui.nContactsFound=%s contacts trouvés wao.ui.news.content=Texte wao.ui.news.title=Titre wao.ui.page.Administration.title=Administration wao.ui.page.Boats.title=Navires wao.ui.page.Cartography.title=Cartographie -wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises \u00e0 des personnels ext\u00e9rieurs, soyez riguoureux dans la description de la capture accidentelle +wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises à des personnels extérieurs, soyez riguoureux dans la description de la capture accidentelle wao.ui.page.ContactForm.title=Modification d'un contact wao.ui.page.Contacts.title=Contacts wao.ui.page.Index.title=Accueil -wao.ui.page.SamplingPlan.title=Plan d'\u00e9chantillonnage -wao.ui.page.Synthesis.title=Synth\u00e8se +wao.ui.page.SamplingPlan.title=Plan d'échantillonnage +wao.ui.page.Synthesis.title=Synthèse wao.ui.page.UserProfileForm.title=Gestion du profil -wao.ui.publishedByProgram=Publi\u00e9e par le programme -wao.ui.publishedByYourCompany=Publi\u00e9e par la soci\u00e9t\u00e9 -wao.ui.sampleRow.creation=Cr\u00e9ation d'une ligne du plan d'\u00e9chantillonnage +wao.ui.publishedByProgram=Publiée par le programme +wao.ui.publishedByYourCompany=Publiée par la société +wao.ui.sampleRow.creation=Création d'une ligne du plan d'échantillonnage wao.ui.sampleRow.edition=Modification de la ligne %s wao.ui.sampleRowLog.title=Historique de la ligne %s -wao.ui.samplingPlan.Actual=R\u00e9alis\u00e9 +wao.ui.samplingPlan.Actual=Réalisé wao.ui.samplingPlan.actions=Actions -wao.ui.samplingPlan.actual=r\u00e9alis\u00e9 -wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'\u00e9chantillonnage -wao.ui.samplingPlan.averageTideTime=Dur\u00e9e moyenne d'une mar\u00e9e (J.) -wao.ui.samplingPlan.effort=Effort d'observation en nombre de mar\u00e9es -wao.ui.samplingPlan.estimated=estim\u00e9 -wao.ui.samplingPlan.expected=planifi\u00e9 -wao.ui.samplingPlan.export=Exporter le plan d'\u00e9chantillonnage du %s au %s -wao.ui.samplingPlan.fieldWork.see=Voir le plan d'\u00e9chantillonnage de terrain -wao.ui.samplingPlan.fieldWork.title=Plan d'\u00e9chantillonnage de terrain +wao.ui.samplingPlan.actual=réalisé +wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'échantillonnage +wao.ui.samplingPlan.averageTideTime=Durée moyenne d'une marée (J.) +wao.ui.samplingPlan.effort=Effort d'observation en nombre de marées +wao.ui.samplingPlan.estimated=estimé +wao.ui.samplingPlan.expected=planifié +wao.ui.samplingPlan.export=Exporter le plan d'échantillonnage du %s au %s +wao.ui.samplingPlan.fieldWork.see=Voir le plan d'échantillonnage de terrain +wao.ui.samplingPlan.fieldWork.title=Plan d'échantillonnage de terrain wao.ui.samplingPlan.fishingZoneInfo=Zone autre(s) info(s) wao.ui.samplingPlan.months=Mois wao.ui.samplingPlan.nbObservants=Nb. d'observateurs -wao.ui.samplingPlan.phoneCall.see=Voir le plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique -wao.ui.samplingPlan.phoneCall.title=Plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique -wao.ui.samplingPlan.program=Programme ou r\u00e8glement rattachement -wao.ui.samplingPlan.sampledProfessions=M\u00e9tiers \u00e9chantillonn\u00e9s -wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00e9alis\u00e9 pour les contacts valid\u00e9s seulement -wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00e9 pour les contacts valid\u00e9s ou non par la soci\u00e9t\u00e9 -wao.ui.samplingPlan.title=Plan d'\u00e9chantillonnage -wao.ui.synthesis.allegroReactivity.description=Ce r\u00e9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00e9es et la date de fin d'observation. -wao.ui.synthesis.allegroReactivity.title=R\u00e9activit\u00e9 quant \u00e0 la saisie des donn\u00e9es +wao.ui.samplingPlan.phoneCall.see=Voir le plan d'échantillonnage téléphonique +wao.ui.samplingPlan.phoneCall.title=Plan d'échantillonnage téléphonique +wao.ui.samplingPlan.program=Programme ou règlement rattachement +wao.ui.samplingPlan.sampledProfessions=Métiers échantillonnés +wao.ui.samplingPlan.showActual=Afficher l'effort d'observations réalisé pour les contacts validés seulement +wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estimé pour les contacts validés ou non par la société +wao.ui.samplingPlan.title=Plan d'échantillonnage +wao.ui.synthesis.allegroReactivity.description=Ce résultat est une moyenne du nombre de jours entre la date de saisie des données et la date de fin d'observation. +wao.ui.synthesis.allegroReactivity.title=Réactivité quant à la saisie des données wao.ui.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations. -wao.ui.synthesis.boarding.description=Ces r\u00e9sultats ne concernent que les lignes du plan d'\u00e9chantillonnage ayant une dur\u00e9e moyenne de mar\u00e9es inf\u00e9rieure ou \u00e9gale \u00e0 48h. -wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00e9 avec %s observations (tous programmes confondus) \: %s (%s) +wao.ui.synthesis.boarding.description=Ces résultats ne concernent que les lignes du plan d'échantillonnage ayant une durée moyenne de marées inférieure ou égale à 48h. +wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicité avec %s observations (tous programmes confondus) \: %s (%s) wao.ui.synthesis.boarding.title=Sollicitations des navires -wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00e9vu d'observateurs pour chaque mar\u00e9e r\u00e9alis\u00e9e. -wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00e9s -wao.ui.synthesis.contactsStates.description=Ces r\u00e9sultats concernent l'ensemble des \u00e9tats des contacts except\u00e9 ceux qui ont \u00e9t\u00e9 refus\u00e9s par le programme. -wao.ui.synthesis.contactsStates.title=\u00c9tats des contacts -wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00e9es exploitables par rapport nombre de mar\u00e9e r\u00e9alis\u00e9es. -wao.ui.synthesis.dataReliability.title=Qualit\u00e9 de la donn\u00e9e -wao.ui.synthesis.dataSampling.title=Donn\u00e9es des mar\u00e9es (r\u00e9alis\u00e9 / planifi\u00e9) +wao.ui.synthesis.complianceBoarding.description=Respect du nombre prévu d'observateurs pour chaque marée réalisée. +wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqués +wao.ui.synthesis.contactsStates.description=Ces résultats concernent l'ensemble des états des contacts excepté ceux qui ont été refusés par le programme. +wao.ui.synthesis.contactsStates.title=États des contacts +wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de marées exploitables par rapport nombre de marée réalisées. +wao.ui.synthesis.dataReliability.title=Qualité de la donnée +wao.ui.synthesis.dataSampling.title=Données des marées (réalisé / planifié) wao.ui.synthesis.distinctBoatsCounts.axisName=Nombre de navires distincts -wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'ann\u00e9e -wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observ\u00e9s selon le mois de l'ann\u00e9e -wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observ\u00e9s -wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00e8se global -wao.ui.synthesis.globalSynthesis.title=Synth\u00e8se globale -wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00e8se globale (selon estimations) -wao.ui.synthesis.log.description=Cette page pr\u00e9sente toutes les modifications effectu\u00e9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs. -wao.ui.synthesis.log.empty=Aucune modification n'a \u00e9t\u00e9 apport\u00e9e \u00e0 ce jour +wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'année +wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observés selon le mois de l'année +wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observés +wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synthèse global +wao.ui.synthesis.globalSynthesis.title=Synthèse globale +wao.ui.synthesis.globalSynthesis.title.estimated=Synthèse globale (selon estimations) +wao.ui.synthesis.log.description=Cette page présente toutes les modifications effectuées depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs. +wao.ui.synthesis.log.empty=Aucune modification n'a été apportée à ce jour wao.ui.synthesis.log.entry.author=Auteur de la modification -wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9 +wao.ui.synthesis.log.entry.comment=Commentaire associé wao.ui.synthesis.log.entry.date=Date de la modification -wao.ui.synthesis.log.entry.summary=Modifications effectu\u00e9es -wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale +wao.ui.synthesis.log.entry.summary=Modifications effectuées +wao.ui.synthesis.log.title=Historique des modifications des paramètres de la synthèse globale wao.ui.synthesis.observationHours.axisName=Nombre d'observations -wao.ui.synthesis.observationHours.categoryName=Heures de la journ\u00e9e -wao.ui.synthesis.observationHours.description=Nombre d'observations effectu\u00e9e selon l'heure d'arriv\u00e9e -wao.ui.synthesis.observationHours.title=Distribution des p\u00e9riodes d'observation -wao.ui.unavailableOperation=Op\u00e9ration non-disponible +wao.ui.synthesis.observationHours.categoryName=Heures de la journée +wao.ui.synthesis.observationHours.description=Nombre d'observations effectuée selon l'heure d'arrivée +wao.ui.synthesis.observationHours.title=Distribution des périodes d'observation +wao.ui.unavailableOperation=Opération non-disponible wao.ui.userList=Liste des utilisateurs wao.ui.validLogin=Identifiant valide Modified: trunk/wao-ui/src/main/webapp/ContactForm.tml =================================================================== --- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-06-03 16:06:35 UTC (rev 1314) @@ -84,14 +84,16 @@ ${contact.mainObserver.fullName} </t:if> </div> - <div> - <label>${message:wao.ui.field.Contact.secondaryObservers}</label> - <ul class="value"> - <li t:type="loop" t:source="contact.secondaryObservers" t:value="observer" t:volatile="true"> - ${observer.fullName} - </li> - </ul> - </div> + <t:if test="showSecondaryObservers()"> + <div> + <label>${message:wao.ui.field.Contact.secondaryObservers}</label> + <ul class="value"> + <li t:type="loop" t:source="contact.secondaryObservers" t:value="observer" t:volatile="true"> + ${observer.fullName} + </li> + </ul> + </div> + </t:if> </t:block> <t:block id="editObservers"> @@ -103,16 +105,18 @@ t:values="observers" t:selectedValue="contact.mainObserver" /> </div> - <div> - <label for="secondaryObservers">${message:wao.ui.field.Contact.secondaryObservers}</label> - <t:topiaEntitySelector t:id="secondaryObservers" - t:multiple="true" - t:clazzName="WaoUser" - t:labelPropertyName="fullName" - t:values="observers" - t:selectedValues="contact.secondaryObservers" - size="6"/> - </div> + <t:if test="showSecondaryObservers()"> + <div> + <label for="secondaryObservers">${message:wao.ui.field.Contact.secondaryObservers}</label> + <t:topiaEntitySelector t:id="secondaryObservers" + t:multiple="true" + t:clazzName="WaoUser" + t:labelPropertyName="fullName" + t:values="observers" + t:selectedValues="contact.secondaryObservers" + size="6"/> + </div> + </t:if> </t:block> <fieldset> Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml =================================================================== --- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-06-03 16:06:35 UTC (rev 1314) @@ -146,7 +146,12 @@ </p:boatHeader> <p:boatCell> <span t:type="ck/Tooltip" title="Infos" t:value="prop:boatDescription" t:effect="appear"> - ${sampleRow.boat.name} + <a t:type="pagelink" + t:page="boats" + t:context="contextForBoat" + title="${message:wao.ui.action.showDetails}" > + ${sampleRow.boat.name} + </a> </span> </p:boatCell> @@ -156,8 +161,13 @@ </p:substitutesHeader> <p:substitutesCell> <t:loop source="substitutes" value="substitute"> - <span t:type="ck/Tooltip" title="Infos" t:value="prop:boatDescription" t:effect="appear"> - ${substitute.name} + <span t:type="ck/Tooltip" title="Infos" t:value="prop:substituteDescription" t:effect="appear"> + <a t:type="pagelink" + t:page="boats" + t:context="contextForSubstitute" + title="${message:wao.ui.action.showDetails}" > + ${substitute.name} + </a> </span> </t:loop> </p:substitutesCell> @@ -194,7 +204,7 @@ <img src="${asset:context:}/img/delete2.png" alt="${message:wao.ui.action.deleteSampleRow}" /> </a> </t:if> - <a t:type="pagelink" t:page="boats" t:context="sampleRow.code"> + <a t:type="pagelink" t:page="boats" t:context="contextForBoats"> <img src="${asset:context:}/img/boat.png" alt="${message:wao.ui.entity.Boats}" /> </a> </p:actionsCell> Modified: trunk/wao-ui/src/main/webapp/SampleRowForm.tml =================================================================== --- trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2011-06-03 12:42:45 UTC (rev 1313) +++ trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2011-06-03 16:06:35 UTC (rev 1314) @@ -59,7 +59,7 @@ <div class="t-beaneditor-row"> <label for="observers">${message:wao.ui.field.SampleRow.observers}</label> <t:topiaEntitySelector t:id="observers" - t:multiple="true" + t:multiple="sampleRow.fieldWorkObservation" t:clazzName="WaoUser" t:labelPropertyName="fullName" t:values="observers" @@ -84,6 +84,14 @@ t:values="boats" t:selectedValue="sampleRow.boat" /> </div> + <div class="t-beaneditor-row"> + <label for="regionIfremer">${message:wao.ui.field.SampleRow.regionIfremer}</label> + <t:topiaEntitySelector t:id="regionIfremer" + t:clazzName="TerrestrialLocation" + t:labelPropertyName="description" + t:values="regionIfremers" + t:selectedValue="sampleRow.terrestrialLocation" /> + </div> </t:if> <t:if test="sampleRow.fieldWorkObservation"> <div class="t-beaneditor-row">