[Suiviobsmer-commits] r1298 - in trunk: 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/models wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-business/src/test/resources/import wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/resources/i18n wao-ui/src/main/webapp
Author: bleny Date: 2011-05-26 10:07:55 +0000 (Thu, 26 May 2011) New Revision: 1298 Log: add BoatGroup and Fleets in model, migration Boats page Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java Removed: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.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/ServiceSamplingImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-business/src/test/resources/import/navires.csv trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 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/Boats.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -904,8 +904,22 @@ "topiaVersion BIGINT NOT NULL," + "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," + "code CHARACTER VARYING(255)," + - "name TEXT);"); + "fleetName CHARACTER VARYING(255)," + + "subFleetName CHARACTER VARYING(255)," + + "subSubFleetName CHARACTER VARYING(255));"); queries.add("ALTER TABLE Boat ADD fleet CHARACTER VARYING(255);"); queries.add("ALTER TABLE Boat ADD CONSTRAINT fleet_fkey FOREIGN KEY (fleet) REFERENCES Fleet(topiaId);"); } + + @Override + protected void addBoatGroupToBoats_3_0(List<String> queries) { + queries.add("CREATE TABLE BoatGroup (" + + "topiaId CHARACTER VARYING(255) PRIMARY KEY," + + "topiaVersion BIGINT NOT NULL," + + "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," + + "code CHARACTER VARYING(255)," + + "name TEXT);"); + queries.add("ALTER TABLE Boat ADD boatGroup CHARACTER VARYING(255);"); + queries.add("ALTER TABLE Boat ADD CONSTRAINT boatGroup_fkey FOREIGN KEY (boatGroup) REFERENCES BoatGroup(topiaId);"); + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -149,6 +149,8 @@ protected abstract void addFleetToBoats_3_0(List<String> queries); + protected abstract void addBoatGroupToBoats_3_0(List<String> queries); + protected abstract void addObsDebCodes_3_0(List<String> queries); protected static final Version[] VERSIONS = new Version[] { @@ -519,6 +521,8 @@ addPortOfRegistryToBoats_3_0(queries); + addBoatGroupToBoats_3_0(queries); + addFleetToBoats_3_0(queries); String[] strings = queries.toArray(new String[queries.size()]); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -25,17 +25,14 @@ import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.DataReliability; import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.bean.ObservationType; import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.UserFilter; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.WaoUser; -import net.fortuna.ical4j.model.Period; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; -import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.util.PeriodDates; import org.slf4j.Logger; @@ -447,6 +444,10 @@ query.addEquals(boatProperty.portOfRegistry(), filter.getPortOfRegistry()); } + if (filter.getBoatGroup() != null) { + query.addEquals(boatProperty.boatGroup(), filter.getBoatGroup()); + } + if (filter.getFleet() != null) { query.addEquals(boatProperty.fleet(), filter.getFleet()); } @@ -527,9 +528,9 @@ // sample row, we want to get all the boats we can // found in the same fleet as the boat associated to the // sample row - query.addEquals(boatProperty.fleet(), + query.addEquals(boatProperty.boatGroup(), filter.getSampleRow().getBoat() - .getFleet()); + .getBoatGroup()); } } } else { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -42,6 +42,6 @@ StringUtils.isNotEmpty(getShipOwnerName()) || getBoatImmatriculation() != null || getPortOfRegistry() != null || - getFleet() != null; + getBoatGroup() != null; } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -24,12 +24,11 @@ package fr.ifremer.wao.bean; import fr.ifremer.wao.entity.Boat; -import fr.ifremer.wao.entity.Company; +import fr.ifremer.wao.entity.BoatGroup; import fr.ifremer.wao.entity.ElligibleBoat; import fr.ifremer.wao.entity.Fleet; import fr.ifremer.wao.entity.TerrestrialLocation; -import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -39,39 +38,18 @@ public class BoatFilterValuesImpl extends BoatFilterValues { @Override - public void addPortsOfRegistry(TerrestrialLocation toAdd) { - if (toAdd == null) { - return; - } - if (getPortsOfRegistry() == null) { - setPortsOfRegistry(new ArrayList<TerrestrialLocation>()); - } - if (!containsPortsOfRegistry(toAdd)) { - super.addPortsOfRegistry(toAdd); - } - } - - @Override public List<TerrestrialLocation> getPortsOfRegistryAsList() { return getAsList(getPortsOfRegistry()); } @Override - public void addFleets(Fleet toAdd) { - if (toAdd == null) { - return; - } - if (getFleets() == null) { - setFleets(new ArrayList<Fleet>()); - } - if (!containsFleets(toAdd)) { - super.addFleets(toAdd); - } + public List<Fleet> getFleetsAsList() { + return getAsList(getFleets()); } @Override - public List<Fleet> getFleetsAsList() { - return getAsList(getFleets()); + public List<BoatGroup> getBoatGroupsAsList() { + return getAsList(getBoatGroups()); } @Override @@ -79,6 +57,7 @@ super.clear(); setPortsOfRegistry(new HashSet<TerrestrialLocation>()); setFleets(new HashSet<Fleet>()); + setBoatGroups(new HashSet<BoatGroup>()); } @Override @@ -86,6 +65,7 @@ super.removeNullValues(); getPortsOfRegistry().remove(null); getFleets().remove(null); + getBoatGroups().remove(null); } @Override @@ -99,6 +79,7 @@ } addPortsOfRegistry(boat.getPortOfRegistry()); addFleets(boat.getFleet()); + addBoatGroups(boat.getBoatGroup()); } removeNullValues(); Copied: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java (from rev 1280, trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java) =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -0,0 +1,14 @@ +package fr.ifremer.wao.entity; + +public class BoatGroupImpl extends BoatGroupAbstract { + + @Override + public String getDescription() { + return getCode() + " - " + getName(); + } + + @Override + public String toString() { + return getDescription(); + } +} Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -1,14 +0,0 @@ -package fr.ifremer.wao.entity; - -public class FleetImpl extends FleetAbstract { - - @Override - public String getDescription() { - return getCode() + " - " + getName(); - } - - @Override - public String toString() { - return getDescription(); - } -} Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -0,0 +1,13 @@ +package fr.ifremer.wao.entity; + +public class FleetImpl extends FleetAbstract { + + @Override + public String getDescription() { + String description = String.format("%s - %s - %s", + getFleetName(), + getSubFleetName(), + getSubSubFleetName()); + return description; + } +} Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -4,6 +4,7 @@ import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.BoatDistrictImpl; import fr.ifremer.wao.entity.BoatImpl; +import fr.ifremer.wao.entity.BoatGroupImpl; import fr.ifremer.wao.entity.FleetImpl; import fr.ifremer.wao.entity.ShipOwnerImpl; import fr.ifremer.wao.entity.TerrestrialLocation; @@ -15,6 +16,7 @@ import fr.ifremer.wao.io.csv2.ValueGetterSetter; import fr.ifremer.wao.io.csv2.ValueParserFormatter; import fr.ifremer.wao.io.csv2.models.operations.PortParserFormatter; +import org.apache.commons.lang.StringUtils; import java.text.ParseException; import java.util.Collection; @@ -34,13 +36,13 @@ /** Constructor for export */ public BoatImportExportModel() { - buildModel(); } - /** Constructor for import */ + /** Constructor for import + * @param ports ports that can be used by boats as port of registry + */ public BoatImportExportModel(List<TerrestrialLocation> ports) { this.ports = ports; - buildModel(); } protected void buildModel() { @@ -122,29 +124,104 @@ new PortParserFormatter(ports, true)); // fleet - modelBuilder.newColumnForImportExport("FLOTILLE_CODE", new ValueGetterSetter<Boat, String>() { - @Override - public String get(Boat boat) throws Exception { - return boat.getFleet().getCode(); - } + modelBuilder.newColumnForImportExport( + "FLOTILLE_CODE", + new ValueGetterSetter<Boat, String>() { + @Override + public String get(Boat boat) throws Exception { + String fleetCode = ""; + if (boat.getFleet() != null) { + fleetCode = boat.getFleet().getCode(); + } + return fleetCode; + } - @Override - public void set(Boat boat, String code) throws Exception { - boat.getFleet().setCode(code); - } - }); - modelBuilder.newColumnForImportExport("FLOTILLE_NOM", new ValueGetterSetter<Boat, String>() { - @Override - public String get(Boat boat) throws Exception { - return boat.getFleet().getName(); - } + @Override + public void set(Boat boat, String code) throws Exception { + if (StringUtils.isNotBlank(code)) { + boat.getFleet().setCode(code); + } + } + }); - @Override - public void set(Boat boat, String name) throws Exception { - boat.getFleet().setName(name); - } - }); + modelBuilder.newColumnForImportExport( + "FLOTILLE_NOM", + new ValueGetterSetter<Boat, String>() { + @Override + public String get(Boat boat) throws Exception { + String fleetName = ""; + if (boat.getFleet() != null) { + fleetName = boat.getFleet().getFleetName(); + } + return fleetName; + } + @Override + public void set(Boat boat, String name) throws Exception { + if (StringUtils.isNotBlank(name)) { + boat.getFleet().setFleetName(name); + } + } + }); + + modelBuilder.newColumnForImportExport( + "SOUS_FLOTILLE_NOM", + new ValueGetterSetter<Boat, String>() { + @Override + public String get(Boat boat) throws Exception { + String subFleetName = ""; + if (boat.getFleet() != null) { + subFleetName = boat.getFleet().getSubFleetName(); + } + return subFleetName; + } + + @Override + public void set(Boat boat, String subFleetName) throws Exception { + boat.getFleet().setSubFleetName(subFleetName); + } + }); + + modelBuilder.newColumnForImportExport( + "SOUS_SOUS_FLOTILLE_NOM", + new ValueGetterSetter<Boat, String>() { + @Override + public String get(Boat boat) throws Exception { + String subSubFleetName = ""; + if (boat.getFleet() != null) { + subSubFleetName = + boat.getFleet().getSubSubFleetName(); + } + return subSubFleetName; + } + + @Override + public void set(Boat boat, String subSubFleetName) throws Exception { + boat.getFleet().setSubSubFleetName(subSubFleetName); + } + }); + + // boat group + modelBuilder.newColumnForImportExport( + "STRATE_CODE", + new ValueGetterSetter<Boat, String>() { + @Override + public String get(Boat boat) throws Exception { + String boatGroupCode = ""; + if (boat.getBoatGroup() != null) { + boatGroupCode = boat.getBoatGroup().getCode(); + } + return boatGroupCode; + } + + @Override + public void set(Boat boat, String code) throws Exception { + if (StringUtils.isNotBlank(code)) { + boat.getBoatGroup().setCode(code); + } + } + }); + } @Override @@ -162,17 +239,24 @@ Boat emptyInstance = new BoatImpl(); emptyInstance.setShipOwner(new ShipOwnerImpl()); emptyInstance.setBoatDistrict(new BoatDistrictImpl()); + emptyInstance.setBoatGroup(new BoatGroupImpl()); emptyInstance.setFleet(new FleetImpl()); return emptyInstance; } @Override public Collection<ImportableColumn> getColumnsForImport() { + if (modelBuilder == null) { + buildModel(); + } return modelBuilder.getColumnsForImport(); } @Override public Collection<ExportableColumn> getColumnsForExport() { + if (modelBuilder == null) { + buildModel(); + } return modelBuilder.getColumnsForExport(); } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -51,6 +51,8 @@ import fr.ifremer.wao.entity.BoatDAO; import fr.ifremer.wao.entity.BoatDistrict; import fr.ifremer.wao.entity.BoatDistrictDAO; +import fr.ifremer.wao.entity.BoatGroup; +import fr.ifremer.wao.entity.BoatGroupDAO; import fr.ifremer.wao.entity.BoatInfos; import fr.ifremer.wao.entity.BoatInfosDAO; import fr.ifremer.wao.entity.BoatInfosImpl; @@ -141,6 +143,7 @@ query.addFetch( // boatProperty.activityCalendar(), boatProperty.portOfRegistry(), + boatProperty.boatGroup(), boatProperty.fleet(), boatProperty.boatDistrict()); @@ -430,12 +433,26 @@ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction); ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction); BoatDistrictDAO boatDistrictDAO = WaoDAOHelper.getBoatDistrictDAO(transaction); + BoatGroupDAO boatGroupDAO = WaoDAOHelper.getBoatGroupDAO(transaction); FleetDAO fleetDAO = WaoDAOHelper.getFleetDAO(transaction); // load data that will be linked to the boat - Map<String, ShipOwner> shipOwners = WaoUtils.projectPropertyUnique(shipOwnerDAO.findAll(), ShipOwner.PROPERTY_CODE); - Map<String, BoatDistrict> districts = WaoUtils.projectPropertyUnique(boatDistrictDAO.findAll(), BoatDistrict.PROPERTY_CODE); - Map<String, Fleet> fleets = WaoUtils.projectPropertyUnique(fleetDAO.findAll(), Fleet.PROPERTY_CODE); + Map<String, ShipOwner> shipOwners = + WaoUtils.projectPropertyUnique( + shipOwnerDAO.findAll(), + ShipOwner.PROPERTY_CODE); + Map<String, BoatDistrict> districts = + WaoUtils.projectPropertyUnique( + boatDistrictDAO.findAll(), + BoatDistrict.PROPERTY_CODE); + Map<String, Fleet> fleets = + WaoUtils.projectPropertyUnique( + fleetDAO.findAll(), + Fleet.PROPERTY_CODE); + Map<String, BoatGroup> boatGroups = + WaoUtils.projectPropertyUnique( + boatGroupDAO.findAll(), + BoatGroup.PROPERTY_CODE); // init the counts to be returned ImportResults importResults = new ImportResultsImpl(); @@ -469,13 +486,30 @@ // third, find and reuse fleet String fleetCode = boat.getFleet().getCode(); - Fleet fleet = fleets.get(fleetCode); - if (fleet == null) { - fleet = fleetDAO.create(boat.getFleet()); - fleets.put(fleetCode, fleet); + if (fleetCode == null) { + boat.setFleet(null); + } else { + Fleet fleet = fleets.get(fleetCode); + if (fleet == null) { + fleet = fleetDAO.create(boat.getFleet()); + fleets.put(fleetCode, fleet); + } + boat.setFleet(fleet); } - boat.setFleet(fleet); + // fourth, the group + String boatGroupCode = boat.getBoatGroup().getCode(); + if (boatGroupCode == null) { + boat.setBoatGroup(null); + } else { + BoatGroup boatGroup = boatGroups.get(boatGroupCode); + if (boatGroup == null) { + boatGroup = boatGroupDAO.create(boat.getBoatGroup()); + boatGroups.put(boatGroupCode, boatGroup); + } + boat.setBoatGroup(boatGroup); + } + // now boat object is ready Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation()); if (existingBoat == null) { @@ -490,6 +524,7 @@ existingBoat.setShipOwner(boat.getShipOwner()); existingBoat.setBoatDistrict(boat.getBoatDistrict()); existingBoat.setPortOfRegistry(boat.getPortOfRegistry()); + existingBoat.setBoatGroup(boat.getBoatGroup()); existingBoat.setFleet(boat.getFleet()); boatDAO.update(existingBoat); } 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-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -1612,16 +1612,16 @@ Comparator<Boat> comparator = new BoatLengthComparator(boat); Set<Boat> substitutes = new TreeSet<Boat>(comparator); - if (boat.getFleet() != null) { + if (boat.getBoatGroup() != null) { // a substitute for a boat must be in the same fleet - substitutes.addAll(boatDAO.findAllByFleet(boat.getFleet())); + substitutes.addAll(boatDAO.findAllByBoatGroup(boat.getBoatGroup())); substitutes.remove(boat); // a boat is not substitute for itself // a substitute must not have been contacted since one month // so let's find all contact for this fleet done from now to one month ago ContactFilter contactFilter = new ContactFilterImpl(); contactFilter.setFromDate(DateUtils.addMonths(context.getCurrentDate(), -1)); - contactFilter.setFleet(boat.getFleet()); + contactFilter.setBoatGroup(boat.getBoatGroup()); Map<String, Contact> contacts = executeGetContacts(transaction, contactFilter); // for all the contact found, the boat can not be a substitute @@ -1630,6 +1630,22 @@ } } + if (log.isDebugEnabled()) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("substitutes for boat ") + .append(boat.getName()) + .append(" (length = ") + .append(boat.getBoatLength()) + .append(") are: "); + for (Boat substitute : substitutes) { + stringBuilder.append(substitute.getName()) + .append(" (length = ") + .append(substitute.getBoatLength()) + .append(") "); + } + log.debug(stringBuilder.toString()); + } + return substitutes; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-26 10:07:55 UTC (rev 1298) @@ -625,7 +625,7 @@ row.sizeObservers(); if (row.getObservationType() == ObservationType.PHONE_CALL) { - row.getBoat().getFleet(); + row.getBoat().getBoatGroup(); } } } @@ -688,7 +688,7 @@ result.getObservationUnit(); if (result.getObservationType() == ObservationType.PHONE_CALL) { - result.getBoat().getFleet(); + result.getBoat().getBoatGroup(); } } } @@ -729,7 +729,7 @@ result.sizeObservers(); result.getObservationUnit(); if (result.getObservationType() == ObservationType.PHONE_CALL) { - result.getBoat().getFleet(); + result.getBoat().getBoatGroup(); } } else { result.sizeElligibleBoat(); Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/resources/import/navires.csv =================================================================== --- trunk/wao-business/src/test/resources/import/navires.csv 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-business/src/test/resources/import/navires.csv 2011-05-26 10:07:55 UTC (rev 1298) @@ -1,7 +1,7 @@ -NAVIRE_IMMATRICULATION;NAVIRE_NOM;NAVIRE_LONGUEUR;NAVIRE_ANNEE;QUARTIER_CODE;ARMATEUR_CODE;ARMATEUR_NOM;ARMATEUR_PRENOM;NAVIRE_ACTIF;PORT_CODE;FLOTILLE_CODE;FLOTILLE_NOM -273129;MOISE;7;1992;UX;19771564;BEURRE ;JEAN CLAUDE;Y;MP3;FLOTILLE1;Ma première flotille -174258;SAMOURAI KING;9;1982;UN;19744130;MARIE ;JEAN PHILIPPE;Y;MP6;FLOTILLE1;Ma première flotille -177474;MAYFLOWERS;10;1983;UN;19784252;MOSELLE ;ALAIN RENE;N;XSN;FLOTILLE0;Les colons -174592;FIFITOU;8;1975;UN;18854131;POUTRE ;JEAN PIERRE;Y;XSN;FLOTILLE1;Ma première flotille -284595;A MA LOUTRE;8;1973;UN; SPR3965;BECANAUD; NA;Y;LP3;FLOTILLE2;Petits navires -978419;BISOUNOURS;11;2002;CI;18854131;POUTRE ;JEAN PIERRE;Y;MP6;FLOTILLE2;Petits navires +NAVIRE_IMMATRICULATION;NAVIRE_NOM;NAVIRE_LONGUEUR;NAVIRE_ANNEE;QUARTIER_CODE;ARMATEUR_CODE;ARMATEUR_NOM;ARMATEUR_PRENOM;NAVIRE_ACTIF;PORT_CODE;FLOTILLE_CODE;FLOTILLE_NOM;SOUS_FLOTILLE_NOM;SOUS_SOUS_FLOTILLE_NOM;STRATE_CODE +273129;MOISE;7;1992;UX;19771564;BEURRE ;JEAN CLAUDE;Y;MP3;FLOTILLE1;Ma première flotille;A;A;STRATE1 +174258;SAMOURAI KING;9;1982;UN;19744130;MARIE ;JEAN PHILIPPE;Y;MP6;FLOTILLE1;Ma première flotille;A;A;STRATE1 +177474;MAYFLOWERS;10;1983;UN;19784252;MOSELLE ;ALAIN RENE;N;XSN;FLOTILLE0;Les colons;A;A;STRATE0 +174592;FIFITOU;8;1975;UN;18854131;POUTRE ;JEAN PIERRE;Y;XSN;FLOTILLE1;Ma première flotille;A;A;STRATE1 +284595;A MA LOUTRE;8;1973;UN; SPR3965;BECANAUD; NA;Y;LP3;FLOTILLE2;Petits navires;A;A;STRATE2 +978419;BISOUNOURS;11;2002;CI;18854131;POUTRE ;JEAN PIERRE;Y;MP6;FLOTILLE2;Petits navires;A;A;STRATE2 Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 2011-05-26 10:07:55 UTC (rev 1298) @@ -109,6 +109,13 @@ t:labelPropertyName="description" t:values="possibleValuesForFilter.fleetsAsList" t:selectedValue="filter.fleet" /> + + <label for="boatGroup" style="margin-left: 15px;">${message:wao.ui.field.Boat.boatGroup} :</label> + <t:topiaEntitySelector t:id="boatGroup" + t:clazzName="BoatGroup" + t:labelPropertyName="description" + t:values="possibleValuesForFilter.boatGroupsAsList" + t:selectedValue="filter.boatGroup" /> </div> <div class="aright" style="white-space: nowrap;"> <input t:type="submit" class="ico22px refresh" t:id="refresh" 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-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-26 10:07:55 UTC (rev 1298) @@ -80,6 +80,7 @@ wao.ui.entity.TerrestrialLocation=Place wao.ui.entity.fishingGearDCF=Gear DCF code wao.ui.entity.targetSpeciesDCF=Target species DCF code +wao.ui.field.Boat.boatGroup=Boat group wao.ui.field.Boat.boatLength=Length wao.ui.field.Boat.buildYear=Build year wao.ui.field.Boat.districtCode=District 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-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-26 10:07:55 UTC (rev 1298) @@ -8,79 +8,80 @@ SynthesisId.OBSERVATION_HOUR= wao.ui.action.acceptContact=Valider le contact wao.ui.action.add=Ajouter -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.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.cancel=Annuler wao.ui.action.changeLocale=Changer de langue wao.ui.action.contactAdmin=Contacter un responsable ObsMer -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.create=Cr\u00e9er +wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9 +wao.ui.action.createUser=Cr\u00e9er un utilisateur wao.ui.action.delete=Supprimer -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.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.deleteContact=Supprimer le contact -wao.ui.action.deleteContact.confirm=Êtes-vous sûr de vouloir supprimer définitivement ce contact ? +wao.ui.action.deleteContact.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement ce contact ? wao.ui.action.deleteNews=Supprimer la nouvelle -wao.ui.action.deleteNews.confirm=Êtes-vous sûr de vouloir supprimer définitivement cette nouvelle ? +wao.ui.action.deleteNews.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement cette nouvelle ? wao.ui.action.deleteSampleRow=Supprimer la ligne du plan -wao.ui.action.deleteSampleRow.confirm=Êtes-vous sûr de vouloir supprimer la ligne %s du plan ? +wao.ui.action.deleteSampleRow.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la ligne %s du plan ? wao.ui.action.deleteUser=Supprimer l'utilisateur -wao.ui.action.deleteUser.confirm=Êtes-vous sûr de vouloir supprimer l'utilisateur ? +wao.ui.action.deleteUser.confirm=\u00cates-vous s\u00fbr 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ées +wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations priv\u00e9es wao.ui.action.filter=Filtrer wao.ui.action.hideFilters=Masquer les filtres wao.ui.action.login=Connexion -wao.ui.action.logout=Déconnexion -wao.ui.action.reduceView=Réduire la vue -wao.ui.action.refresh=Rafraîchir +wao.ui.action.logout=D\u00e9connexion +wao.ui.action.reduceView=R\u00e9duire la vue +wao.ui.action.refresh=Rafra\u00eechir wao.ui.action.refuseContact=Refuser le contact wao.ui.action.remove=Retirer -wao.ui.action.resetFields=Remettre le formulaire à zéro +wao.ui.action.resetFields=Remettre le formulaire \u00e0 z\u00e9ro 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étails +wao.ui.action.showDetails=Voir les d\u00e9tails 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ée(s) à ce navire -wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société +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.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire wao.ui.boats.portOfRegistry.header=Port -wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s +wao.ui.boats.selecting=Vous \u00eates en cours de s\u00e9lection 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é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.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.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è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.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.email=Adresse e-mail wao.ui.entity.Boat=Navire wao.ui.entity.Boats=Navires -wao.ui.entity.Company=Société +wao.ui.entity.Company=Soci\u00e9t\u00e9 wao.ui.entity.Contact=Contact -wao.ui.entity.FishingZone=Zones de pêche -wao.ui.entity.SampleRow=Ligne du plan d'échantillonnage +wao.ui.entity.FishingZone=Zones de p\u00eache +wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage wao.ui.entity.TerrestrialLocation=Lieu wao.ui.entity.fishingGearDCF=Engin code DCF -wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF +wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF +wao.ui.field.Boat.boatGroup=Strate wao.ui.field.Boat.boatLength=Longueur -wao.ui.field.Boat.buildYear=Année de construction +wao.ui.field.Boat.buildYear=Ann\u00e9e de construction wao.ui.field.Boat.districtCode=Quartier wao.ui.field.Boat.fleet=Flotille wao.ui.field.Boat.immatriculation=Immatriculation @@ -88,142 +89,142 @@ 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é d'accueil du navire en personnels spécialisés +wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s wao.ui.field.Company.active=Active wao.ui.field.Company.name=Nom -wao.ui.field.Contact.beginDate=Début d'observation +wao.ui.field.Contact.beginDate=D\u00e9but 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=Échantillonnage complet -wao.ui.field.Contact.contactState=État du contact +wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet +wao.ui.field.Contact.contactState=\u00c9tat 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é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.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.endDate=Fin d'observation -wao.ui.field.Contact.landingDate=Date de débarquement -wao.ui.field.Contact.mainObserver=Observateur référent +wao.ui.field.Contact.landingDate=Date de d\u00e9barquement +wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent wao.ui.field.Contact.mammalsCapture=Capture accidentelle -wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des espèces capturées +wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des esp\u00e8ces captur\u00e9es wao.ui.field.Contact.mammalsObservation=Observation exceptionnelle wao.ui.field.Contact.nbObservants=Nombre d'observateurs -wao.ui.field.Contact.obsDebCode=Métier +wao.ui.field.Contact.obsDebCode=M\u00e9tier wao.ui.field.Contact.observationType=Type d'observation -wao.ui.field.Contact.samplingStrategy=Stratégie d'échantillonnage suivie +wao.ui.field.Contact.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage suivie wao.ui.field.Contact.secondaryObservers=Observateurs wao.ui.field.Contact.terrestrialLocation=Lieu d'observation -wao.ui.field.Contact.validationCompany=Validation société +wao.ui.field.Contact.validationCompany=Validation soci\u00e9t\u00e9 wao.ui.field.Contact.validationProgram=Validation programme -wao.ui.field.FishingZone.facadeName=Façade +wao.ui.field.FishingZone.facadeName=Fa\u00e7ade 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été +wao.ui.field.SampleRow.company=Soci\u00e9t\u00e9 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êche -wao.ui.field.SampleRow.libelle=Libellé +wao.ui.field.SampleRow.fishingZones=Zone(s) de p\u00eache +wao.ui.field.SampleRow.libelle=Libell\u00e9 wao.ui.field.SampleRow.meshSize=Maillage wao.ui.field.SampleRow.observationType=Type d'observation -wao.ui.field.SampleRow.observationUnit=Unité d'observation +wao.ui.field.SampleRow.observationUnit=Unit\u00e9 d'observation wao.ui.field.SampleRow.observers=Observateurs wao.ui.field.SampleRow.other=Autre -wao.ui.field.SampleRow.periodBegin=Début +wao.ui.field.SampleRow.periodBegin=D\u00e9but wao.ui.field.SampleRow.periodEnd=Fin -wao.ui.field.SampleRow.profession=Métier -wao.ui.field.SampleRow.professionCode=Code métier +wao.ui.field.SampleRow.profession=M\u00e9tier +wao.ui.field.SampleRow.professionCode=Code m\u00e9tier wao.ui.field.SampleRow.programName=Programme -wao.ui.field.SampleRow.samplingStrategy=Stratégie d'échantillonnage +wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage wao.ui.field.SampleRow.size=Taille du navire -wao.ui.field.SampleRow.species=Espèces cibles +wao.ui.field.SampleRow.species=Esp\u00e8ces cibles wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s) -wao.ui.field.TerrestrialDivision.regionIfremer=Région Ifremer -wao.ui.field.TerrestrialDivision.skillZone=Zone de compétence +wao.ui.field.TerrestrialDivision.regionIfremer=R\u00e9gion Ifremer +wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00e9tence wao.ui.field.TerrestrialDivision.subPopulation=Sous-population -wao.ui.field.User.firstName=Prénom +wao.ui.field.User.firstName=Pr\u00e9nom wao.ui.field.User.lastName=Nom wao.ui.field.User.login=Identifiant -wao.ui.field.UserProfile.userRole=Rôle +wao.ui.field.UserProfile.userRole=R\u00f4le 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î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.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.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ôle +wao.ui.form.addRole=Ajouter ce r\u00f4le wao.ui.form.boardingFrom=Sollicitations du navire depuis le wao.ui.form.contactsFile=Fichier des contacts -wao.ui.form.definePasswordManually=définir manuellement +wao.ui.form.definePasswordManually=d\u00e9finir 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é -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.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.otherBoatInfos=Autres informations sur le navire -wao.ui.form.period=Période +wao.ui.form.period=P\u00e9riode wao.ui.form.period.from=du wao.ui.form.period.to=au -wao.ui.form.periodFrom=Période du -wao.ui.form.periodFromTo=Période du %s au %s +wao.ui.form.periodFrom=P\u00e9riode du +wao.ui.form.periodFromTo=P\u00e9riode du %s au %s wao.ui.form.program=Programme -wao.ui.form.programEvaluation=Évaluation programme +wao.ui.form.programEvaluation=\u00c9valuation programme wao.ui.form.readOnly=lecture seule wao.ui.form.removeRole=retirer ce role -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.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.import.boatsLabel=des navires wao.ui.import.description=Fichier %s %s \: -wao.ui.import.fishingZoneLabel=des zones de pêches +wao.ui.import.fishingZoneLabel=des zones de p\u00eaches 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é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.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.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ération +wao.ui.indicator.coefficient=Pond\u00e9ration wao.ui.indicator.editions=Modifications wao.ui.indicator.indicator=Indicateur -wao.ui.indicator.legend=En jaune, la position actuelle de la société selon cet indicateur. +wao.ui.indicator.legend=En jaune, la position actuelle de la soci\u00e9t\u00e9 selon cet indicateur. wao.ui.indicator.levels=Niveaux -wao.ui.indicator.useRightDecimalSymbol=Attention à bien utiliser ',' et non '.' pour les décimales +wao.ui.indicator.useRightDecimalSymbol=Attention \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales wao.ui.indicators.coefficientsSum=Total coefficient -wao.ui.indicators.title=Indicateurs qualités prestataires +wao.ui.indicators.title=Indicateurs qualit\u00e9s prestataires wao.ui.invalidLogin=Identifiant invalide -wao.ui.layout.userDescription=Vous êtes %s de la société %s (%s) +wao.ui.layout.userDescription=Vous \u00eates %s de la soci\u00e9t\u00e9 %s (%s) wao.ui.message.chooseProfile=Choisissez dans la liste votre profil de connexion \: -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.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.by=par wao.ui.misc.changeOn=Modification du wao.ui.misc.comment=Commentaire -wao.ui.misc.commentAddedOn=Commentaire ajouté le +wao.ui.misc.commentAddedOn=Commentaire ajout\u00e9 le wao.ui.misc.comments=Commentaires -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.companies=Soci\u00e9t\u00e9s +wao.ui.misc.createdOnF=Cr\u00e9\u00e9e le +wao.ui.misc.creating=En cours de cr\u00e9ation wao.ui.misc.dayOfWeek=Jour wao.ui.misc.export=Export wao.ui.misc.export.longTitle=Export CSV @@ -236,7 +237,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é +wao.ui.misc.notValidated=Non valid\u00e9 wao.ui.misc.observationReport=Compte-rendu d'observation wao.ui.misc.observations=Observations wao.ui.misc.observer=Observateur @@ -246,83 +247,83 @@ wao.ui.misc.other=Autre wao.ui.misc.otherInfos=Autre information wao.ui.misc.others=Autres -wao.ui.misc.refused=Réfusé +wao.ui.misc.refused=R\u00e9fus\u00e9 wao.ui.misc.since=depuis le wao.ui.misc.total=Total -wao.ui.misc.undefined=Non-défini -wao.ui.misc.validated=Validé +wao.ui.misc.undefined=Non-d\u00e9fini +wao.ui.misc.validated=Valid\u00e9 wao.ui.misc.week=Semaine -wao.ui.misc.year=Année +wao.ui.misc.year=Ann\u00e9e wao.ui.misc.yes=Oui -wao.ui.nContactsFound=%s contacts trouvés +wao.ui.nContactsFound=%s contacts trouv\u00e9s 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 à des personnels extérieurs, soyez riguoureux dans la description de la capture accidentelle +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.title=Modification d'un contact wao.ui.page.Contacts.title=Contacts wao.ui.page.Index.title=Accueil -wao.ui.page.SamplingPlan.title=Plan d'échantillonnage -wao.ui.page.Synthesis.title=Synthèse +wao.ui.page.SamplingPlan.title=Plan d'\u00e9chantillonnage +wao.ui.page.Synthesis.title=Synth\u00e8se wao.ui.page.UserProfileForm.title=Gestion du profil -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.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.sampleRow.edition=Modification de la ligne %s wao.ui.sampleRowLog.title=Historique de la ligne %s wao.ui.samplingPlan.actions=Actions -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.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.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'é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.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.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations. -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.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.title=Sollicitations des navires -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.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.distinctBoatsCounts.axisName=Nombre de navires distincts -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.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.log.entry.author=Auteur de la modification -wao.ui.synthesis.log.entry.comment=Commentaire associé +wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9 wao.ui.synthesis.log.entry.date=Date de la modification -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.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.observationHours.axisName=Nombre d'observations -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.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.userList=Liste des utilisateurs wao.ui.validLogin=Identifiant valide Modified: trunk/wao-ui/src/main/webapp/Boats.tml =================================================================== --- trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-25 10:00:32 UTC (rev 1297) +++ trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-26 10:07:55 UTC (rev 1298) @@ -120,7 +120,7 @@ title="${format:wao.ui.action.exportBoats=boats.availableRows}" /> </a> </h1> - <div t:type="grid" t:source="boats" t:row="boat" t:add="boatDistrict, portOfRegistry, fleet" + <div t:type="grid" t:source="boats" t:row="boat" t:add="boatDistrict, portOfRegistry" t:include="name, immatriculation, boatLength, buildYear" t:rowClass="prop:rowStyle" t:rowsPerPage="20"> <p:nameCell> <t:if t:test="canCreateNewContactFromList()"> @@ -148,14 +148,11 @@ </p:portOfRegistryHeader> <p:portOfRegistryCell> <t:if test="boat.portOfRegistry"> - ${boat.portOfRegistry.code} + <span t:type="ck/Tooltip" t:value="${boat.portOfRegistry.description}" t:effect="appear"> + ${boat.portOfRegistry.code} + </span> </t:if> </p:portOfRegistryCell> - <p:fleetCell> - <t:if test="boat.fleet"> - ${boat.fleet.code} - </t:if> - </p:fleetCell> </div> </div> @@ -271,6 +268,18 @@ <label>${message:wao.ui.field.Boat.shipOwner} : </label> ${boatInfos.boat.shipOwner.firstName} ${boatInfos.boat.shipOwner.lastName} </p> + <t:if t:test="boatInfos.boat.fleet"> + <p> + <label>${message:wao.ui.field.Boat.fleet} : </label> + ${boatInfos.boat.fleet.description} + </p> + </t:if> + <t:if t:test="boatInfos.boat.boatGroup"> + <p>x + <label>${message:wao.ui.field.Boat.boatGroup} : </label> + ${boatInfos.boat.boatGroup.description} + </p> + </t:if> <p class="sep"> </p> <p> <label>${message:wao.ui.field.BoatInfos.dup} : </label>
participants (1)
-
bleny@users.labs.libre-entreprise.org