Wao-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
April 2011
- 3 participants
- 122 discussions
[Suiviobsmer-commits] r1224 - 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/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao/service wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 20 Apr '11
by bleny@users.labs.libre-entreprise.org 20 Apr '11
20 Apr '11
Author: bleny
Date: 2011-04-20 15:31:49 +0000 (Wed, 20 Apr 2011)
New Revision: 1224
Log:
use UUID as token for user auth ; make possible to auth on any profile ; fix url in UI
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.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/ObsDebFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.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-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -863,4 +863,9 @@
protected void addObsDebToContacts_3_0(List<String> queries) {
queries.add("ALTER TABLE Contact ADD landingDate TIMESTAMP WITHOUT TIME ZONE;");
}
+
+ @Override
+ protected void addTokensToUserProfiles_3_0(List<String> queries) {
+ queries.add("ALTER TABLE UserProfile ADD token CHARACTER VARYING(50);");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -271,6 +271,8 @@
serviceReferential.importInitialContactStateMotifs();
+ serviceUser.addTokensToAllProfiles();
+
if (log.isInfoEnabled()) {
log.info("wao is started !");
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -141,6 +141,8 @@
protected abstract void addObsDebToContacts_3_0(List<String> queries);
+ protected abstract void addTokensToUserProfiles_3_0(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -501,6 +503,8 @@
addObsDebToContacts_3_0(queries);
+ addTokensToUserProfiles_3_0(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -126,9 +126,8 @@
}
@Override
- public String getTokenId() {
-
- // TODO sletellier 20110413 : change this with a real tokenid
- return getUser().getPassword();
+ public String getToken() {
+ String token = getProfile().getToken();
+ return token;
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -24,13 +24,19 @@
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
+import java.util.UUID;
+
import static org.nuiton.i18n.I18n.n_;
public class UserProfileImpl extends UserProfileAbstract {
- public UserProfileImpl() {}
+ public UserProfileImpl() {
+ String newToken = UUID.randomUUID().toString();
+ setToken(newToken);
+ }
public UserProfileImpl(ObsProgram obsProgram, UserRole userRole, boolean canWrite) {
+ this();
setObsProgram(obsProgram);
setUserRole(userRole);
setCanWrite(canWrite);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -35,4 +35,13 @@
return (List<WaoUser>) findAllByQuery(query);
}
+
+ /** Given a profile, return the user who own this profile */
+ @Override
+ public WaoUser findByProfile(UserProfile userProfile) throws TopiaException {
+ TopiaQuery query = createQuery();
+ query.addInElements(":aUserProfile", WaoUser.PROPERTY_USER_PROFILE);
+ query.addParam("aUserProfile", userProfile);
+ return findByQuery(query);
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -44,13 +44,13 @@
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowLog;
import fr.ifremer.wao.entity.SampleRowLogDAO;
-import fr.ifremer.wao.entity.TargetSpeciesDCF;
import fr.ifremer.wao.entity.UserProfile;
import fr.ifremer.wao.entity.UserProfileDAO;
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.entity.WaoUserDAO;
import fr.ifremer.wao.entity.WaoUserImpl;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.mail.EmailException;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -63,6 +63,7 @@
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
+import java.util.UUID;
/**
* ServiceUserImpl
@@ -546,33 +547,50 @@
}
@Override
- protected ConnectedUser executeGetConnectedUserByToken(TopiaContext transaction, String tokenId) throws Exception {
- WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ protected ConnectedUser executeGetConnectedUserByToken(TopiaContext transaction, String token) throws Exception {
- // TODO sletellier 20110413 : change this with a real tokenid
- WaoUser user = waoUserDAO.findByPassword(tokenId);
+ if (StringUtils.isBlank(token)) {
+ throw new IllegalArgumentException("a valid token must be provided");
+ }
- if (user == null) {
- throw new IllegalArgumentException("tokenId is not valid");
+ UserProfileDAO userProfileDAO = WaoDAOHelper.getUserProfileDAO(transaction);
+ UserProfile userProfile = userProfileDAO.findByToken(token);
+
+ if (userProfile == null) {
+ if (log.isWarnEnabled()) {
+ log.warn("user attempt to use an invalid token : " + token);
+ }
+ throw new IllegalArgumentException("token '" + token + "' is not a valid token");
}
+ WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = waoUserDAO.findByProfile(userProfile);
+
+ if ( ! user.isActive()) {
+ throw new WaoBusinessException("user " + user.getFullName() +
+ " is not allowed to auth with token since user is inactive");
+ }
+
ConnectedUserImpl result = new ConnectedUserImpl();
result.setUser(user);
+ result.setProfile(userProfile);
- // Determine role for this one
- if (user.hasUserRole(UserRole.COORDINATOR, ObsProgram.OBSDEB) ||
- user.hasUserRole(UserRole.OBSERVER, ObsProgram.OBSDEB)) {
- // as coordinator, auth as observer
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, false);
- result.setProfile(userProfile);
- } else {
- throw new IllegalArgumentException("User " + user.getLogin() + " is not allowed to use tokenId");
- }
-
// force load
user.getCompany();
return result;
}
+
+ @Override
+ protected void executeAddTokensToAllProfiles(TopiaContext transaction) throws Exception {
+ UserProfileDAO userProfileDAO = WaoDAOHelper.getUserProfileDAO(transaction);
+ List<UserProfile> profilesMissingToken = userProfileDAO.findAllByToken(null);
+ for (UserProfile userProfile : profilesMissingToken) {
+ String newToken = UUID.randomUUID().toString();
+ userProfile.setToken(newToken);
+ userProfileDAO.update(userProfile);
+ }
+ transaction.commitTransaction();
+ }
}
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-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-04-20 15:31:49 UTC (rev 1224)
@@ -229,6 +229,7 @@
wao.error.serviceSynthesis.getGlobalSynthesisResult=
wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=
wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Unable to update global synthesis parameters
+wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=
wao.error.serviceUser.createDefaultAdmin=
wao.error.serviceUser.createUpdateCompany=
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-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-04-20 15:31:49 UTC (rev 1224)
@@ -229,6 +229,7 @@
wao.error.serviceSynthesis.getGlobalSynthesisResult=
wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00E9cup\u00E9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00E9s
wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00E0 jour les param\u00E8tres de la synth\u00E8se globale
+wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00E9er l'administrateur par d\u00E9faut
wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00E9er ou de mettre \u00E0 jour la soci\u00E9t\u00E9
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -24,6 +24,8 @@
protected Company ifremer;
protected Boat moise;
+ protected boolean boatsImported;
+
protected static final String CSV_CONTENT =
"PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
+ "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007;\n"
@@ -58,12 +60,36 @@
return ifremer;
}
+ protected void importBoats() {
+ if ( ! boatsImported) {
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ try {
+ serviceBoat.importBoatCsv(input);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ public Boat samourai() {
+ if (moise == null) {
+ importBoats();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ try {
+ moise = serviceBoat.getBoat(174258);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return moise;
+ }
+
public Boat moise() {
if (moise == null) {
+ importBoats();
ServiceBoat serviceBoat = manager.getServiceBoat();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
try {
- serviceBoat.importBoatCsv(input);
moise = serviceBoat.getBoat(273129);
} catch (WaoBusinessException e) {
throw new RuntimeException(e);
@@ -81,31 +107,40 @@
josh.setPassword(manager.getContext().encodeString("mdp"));
josh.setActive(true);
josh.setCompany(codeLutin());
+ UserProfile adminProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.ADMIN, true);
+ UserProfile coordinatorProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, true);
+ UserProfile observerProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, true);
+ josh.addUserProfile(adminProfile);
+ josh.addUserProfile(coordinatorProfile);
+ josh.addUserProfile(observerProfile);
manager.getServiceUser().createUpdateUser(josh, false);
josh.setPassword("mdp");
}
return josh;
}
- public ConnectedUser joshAsAdministrator() throws WaoBusinessException {
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.ADMIN, true);
+ protected ConnectedUser joshAs(UserRole userRole) throws WaoBusinessException {
+ // first, log in as josh
ConnectedUser connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
- connectedUser.setProfile(userProfile);
+ // then choose profile
+ for (UserProfile userProfile : josh().getUserProfile()) {
+ if (userProfile.getUserRole() == userRole) {
+ connectedUser.setProfile(userProfile);
+ }
+ }
return connectedUser;
}
+ public ConnectedUser joshAsAdministrator() throws WaoBusinessException {
+ return joshAs(UserRole.ADMIN);
+ }
+
public ConnectedUser joshAsCoordinator() throws WaoBusinessException {
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, true);
- ConnectedUser connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
- connectedUser.setProfile(userProfile);
- return connectedUser;
+ return joshAs(UserRole.COORDINATOR);
}
public ConnectedUser joshAsObserver() throws WaoBusinessException {
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, true);
- ConnectedUser connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
- connectedUser.setProfile(userProfile);
- return connectedUser;
+ return joshAs(UserRole.OBSERVER);
}
public String initialSamplingPlanCSV() {
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -25,6 +25,7 @@
import fr.ifremer.wao.AbstractServiceTest;
import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterValues;
import fr.ifremer.wao.bean.ValidationResult;
@@ -314,8 +315,11 @@
coordinatorCanAddObserversViaImport();
manager.setCurrentDate(DateUtil.createDate(10, 2, 2010));
- InputStream in = serviceSampling.exportSamplingPlanICalendar(fixtures.joshAsObserver());
+ String joshAsObserverToken = fixtures.joshAsObserver().getToken();
+ ConnectedUser joshAsObserver = serviceUser.getConnectedUserByToken(joshAsObserverToken);
+ InputStream in = serviceSampling.exportSamplingPlanICalendar(joshAsObserver);
+
String result = IOUtils.toString(in);
if (log.isDebugEnabled()) {
log.debug("exported iCal for observer is " + result);
@@ -372,5 +376,11 @@
Assert.assertNotNull("service must have save the data given by observer", contact.getTerrestrialLocation());
Assert.assertNotNull("service must have save the data given by observer", contact.getObservationBeginDate());
Assert.assertNotNull("service must have save the data given by observer", contact.getObservationEndDate());
+
+ // now, i want to create another contact because, at the same
+ // day, and the same time, i've seen another boat
+ contact = serviceContact.getNewContact(fixtures.joshAsObserver(), row, fixtures.samourai());
+ Assert.assertNotNull("service must have pre filled field", contact.getObservationEndDate());
+ Assert.assertNotNull("service must have pre filled field", contact.getTerrestrialLocation());
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-04-20 15:31:49 UTC (rev 1224)
@@ -36,11 +36,13 @@
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.entity.WaoUserImpl;
+import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
+import org.nuiton.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -111,6 +113,11 @@
Assert.assertNotNull(userFound);
Assert.assertEquals(1, userFound.getUserProfile().size());
+ // check that user has a token
+ for (UserProfile userProfile : user.getUserProfile()) {
+ Assert.assertTrue("all profiles must have a token", StringUtils.isNotBlank(userProfile.getToken()));
+ }
+
// check that creating two user with the same login is not allowed
try {
user = new WaoUserImpl();
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-04-20 13:54:23 UTC (rev 1223)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-04-20 15:31:49 UTC (rev 1224)
@@ -46,7 +46,7 @@
</t:unless>
<t:unless test="connectedUser.admin">
<li>
- <a t:type="pagelink" t:page="roadMap" t:context="connectedUser.tokenId">
+ <a t:type="pagelink" t:page="roadMap" t:context="connectedUser.token">
${message:wao.ui.misc.iCalendarExport}
</a>
</li>
1
0
[Suiviobsmer-commits] r1223 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 20 Apr '11
by bleny@users.labs.libre-entreprise.org 20 Apr '11
20 Apr '11
Author: bleny
Date: 2011-04-20 13:54:23 +0000 (Wed, 20 Apr 2011)
New Revision: 1223
Log:
add pre-filled values for obsdeb
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-20 13:35:32 UTC (rev 1222)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-20 13:54:23 UTC (rev 1223)
@@ -473,20 +473,23 @@
newContact.setEmailSent(true);
}
- // In the case of ObsVente, we may have a user who wants to create
+ if (newContact.getObsProgram() == ObsProgram.OBSVENTE) {
+ // we hope in this contact, user used expected sampling strategy
+ newContact.setSamplingStrategy(row.getSamplingStrategy());
+ }
+
+ // In the case of ObsVente and ObsDeb, we may have a user who wants to create
// multiple contact for a same day. Here we try, to ease the input
// of data by trying to pre-fill some field using data given
// in a previous entered contact
- if (newContact.getObsProgram() == ObsProgram.OBSVENTE) {
+ if (newContact.getObsProgram() == ObsProgram.OBSVENTE ||
+ newContact.getObsProgram() == ObsProgram.OBSDEB) {
// try to pre-fill some field for user-experience
- // we hope in this contact, user used expected sampling strategy
- newContact.setSamplingStrategy(row.getSamplingStrategy());
-
// let's try to find a recent similar contact
Map<String, Object> properties = new HashMap<String, Object>();
- properties.put(Contact.PROPERTY_OBS_PROGRAM_ORDINAL, ObsProgram.OBSVENTE.ordinal());
+ properties.put(Contact.PROPERTY_OBS_PROGRAM_ORDINAL, newContact.getObsProgram().ordinal());
properties.put(Contact.PROPERTY_SAMPLE_ROW, row);
properties.put(Contact.PROPERTY_MAIN_OBSERVER, user);
1
0
[Suiviobsmer-commits] r1222 - trunk/wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 20 Apr '11
by bleny@users.labs.libre-entreprise.org 20 Apr '11
20 Apr '11
Author: bleny
Date: 2011-04-20 13:35:32 +0000 (Wed, 20 Apr 2011)
New Revision: 1222
Log:
hide 'export' link for observer in obsdeb sampling plan page
Modified:
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-04-20 13:06:56 UTC (rev 1221)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-04-20 13:35:32 UTC (rev 1222)
@@ -38,12 +38,12 @@
${message:wao.ui.misc.import}
</t:actionlink>
</li>
+ <li>
+ <t:actionlink t:id="exportSamplingPlan">
+ ${message:wao.ui.misc.export}
+ </t:actionlink>
+ </li>
</t:unless>
- <li>
- <t:actionlink t:id="exportSamplingPlan">
- ${message:wao.ui.misc.export}
- </t:actionlink>
- </li>
<t:unless test="connectedUser.admin">
<li>
<a t:type="pagelink" t:page="roadMap" t:context="connectedUser.tokenId">
1
0
[Suiviobsmer-commits] r1221 - in trunk/wao-ui/src/main: java/fr/ifremer/wao/ui/pages webapp
by bleny@users.labs.libre-entreprise.org 20 Apr '11
by bleny@users.labs.libre-entreprise.org 20 Apr '11
20 Apr '11
Author: bleny
Date: 2011-04-20 13:06:56 +0000 (Wed, 20 Apr 2011)
New Revision: 1221
Log:
fix contact form for ObsDeb
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
trunk/wao-ui/src/main/webapp/ContactForm.tml
trunk/wao-ui/src/main/webapp/Synthesis.tml
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-04-20 12:41:39 UTC (rev 1220)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-04-20 13:06:56 UTC (rev 1221)
@@ -219,7 +219,7 @@
/************************ OBSERVATION REPORT ******************************/
@Component
- private DateTimeField beginDate, endDate;
+ private DateTimeField beginDate, endDate, landingDate;
@Inject
private Block viewObservationReport;
Modified: trunk/wao-ui/src/main/webapp/ContactForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-04-20 12:41:39 UTC (rev 1220)
+++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-04-20 13:06:56 UTC (rev 1221)
@@ -56,12 +56,14 @@
<br />
<ul style="list-style-type: none;">
<li>${message:wao.ui.field.SampleRow.code} : ${contact.sampleRow.code}</li>
- <li>${message:wao.ui.field.SampleRow.profession} : ${contact.sampleRow.professionDescription}</li>
- <li>${message:wao.ui.field.SampleRow.programName} : ${contact.sampleRow.programName} (${message:wao.ui.form.period.from}
- <t:output value="contact.sampleRow.periodBegin" format="monthYearFormat" />
- ${message:wao.ui.form.period.to}
- <t:output value="contact.sampleRow.periodEnd" format="monthYearFormat" />)
- </li>
+ <t:unless test="connectedUser.obsDeb">
+ <li>${message:wao.ui.field.SampleRow.profession} : ${contact.sampleRow.professionDescription}</li>
+ <li>${message:wao.ui.field.SampleRow.programName} : ${contact.sampleRow.programName} (${message:wao.ui.form.period.from}
+ <t:output value="contact.sampleRow.periodBegin" format="monthYearFormat" />
+ ${message:wao.ui.form.period.to}
+ <t:output value="contact.sampleRow.periodEnd" format="monthYearFormat" />)
+ </li>
+ </t:unless>
</ul>
</p>
<p>
Modified: trunk/wao-ui/src/main/webapp/Synthesis.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Synthesis.tml 2011-04-20 12:41:39 UTC (rev 1220)
+++ trunk/wao-ui/src/main/webapp/Synthesis.tml 2011-04-20 13:06:56 UTC (rev 1221)
@@ -30,78 +30,6 @@
<t:layout t:pageTitle="Synthèse et indicateurs" t:contentId="so-synthesis"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
-
- <!--fieldset>
- <legend>${message:wao.ui.filters.filters}</legend>
- <div t:type="zone" t:id="filtersZone" class="so-filters-form" id="so-datasampling-filters">
- <! - -<div t:type="zone" t:id="dataSamplingFiltersZone" t:update="show" id="so-datasampling-filters"> - ->
- <form t:type="form" t:id="filtersForm" t:zone="so-datasampling-filters">
- <t:errors />
- <div class="t-beaneditor">
- <div class="filterRow">
- <label for="periodBegin">${message:wao.ui.form.periodFrom} :</label>
- <input t:type="datefield" class="width70" t:id="periodBegin" t:value="period.fromDate" t:format="MM/yyyy" t:validate="required"/>
- <label for="periodEnd">${message:wao.ui.form.period.to} :</label>
- <input t:type="datefield" class="width70" t:id="periodEnd" t:value="period.thruDate" t:format="MM/yyyy" t:validate="required"/>
- </div>
- <div>
- <t:if t:test="user.admin">
- <label t:for="company">${message:wao.ui.entity.Company} :</label>
- <input t:type="select" t:id="company" t:model="companySelectModel" value="companyId"/>
- <input t:type="submit" class="ico22px refresh" t:id="refreshByCompany" value="${message:wao.ui.filters.refresh}"
- title="${message:wao.ui.filters.refresh}"/>
- </t:if>
- <label for="programName">${message:wao.ui.field.SampleRow.programName} :</label>
- <select t:type="select" t:id="programName" t:model="programSelectModel" value="filter.programName" />
- <input t:type="submit" class="ico22px refresh" t:id="refreshByProgram" value="${message:wao.ui.filters.refresh}"
- title="${message:wao.ui.filters.refresh}"/>
- </div>
- <div class="filterRow" t:type="zone" t:id="sampleRowZone" t:update="show">
- <label for="facadeName">${message:wao.ui.field.FishingZone.facadeName} :</label>
- <select t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="filter.facadeName" />
- <input t:type="submit" class="ico22px refresh" t:id="refreshByFacade" value="${message:wao.ui.filters.refresh}"
- title="${message:wao.ui.filters.refresh}"/>
- <label for="sectorName">${message:wao.ui.field.FishingZone.sectorName} :</label>
- <select t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="filter.sectorName" />
- <input t:type="submit" class="ico22px refresh" t:id="refreshBySector" value="${message:wao.ui.filters.refresh}"
- title="${message:wao.ui.filters.refresh}"/>
- <t:if test="user.obsVente">
- <label>${message:wao.ui.field.SampleRow.terrestrialLocation} :</label>
- <input t:type="select" t:model="terrestrialDistrictSelectModel" t:value="terrestrialDistrictId" />
- </t:if>
- <label for="sampleRowId">${message:wao.ui.field.SampleRow.code} :</label>
- <select t:type="select" t:id="sampleRowId" t:model="sampleRowSelectModel" t:value="sampleRowId" />
- <input t:type="submit" class="ico22px add" t:id="addSampleRowCode" value="Add" title="Ajouter un code de ligne"/>
- <input t:type="submit" class="ico22px remove" t:id="removeSampleRowCode" value="Remove" title="Retirer un code de ligne" />
- <ul>
- <li style="display: inline;" t:type="loop" t:source="filter.sampleRows" t:value="row" t:volatile="true">
- ${row.code}
- </li>
- </ul>
-
- <! - -<t:label t:for="program" />:
- <input t:type="select" t:id="program" t:model="programSelectModel" value="programId" />- - >
- </div>
- <div>
- <label for="fishingGearDCF">${message:wao.ui.entity.fishingGearDCF} :</label>
- <input t:type="select" t:id="fishingGearDCF" t:model="dcfGearSelectModel" value="fishingGearDCFId"/>
- <label for="targetSpeciesDCF">${message:wao.ui.entity.targetSpeciesDCF} :</label>
- <input t:type="select" t:id="targetSpeciesDCF" t:model="dcfSpeciesSelectModel" value="targetSpeciesDCFId"/>
- </div>
- <div class="filterRow">
- <input t:type="checkbox" t:id="estimatedTides" value="filter.estimatedTides" />
- <label for="estimatedTides" title="${message:wao.ui.form.estimatedTides.description}">${message:wao.ui.form.estimatedTides}</label>
- </div>
- <div class="t-beaneditor-row aright">
- <input t:type="submit" class="ico search-32px" t:id="search" value="${message:wao.ui.action.filter}" title="${message:wao.ui.action.filter}" />
- <input t:type="submit" class="ico undo" t:id="reset" value="${message:wao.ui.action.resetFields}" title="${message:wao.ui.action.resetFields}" />
- </div>
- </div>
- </form>
- <! - -</div> - ->
- </div>
- </fieldset-->
-
<t:samplingFilterComponent
t:id="filterComponent"
t:user="user"
1
0
[Suiviobsmer-commits] r1220 - trunk/wao-business/src/main/java/fr/ifremer/wao/entity
by bleny@users.labs.libre-entreprise.org 20 Apr '11
by bleny@users.labs.libre-entreprise.org 20 Apr '11
20 Apr '11
Author: bleny
Date: 2011-04-20 12:41:39 +0000 (Wed, 20 Apr 2011)
New Revision: 1220
Log:
fix log generation in sample row log on observers
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java
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-04-20 10:12:40 UTC (rev 1219)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-04-20 12:41:39 UTC (rev 1220)
@@ -452,10 +452,10 @@
addChange("Les observateurs sont " + StringUtils.join(newObservers, ", "));
}
} else {
- if ( ! oldObservers.isEmpty()) {
+ if ( ! removedObservers.isEmpty()) {
addChange("Les observateurs dissociés de la ligne sont " + StringUtils.join(removedObservers, ", "));
}
- if ( ! newObservers.isEmpty()) {
+ if ( ! addedObservers.isEmpty()) {
addChange("Les observateurs associés à la ligne sont " + StringUtils.join(addedObservers, ", "));
}
}
1
0
[Suiviobsmer-commits] r1219 - in trunk/wao-business/src/main: java/fr/ifremer/wao/io/csv2 java/fr/ifremer/wao/service resources/i18n
by bleny@users.labs.libre-entreprise.org 20 Apr '11
by bleny@users.labs.libre-entreprise.org 20 Apr '11
20 Apr '11
Author: bleny
Date: 2011-04-20 10:12:40 +0000 (Wed, 20 Apr 2011)
New Revision: 1219
Log:
better error management in UI
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-04-19 15:34:23 UTC (rev 1218)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-04-20 10:12:40 UTC (rev 1219)
@@ -219,8 +219,9 @@
try {
parsedValue = field.parseValue(value);
} catch (Exception e) {
- throw new RuntimeException(WaoUtils.translate(n_("csv.import.error.unableToParseValue"), value,
- field.getHeaderName(), lineNumber), e);
+ String message = WaoUtils.translate(n_("csv.import.error.unableToParseValue"), value, field.getHeaderName(), lineNumber)
+ + "\n" + e.getMessage();
+ throw new RuntimeException(message, e);
}
time = timeLog.log(time, "parseValue");
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-19 15:34:23 UTC (rev 1218)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-20 10:12:40 UTC (rev 1219)
@@ -1055,11 +1055,12 @@
timeLog.log(startReadLine, "import one line");
} catch (Exception e) {
+ WaoBusinessException waoBusinessException = new WaoBusinessException(e.getMessage() + "\n" + e.getCause().getMessage(), e);
errorArgs.add(-1);
errorArgs.add(sampleRow == null ? "" : sampleRow.getCode());
//errorArgs.add(e.getMessage());
transaction.rollbackTransaction();
- throw new ImportRefusedException(e.getMessage(), -1, "field", e);
+ throw new ImportRefusedException(e.getMessage(), -1, "field", waoBusinessException);
}
}
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-04-19 15:34:23 UTC (rev 1218)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-04-20 10:12:40 UTC (rev 1219)
@@ -212,7 +212,7 @@
wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00E9chantillon ayant pour code %1$s
wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
-wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00E0 la ligne %1$d [CODE \= %2$s]
+wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
1
0
19 Apr '11
Author: bleny
Date: 2011-04-19 15:34:23 +0000 (Tue, 19 Apr 2011)
New Revision: 1218
Log:
fix i18n bundle generation in build, due to use of i18n 2.3.2
Modified:
trunk/wao-ui/pom.xml
Modified: trunk/wao-ui/pom.xml
===================================================================
--- trunk/wao-ui/pom.xml 2011-04-19 15:32:17 UTC (rev 1217)
+++ trunk/wao-ui/pom.xml 2011-04-19 15:34:23 UTC (rev 1218)
@@ -194,8 +194,8 @@
<goal>tapestry-bundle</goal>
</goals>
<configuration>
- <bundleOutputDir>${basedir}/src/main/webapp/WEB-INF
- </bundleOutputDir>
+ <bundleOutputDir>${basedir}/src/main/webapp/WEB-INF</bundleOutputDir>
+ <bundleOutputPackage>/</bundleOutputPackage>
<bundleOutputName>app</bundleOutputName>
</configuration>
</execution>
1
0
[Suiviobsmer-commits] r1217 - trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by sletellier@users.labs.libre-entreprise.org 19 Apr '11
by sletellier@users.labs.libre-entreprise.org 19 Apr '11
19 Apr '11
Author: sletellier
Date: 2011-04-19 15:32:17 +0000 (Tue, 19 Apr 2011)
New Revision: 1217
Log:
Use LinkedHashMap to keep insert order for synthesis chart
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2011-04-19 10:15:46 UTC (rev 1216)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2011-04-19 15:32:17 UTC (rev 1217)
@@ -285,7 +285,7 @@
public JFreeChart getDataSamplingChart() throws WaoException {
List<SortedMap<Date, Integer>> res = serviceSynthesis.getDataSampling(getFilter());
- Map<String, Map<?, Integer>> data = new HashMap<String, Map<?, Integer>>();
+ Map<String, Map<?, Integer>> data = new LinkedHashMap<String, Map<?, Integer>>();
data.put(messages.get(n_("wao.ui.samplingPlan.expected")), res.get(0));
String realText =
getFilter().getEstimatedTides() ? messages.get(n_("wao.ui.samplingPlan.estimated"))
1
0
[Suiviobsmer-commits] r1216 - trunk/wao-business/src/test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 19 Apr '11
by bleny@users.labs.libre-entreprise.org 19 Apr '11
19 Apr '11
Author: bleny
Date: 2011-04-19 10:15:46 +0000 (Tue, 19 Apr 2011)
New Revision: 1216
Log:
refactor obsdeb test to move fixtures out
Added:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java
Modified:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java 2011-04-19 10:15:46 UTC (rev 1216)
@@ -0,0 +1,118 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.TestManager;
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.UserProfile;
+import fr.ifremer.wao.entity.UserProfileImpl;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserImpl;
+
+import java.io.InputStream;
+
+public class ObsDebFixtures {
+
+ protected TestManager manager;
+
+ protected WaoUser josh;
+ protected Company codeLutin;
+ protected Company ifremer;
+ protected Boat moise;
+
+ protected static final String CSV_CONTENT =
+ "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
+ + "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007;\n"
+ + "2011_889;Code Lutin;MA;OBS2;25/02/2010;UO087;\n"
+ + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007;\n"
+ + "2011_891;Code Lutin;MA;OBS2;13/02/2010;UO087;";
+ protected static final String CSV_WITH_OBSERVERS_CONTENT =
+ "PLAN_CODE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
+ + "2011_890;GA;OBS1;13/02/2010;UO007;josh";
+
+ public ObsDebFixtures(TestManager manager) {
+ this.manager = manager;
+ }
+
+ public Company codeLutin() {
+ if (codeLutin == null) {
+ codeLutin = new CompanyImpl();
+ codeLutin.setName("Code Lutin");
+ codeLutin.setActive(true);
+ manager.getServiceUser().createUpdateCompany(codeLutin);
+ }
+ return codeLutin;
+ }
+
+ public Company ifremer() {
+ if (ifremer == null) {
+ ifremer = new CompanyImpl();
+ ifremer.setName("Ifremer");
+ ifremer.setActive(true);
+ manager.getServiceUser().createUpdateCompany(ifremer);
+ }
+ return ifremer;
+ }
+
+ public Boat moise() {
+ if (moise == null) {
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ try {
+ serviceBoat.importBoatCsv(input);
+ moise = serviceBoat.getBoat(273129);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return moise;
+ }
+
+ public WaoUser josh() throws WaoBusinessException {
+ if (josh == null) {
+ josh = new WaoUserImpl();
+ josh.setLogin("josh");
+ josh.setFirstName("Joshua");
+ josh.setLastName("B.");
+ josh.setPassword(manager.getContext().encodeString("mdp"));
+ josh.setActive(true);
+ josh.setCompany(codeLutin());
+ manager.getServiceUser().createUpdateUser(josh, false);
+ josh.setPassword("mdp");
+ }
+ return josh;
+ }
+
+ public ConnectedUser joshAsAdministrator() throws WaoBusinessException {
+ UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.ADMIN, true);
+ ConnectedUser connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
+ connectedUser.setProfile(userProfile);
+ return connectedUser;
+ }
+
+ public ConnectedUser joshAsCoordinator() throws WaoBusinessException {
+ UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, true);
+ ConnectedUser connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
+ connectedUser.setProfile(userProfile);
+ return connectedUser;
+ }
+
+ public ConnectedUser joshAsObserver() throws WaoBusinessException {
+ UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, true);
+ ConnectedUser connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
+ connectedUser.setProfile(userProfile);
+ return connectedUser;
+ }
+
+ public String initialSamplingPlanCSV() {
+ return CSV_CONTENT;
+ }
+
+ public String samplingPlanCSVWithObservers() {
+ return CSV_WITH_OBSERVERS_CONTENT;
+ }
+}
\ No newline at end of file
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-04-19 09:34:34 UTC (rev 1215)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-04-19 10:15:46 UTC (rev 1216)
@@ -25,27 +25,19 @@
import fr.ifremer.wao.AbstractServiceTest;
import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterValues;
-import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.bean.ValidationResult;
import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyImpl;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TerrestrialDivision;
import fr.ifremer.wao.entity.TerrestrialLocation;
-import fr.ifremer.wao.entity.UserProfile;
-import fr.ifremer.wao.entity.UserProfileImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserImpl;
import fr.ifremer.wao.io.ImportResults;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.nuiton.util.DateUtil;
import org.nuiton.util.PeriodDates;
@@ -57,113 +49,41 @@
import java.util.List;
/**
+ *
+ *
* @author bleny
*/
public class ObsDebTest extends AbstractServiceTest {
private static final Logger log = LoggerFactory.getLogger(ObsDebTest.class);
- protected WaoUser josh;
-
- protected Company codeLutin;
-
- protected Company ifremer;
-
protected ServiceUser serviceUser;
+ protected ServiceReferential serviceReferential;
+ protected ServiceBoat serviceBoat;
+ protected ServiceSampling serviceSampling;
+ protected ServiceContact serviceContact;
- protected Boat moise;
+ protected ObsDebFixtures fixtures;
- protected static final String CSV_CONTENT =
- "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
- + "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007;\n"
- + "2011_889;Code Lutin;MA;OBS2;25/02/2010;UO087;\n"
- + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007;\n"
- + "2011_891;Code Lutin;MA;OBS2;13/02/2010;UO087;";
-
- protected static final String CSV_WITH_OBSERVERS_CONTENT =
- "PLAN_CODE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
- + "2011_890;GA;OBS1;13/02/2010;UO007;josh";
-
- protected Company codeLutin() {
- if (codeLutin == null) {
- codeLutin = new CompanyImpl();
- codeLutin.setName("Code Lutin");
- codeLutin.setActive(true);
- serviceUser = manager.getServiceUser();
- serviceUser.createUpdateCompany(codeLutin);
- }
- return codeLutin;
+ @Before
+ public void initServices() {
+ serviceUser = manager.getServiceUser();
+ serviceReferential = manager.getServiceReferential();
+ serviceBoat = manager.getServiceBoat();
+ serviceSampling = manager.getServiceSampling();
+ serviceContact = manager.getServiceContact();
}
- protected Company ifremer() {
- if (ifremer == null) {
- ifremer = new CompanyImpl();
- ifremer.setName("Ifremer");
- ifremer.setActive(true);
- serviceUser = manager.getServiceUser();
- serviceUser.createUpdateCompany(ifremer);
- }
- return ifremer;
+ @Before
+ public void initFixtures() {
+ fixtures = new ObsDebFixtures(manager);
}
- protected Boat moise() {
- if (moise == null) {
- ServiceBoat serviceBoat = manager.getServiceBoat();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- try {
- serviceBoat.importBoatCsv(input);
- moise = serviceBoat.getBoat(273129);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- return moise;
- }
-
- protected WaoUser josh() throws WaoBusinessException {
- if (josh == null) {
- josh = new WaoUserImpl();
- josh.setLogin("josh");
- josh.setFirstName("Joshua");
- josh.setLastName("B.");
- josh.setPassword(manager.getContext().encodeString("mdp"));
- josh.setActive(true);
- josh.setCompany(codeLutin());
- serviceUser = manager.getServiceUser();
- serviceUser.createUpdateUser(josh, false);
- josh.setPassword("mdp");
- }
- return josh;
- }
-
- protected ConnectedUser joshAsAdministrator() throws WaoBusinessException {
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.ADMIN, true);
- ConnectedUser connectedUser = serviceUser.connect(josh().getLogin(), josh().getPassword());
- connectedUser.setProfile(userProfile);
- return connectedUser;
- }
-
- protected ConnectedUser joshAsCoordinator() throws WaoBusinessException {
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, true);
- ConnectedUser connectedUser = serviceUser.connect(josh().getLogin(), josh().getPassword());
- connectedUser.setProfile(userProfile);
- return connectedUser;
- }
-
- protected ConnectedUser joshAsObserver() throws WaoBusinessException {
- UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, true);
- ConnectedUser connectedUser = serviceUser.connect(josh().getLogin(), josh().getPassword());
- connectedUser.setProfile(userProfile);
- return connectedUser;
- }
-
/**
* As an admin, i must be able to import terrestrial divisions
*/
@Test
public void adminCanImportTerrestrialDivisions() {
- ServiceReferential serviceReferential = manager.getServiceReferential();
-
// as an admin, i can import terrestrial divisions, i should not
// raise any exception
InputStream input = getClass().getResourceAsStream("/import/purifiedTerrestrialDivisions.csv");
@@ -185,14 +105,14 @@
// First create add two companies in Wao
manager.setCurrentDate(DateUtil.createDate(2, 1, 2010));
- ifremer();
- codeLutin();
+ fixtures.ifremer();
+ fixtures.codeLutin();
// Then, import the sampling plan
manager.setCurrentDate(DateUtil.createDate(3, 1, 2010));
- InputStream input = IOUtils.toInputStream(CSV_CONTENT);
- ImportResults importResults = manager.getServiceSampling().importSamplingPlanCsv(input, joshAsAdministrator());
+ InputStream input = IOUtils.toInputStream(fixtures.initialSamplingPlanCSV());
+ ImportResults importResults = manager.getServiceSampling().importSamplingPlanCsv(input, fixtures.joshAsAdministrator());
Assert.assertEquals(4, importResults.getNbRowsImported());
Assert.assertEquals(0, importResults.getNbRowsRefused());
}
@@ -208,7 +128,6 @@
adminCanImportSamplingPlan();
// as an administrator, i can get the sampling plan
- ServiceSampling serviceSampling = manager.getServiceSampling();
// Since a new filter may be initialized for a period of time,
// we set the current date to be deterministic, at this date
@@ -216,7 +135,7 @@
// non filtered
manager.setCurrentDate(DateUtil.createDate(25, 1, 2010));
- SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsAdministrator());
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(fixtures.joshAsAdministrator());
if (log.isDebugEnabled()) {
log.debug("a new empty sampling filter is " + samplingFilter.toString());
@@ -248,10 +167,8 @@
// given a sampling plan
adminCanImportSamplingPlan();
- ServiceSampling serviceSampling = manager.getServiceSampling();
-
// i can filter the sampling plan by getting a filter
- SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsAdministrator());
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(fixtures.joshAsAdministrator());
// and the possible values i can use to fill the filter
SamplingFilterValues samplingFilterValues = serviceSampling.getPossibleValuesForFilter(samplingFilter);
@@ -265,7 +182,7 @@
Assert.assertEquals(2, samplingFilterValues.getObservationUnits().size());
Assert.assertEquals(0, samplingFilterValues.getObservers().size());
- samplingFilter = serviceSampling.newSamplingFilter(joshAsAdministrator());
+ samplingFilter = serviceSampling.newSamplingFilter(fixtures.joshAsAdministrator());
samplingFilter.setPeriod(new PeriodDates(DateUtil.createDate(20, 2, 2010),
DateUtil.createDate(27, 2, 2010)));
@@ -290,11 +207,9 @@
adminCanImportSamplingPlan();
// as a coordinator, i can get the sampling plan
- ServiceSampling serviceSampling = manager.getServiceSampling();
-
manager.setCurrentDate(DateUtil.createDate(25, 1, 2010));
- SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsCoordinator());
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(fixtures.joshAsCoordinator());
if (log.isDebugEnabled()) {
log.debug("a new empty sampling filter for coordinator is " + samplingFilter.toString());
@@ -315,24 +230,22 @@
// given a sampling plan
adminCanImportSamplingPlan();
- ServiceSampling serviceSampling = manager.getServiceSampling();
-
// as a coordinator, i can export the sampling plan
- SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsCoordinator());
- InputStream input = serviceSampling.exportSamplingPlanCsv(joshAsCoordinator(), samplingFilter);
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(fixtures.joshAsCoordinator());
+ InputStream input = serviceSampling.exportSamplingPlanCsv(fixtures.joshAsCoordinator(), samplingFilter);
String csv = IOUtils.toString(input);
if (log.isDebugEnabled()) {
log.debug("CSV file as it was exported:\n" + csv);
- log.debug("CSV file as it will be imported (with observers):\n" + CSV_WITH_OBSERVERS_CONTENT);
+ log.debug("CSV file as it will be imported (with observers):\n" + fixtures.samplingPlanCSVWithObservers());
}
// i can add a column to add observers to each line
- serviceSampling.importSamplingPlanCsv(IOUtils.toInputStream(CSV_WITH_OBSERVERS_CONTENT), joshAsCoordinator());
+ serviceSampling.importSamplingPlanCsv(IOUtils.toInputStream(fixtures.samplingPlanCSVWithObservers()), fixtures.joshAsCoordinator());
// now getting the sampling plan and checking that observers are linked to sample rows
- SampleRow row2011_890 = serviceSampling.getSampleRowByCode(joshAsCoordinator(), "2011_890");
+ SampleRow row2011_890 = serviceSampling.getSampleRowByCode(fixtures.joshAsCoordinator(), "2011_890");
Assert.assertNotNull(row2011_890);
Assert.assertEquals(1, row2011_890.sizeObservers());
@@ -346,7 +259,7 @@
log.debug("log entry after update on observers is: '" + logEntry + "'");
}
- Assert.assertTrue("added observer is mentioned in the log", logEntry.contains(josh().getFullName()));
+ Assert.assertTrue("added observer is mentioned in the log", logEntry.contains(fixtures.josh().getFullName()));
}
/**
@@ -359,12 +272,10 @@
public void coordinatorCannotBreakSamplingPlan() throws IOException, WaoBusinessException {
coordinatorCanAddObserversViaImport();
- ServiceSampling serviceSampling = manager.getServiceSampling();
-
// josh cannot be affected to this row, because on the same day
// he is to be elsewhere
- SampleRow row2011_891 = serviceSampling.getSampleRowByCode(joshAsCoordinator(), "2011_891");
- row2011_891.addObservers(josh());
+ SampleRow row2011_891 = serviceSampling.getSampleRowByCode(fixtures.joshAsCoordinator(), "2011_891");
+ row2011_891.addObservers(fixtures.josh());
ValidationResult validationResult = serviceSampling.validateSampleRow(row2011_891);
@@ -383,11 +294,9 @@
coordinatorCanAddObserversViaImport();
// as an observer, i can get the sampling plan
- ServiceSampling serviceSampling = manager.getServiceSampling();
-
manager.setCurrentDate(DateUtil.createDate(10, 2, 2010));
- SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsObserver());
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(fixtures.joshAsObserver());
if (log.isDebugEnabled()) {
log.debug("a new empty sampling filter for observer is " + samplingFilter.toString());
@@ -405,10 +314,8 @@
coordinatorCanAddObserversViaImport();
manager.setCurrentDate(DateUtil.createDate(10, 2, 2010));
- ServiceSampling serviceSampling = manager.getServiceSampling();
+ InputStream in = serviceSampling.exportSamplingPlanICalendar(fixtures.joshAsObserver());
- InputStream in = serviceSampling.exportSamplingPlanICalendar(joshAsObserver());
-
String result = IOUtils.toString(in);
if (log.isDebugEnabled()) {
log.debug("exported iCal for observer is " + result);
@@ -425,21 +332,16 @@
public void observerCanCreateContact() throws IOException, WaoBusinessException {
observerCanReadSamplingPlan();
- ServiceSampling serviceSampling = manager.getServiceSampling();
- ServiceContact serviceContact = manager.getServiceContact();
- ServiceBoat serviceBoat = manager.getServiceBoat();
- ServiceReferential serviceReferential = manager.getServiceReferential();
-
// we are one day after the observation
manager.setCurrentDate(DateUtil.createDate(15, 2, 2010));
// the user is supposed to create a contact to tell what he
// has done this day
- SampleRow row = serviceSampling.getSampleRowByCode(joshAsObserver(), "2011_890");
- Boat boat = serviceBoat.getBoat(moise().getImmatriculation());
+ SampleRow row = serviceSampling.getSampleRowByCode(fixtures.joshAsObserver(), "2011_890");
+ Boat boat = serviceBoat.getBoat(fixtures.moise().getImmatriculation());
// let's create the contact
- Contact contact = serviceContact.getNewContact(joshAsObserver(), row, boat);
+ Contact contact = serviceContact.getNewContact(fixtures.joshAsObserver(), row, boat);
// in the observation report, i must tell where i was and when
List<TerrestrialLocation> ports = serviceReferential.getAllPorts(contact.getSampleRow().getObservationUnit());
@@ -464,7 +366,7 @@
Assert.assertTrue("validation must succeed", validationResult.isSuccess());
- serviceContact.saveContact(joshAsObserver(), contact, false);
+ serviceContact.saveContact(fixtures.joshAsObserver(), contact, false);
contact = serviceContact.getContact(contact.getTopiaId());
Assert.assertNotNull("service must have save the data given by observer", contact.getTerrestrialLocation());
1
0
[Suiviobsmer-commits] r1215 - in trunk: wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/components wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/resources/i18n
by bleny@users.labs.libre-entreprise.org 19 Apr '11
by bleny@users.labs.libre-entreprise.org 19 Apr '11
19 Apr '11
Author: bleny
Date: 2011-04-19 09:34:34 +0000 (Tue, 19 Apr 2011)
New Revision: 1215
Log:
fix contact filters ; add observation unit and port in contact filters
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java 2011-04-18 15:54:04 UTC (rev 1214)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java 2011-04-19 09:34:34 UTC (rev 1215)
@@ -27,6 +27,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.TerrestrialLocation;
import java.util.ArrayList;
import java.util.Collection;
@@ -68,14 +69,50 @@
}
@Override
+ public void addTerrestrialLocations(TerrestrialLocation toAdd) {
+ if (toAdd == null) {
+ return;
+ }
+ if (getTerrestrialLocations() == null) {
+ setTerrestrialLocations(new ArrayList<TerrestrialLocation>());
+ }
+ if (!containsTerrestrialLocations(toAdd)) {
+ super.addTerrestrialLocations(toAdd);
+ }
+ }
+
+ @Override
+ public void addAllTerrestrialLocations(Collection<TerrestrialLocation> toAdds) {
+ if (toAdds == null) {
+ return;
+ }
+ if (getTerrestrialLocations() == null) {
+ setTerrestrialLocations(new ArrayList<TerrestrialLocation>());
+ }
+ if (!containsAllTerrestrialLocations(toAdds)) {
+ super.addAllTerrestrialLocations(toAdds);
+ } else {
+ for (TerrestrialLocation toAdd : toAdds) {
+ addTerrestrialLocations(toAdd);
+ }
+ }
+ }
+
+ @Override
public List<ContactStateMotif> getContactStateMotifsAsList() {
return getAsList(getContactStateMotifs());
}
@Override
+ public List<TerrestrialLocation> getTerrestrialLocationsAsList() {
+ return getAsList(getTerrestrialLocations());
+ }
+
+ @Override
public void fillContacts(List<Contact> contacts) {
for (Contact contact : contacts) {
addObservers(contact.getMainObserver());
+ addTerrestrialLocations(contact.getTerrestrialLocation());
// addAllObservers(contact.getSecondaryObservers());
fillSampleRow(contact.getSampleRow());
}
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java 2011-04-18 15:54:04 UTC (rev 1214)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java 2011-04-19 09:34:34 UTC (rev 1215)
@@ -110,4 +110,10 @@
return filtersVisible;
}
+
+ public boolean showTerrestrialLocations() {
+ boolean show = getFilter().getObservationUnit() != null
+ || getFilter().getTerrestrialDistrict() != null;
+ return show;
+ }
}
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-18 15:54:04 UTC (rev 1214)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-19 09:34:34 UTC (rev 1215)
@@ -74,25 +74,57 @@
t:id="state"
value="filter.state"
t:model="contactStateSelectModel"/>
+ <!-- fields for ObsMer and ObsVente -->
+ <label>${message:wao.ui.entity.Boat} </label>
+ <label t:for="boatImmatriculation">${message:wao.ui.field.Boat.immatriculation} :</label>
+ <input t:type="textfield"
+ t:id="boatImmatriculation"
+ class="width50"
+ t:value="filter.boatImmatriculation" />
+
+ <label t:for="boatDistrictCode">${message:wao.ui.field.Boat.districtCode} :</label>
+ <input t:type="textfield"
+ t:id="boatDistrictCode"
+ class="width50"
+ t:value="filter.boatDistrictCode" />
</div>
<t:if test="user.obsDeb">
- filtres pour obsdeb
+ <t:delegate to="block:terrestrialLocationBlock" />
+ <t:block id="terrestrialLocationBlock">
+ <t:unless test="user.obsMer">
+ <t:if test="user.obsVente">
+ <div>
+ <label>${message:wao.ui.field.SampleRow.terrestrialLocation} :</label>
+ <t:topiaEntitySelector t:id="terrestrialDistrict"
+ t:clazzName="TerrestrialLocation"
+ t:labelPropertyName="description"
+ t:values="possibleValuesForFilter.terrestrialDistrictsAsList"
+ t:selectedValue="filter.terrestrialDistrict"/>
+ </div>
+ </t:if>
+ <t:if test="user.obsDeb">
+ <div>
+ <label>${message:wao.ui.field.SampleRow.observationUnit} :</label>
+ <t:topiaEntitySelector t:id="observationUnit"
+ t:clazzName="TerrestrialDivision"
+ t:labelPropertyName="description"
+ t:values="possibleValuesForFilter.observationUnitsAsList"
+ t:selectedValue="filter.observationUnit"/>
+ </div>
+ </t:if>
+ <t:if test="showTerrestrialLocations()">
+ <label style="margin-left: 10px;">${message:wao.ui.field.Contact.terrestrialLocation} :</label>
+ <t:topiaEntitySelector t:id="terrestrialLocation"
+ t:clazzName="TerrestrialLocation"
+ t:labelPropertyName="description"
+ t:values="possibleValuesForFilter.terrestrialLocationsAsList"
+ t:selectedValue="filter.terrestrialLocation"/>
+ </t:if>
+ </t:unless>
+ </t:block>
<p:else>
- <!-- fields for ObsMer and ObsVente -->
- <label>${message:wao.ui.entity.Boat} </label>
- <label t:for="boatImmatriculation">${message:wao.ui.field.Boat.immatriculation} :</label>
- <input t:type="textfield"
- t:id="boatImmatriculation"
- class="width50"
- t:value="filter.boatImmatriculation" />
- <label t:for="boatDistrictCode">${message:wao.ui.field.Boat.districtCode} :</label>
- <input t:type="textfield"
- t:id="boatDistrictCode"
- class="width50"
- t:value="filter.boatDistrictCode" />
-
<label t:for="facadeName">${message:wao.ui.field.FishingZone.facadeName} :</label>
<t:simpleSelector t:id="facadeName"
t:values="possibleValuesForFilter.facadeNamesAsList"
@@ -106,27 +138,7 @@
<!--select t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="filter.sectorName" />
<input t:type="submit" class="ico22px refresh" t:id="refreshBySector" value="Refresh"
title="Rafraîchir les métiers en fonction de la zone sélectionnée"/-->
- <t:if test="user.obsVente">
- <div>
- <label>${message:wao.ui.field.SampleRow.terrestrialLocation} :</label>
- <t:topiaEntitySelector t:id="terrestrialDistrict"
- t:clazzName="TerrestrialLocation"
- t:labelPropertyName="description"
- t:values="possibleValuesForFilter.terrestrialDistrictsAsList"
- t:selectedValue="filter.terrestrialDistrict"/>
- <!--input t:type="select" t:id="terrestrialDistrict" t:zone="so-contacts-filters" t:model="terrestrialDistrictSelectModel" t:value="terrestrialDistrictId" /-->
- <t:if test="filter.terrestrialDistrict">
- <label style="margin-left: 10px;">${message:wao.ui.field.Contact.terrestrialLocation} :</label>
- <t:topiaEntitySelector t:id="terrestrialLocation"
- t:clazzName="TerrestrialLocation"
- t:labelPropertyName="description"
- t:values="possibleValuesForFilter.terrestrialDistrictsAsList"
- t:selectedValue="filter.terrestrialLocation"/>
- <!--input t:type="select" t:model="terrestrialLocationSelectModel" t:value="terrestrialLocationId" /-->
- </t:if>
- </div>
- <p> </p>
- </t:if>
+ <t:delegate to="block:terrestrialLocationBlock" />
<t:if test="user.obsMer">
<label>${message:wao.ui.misc.observations} :</label>
<input t:type="checkbox" t:id="mammalsObservation" value="filter.mammalsObservation" />
@@ -139,47 +151,6 @@
<img src="${asset:context:img/fishing-net-22px.png}" alt="${message:wao.ui.field.Contact.mammalsCapture}" />
</label>
</t:if>
- <label>${message:wao.ui.field.Contact.validationCompany} :</label>
- <input t:type="checkbox" t:id="companyAccepted" value="filter.companyAccepted" />
- <label for="companyAccepted">
- <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" />
- </label>
- <input t:type="checkbox" t:id="companyRefused" value="filter.companyRefused" />
- <label t:for="companyRefused">
- <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" />
- </label>
- <input t:type="checkbox" t:id="companyUndefined" value="filter.companyUndefined" />
- <label t:for="companyUndefined">
- <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" />
- </label>
- <label>${message:wao.ui.field.Contact.validationProgram} :</label>
- <input t:type="checkbox" t:id="programAccepted" value="filter.programAccepted" />
- <label t:for="programAccepted">
- <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" />
- </label>
- <input t:type="checkbox" t:id="programRefused" value="filter.programRefused" />
- <label t:for="programRefused">
- <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" />
- </label>
- <input t:type="checkbox" t:id="programUndefined" value="filter.programUndefined" />
- <label t:for="programUndefined">
- <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" />
- </label>
- <t:if test="user.obsMer">
- <t:unless t:test="user.observer">
- <label for="reliabilityFilter">${message:wao.ui.field.Contact.dataReliability} :</label>
- <select t:type="select" t:id="reliabilityFilter" value="filter.dataReliability"/>
- </t:unless>
- </t:if>
- <span style="margin-left: 15px;">${message:wao.ui.misc.comments} :</span>
- <input t:type="checkbox" t:id="commentFilter" value="filter.comment" />
- <label for="commentFilter" style="margin-right: 5px;">${message:wao.ui.field.Contact.mainObserver}</label>
-
- <input t:type="checkbox" t:id="commentCompany" value="filter.commentCompany" />
- <label for="commentCompany" style="margin-right: 5px;">${message:wao.ui.entity.Company}</label>
-
- <input t:type="checkbox" t:id="commentAdmin" value="filter.commentAdmin" />
- <label for="commentAdmin" style="margin-right: 5px;">${message:wao.ui.form.program}</label>
<t:if t:test="user.obsVente">
<label for="samplingStrategy">${message:wao.ui.field.SampleRow.samplingStrategy}</label>
<input t:type="select"
@@ -207,6 +178,47 @@
</t:if>
</p:else>
</t:if>
+ <label>${message:wao.ui.field.Contact.validationCompany} :</label>
+ <input t:type="checkbox" t:id="companyAccepted" value="filter.companyAccepted" />
+ <label for="companyAccepted">
+ <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" />
+ </label>
+ <input t:type="checkbox" t:id="companyRefused" value="filter.companyRefused" />
+ <label t:for="companyRefused">
+ <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" />
+ </label>
+ <input t:type="checkbox" t:id="companyUndefined" value="filter.companyUndefined" />
+ <label t:for="companyUndefined">
+ <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" />
+ </label>
+ <label>${message:wao.ui.field.Contact.validationProgram} :</label>
+ <input t:type="checkbox" t:id="programAccepted" value="filter.programAccepted" />
+ <label t:for="programAccepted">
+ <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" />
+ </label>
+ <input t:type="checkbox" t:id="programRefused" value="filter.programRefused" />
+ <label t:for="programRefused">
+ <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" />
+ </label>
+ <input t:type="checkbox" t:id="programUndefined" value="filter.programUndefined" />
+ <label t:for="programUndefined">
+ <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" />
+ </label>
+ <t:if test="user.obsMer">
+ <t:unless t:test="user.observer">
+ <label for="reliabilityFilter">${message:wao.ui.field.Contact.dataReliability} :</label>
+ <select t:type="select" t:id="reliabilityFilter" value="filter.dataReliability"/>
+ </t:unless>
+ </t:if>
+ <span style="margin-left: 15px;">${message:wao.ui.misc.comments} :</span>
+ <input t:type="checkbox" t:id="commentFilter" value="filter.comment" />
+ <label for="commentFilter" style="margin-right: 5px;">${message:wao.ui.field.Contact.mainObserver}</label>
+
+ <input t:type="checkbox" t:id="commentCompany" value="filter.commentCompany" />
+ <label for="commentCompany" style="margin-right: 5px;">${message:wao.ui.entity.Company}</label>
+
+ <input t:type="checkbox" t:id="commentAdmin" value="filter.commentAdmin" />
+ <label for="commentAdmin" style="margin-right: 5px;">${message:wao.ui.form.program}</label>
<div class="fleft" style="margin-top: 15px;">
<input t:type="checkbox" t:id="sortedByBoardingDate" value="filter.sortedByBoardingDate" />
<label for="sortedByBoardingDate">${message:wao.ui.form.sortByTideBegin}</label>
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-04-18 15:54:04 UTC (rev 1214)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-04-19 09:34:34 UTC (rev 1215)
@@ -1,206 +1,206 @@
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\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\u00e9er
-wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9
-wao.ui.action.createUser=Cr\u00e9er 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\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\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=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement 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=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement 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=\u00cates-vous s\u00fbr 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=\u00cates-vous s\u00fbr 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\u00e9es
+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\u00e9connexion
-wao.ui.action.reduceView=R\u00e9duire la vue
-wao.ui.action.refresh=Rafra\u00eechir
+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 \u00e0 z\u00e9ro
+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\u00e9tails
+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\u00e9e(s) \u00e0 ce navire
-wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre soci\u00e9t\u00e9
-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.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.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\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\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\u00e9t\u00e9
+wao.ui.entity.Company=Soci\u00E9t\u00E9
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\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\u00e8ces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00E8ces-cible code DCF
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
+wao.ui.field.Boat.buildYear=Ann\u00E9e de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.immatriculation=Immatriculation
wao.ui.field.Boat.name=Nom
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\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\u00e9but 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=\u00c9chantillonnage complet
-wao.ui.field.Contact.contactState=\u00c9tat 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\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\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\u00e9barquement
-wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent
+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\u00e8ces captur\u00e9es
+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.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage 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\u00e9t\u00e9
+wao.ui.field.Contact.validationCompany=Validation soci\u00E9t\u00E9
wao.ui.field.Contact.validationProgram=Validation programme
-wao.ui.field.FishingZone.facadeName=Fa\u00e7ade
+wao.ui.field.FishingZone.facadeName=Fa\u00E7ade
wao.ui.field.FishingZone.sectorName=Zone
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\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.fishingZones=Zone(s) de p\u00eache
-wao.ui.field.SampleRow.libelle=Libell\u00e9
+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.observationUnit=Unit\u00e9 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\u00e9but
+wao.ui.field.SampleRow.periodBegin=D\u00E9but
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\u00E9tier
+wao.ui.field.SampleRow.professionCode=Code m\u00E9tier
wao.ui.field.SampleRow.programName=Programme
-wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage
+wao.ui.field.SampleRow.samplingStrategy=Strat\u00E9gie d'\u00E9chantillonnage
wao.ui.field.SampleRow.size=Taille du navire
-wao.ui.field.SampleRow.species=Esp\u00e8ces 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.subPopulation=Sous-population
-wao.ui.field.User.firstName=Pr\u00e9nom
+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\u00f4le
+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\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.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\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.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\u00f4le
+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\u00e9finir 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\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\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\u00e9riode
+wao.ui.form.period=P\u00E9riode
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\u00E9riode du
+wao.ui.form.periodFromTo=P\u00E9riode du %s au %s
wao.ui.form.program=Programme
-wao.ui.form.programEvaluation=\u00c9valuation 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\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\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\u00eaches
+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.samplingPlanLabel=du plan d'\u00e9chantillonnage
-wao.ui.import.terrestrialDivisionsLabel=du r\u00e9f\u00e9rentiel de stratification spatiale (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\u00e9ration
+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\u00e9t\u00e9 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 \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales
+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\u00e9s prestataires
+wao.ui.indicators.title=Indicateurs qualit\u00E9s 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 \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\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\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\u00e9 le
+wao.ui.misc.commentAddedOn=Commentaire ajout\u00E9 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\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
@@ -213,7 +213,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\u00E9
wao.ui.misc.observationReport=Compte-rendu d'observation
wao.ui.misc.observations=Observations
wao.ui.misc.observer=Observateur
@@ -223,71 +223,71 @@
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\u00E9fus\u00E9
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\u00E9fini
+wao.ui.misc.validated=Valid\u00E9
wao.ui.misc.week=Semaine
-wao.ui.misc.year=Ann\u00e9e
+wao.ui.misc.year=Ann\u00E9e
wao.ui.misc.yes=Oui
-wao.ui.nContactsFound=%s contacts trouv\u00e9s
+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 \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 \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'\u00e9chantillonnage
-wao.ui.page.Synthesis.title=Synth\u00e8se
+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\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\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\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.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.fishingZoneInfo=Zone autre(s) info(s)
wao.ui.samplingPlan.months=Mois
wao.ui.samplingPlan.nbObservants=Nb. d'observateurs
-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.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\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\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\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.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.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.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\u00e9
+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\u00e9es
-wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale
-wao.ui.unavailableOperation=Op\u00e9ration non-disponible
+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.unavailableOperation=Op\u00E9ration non-disponible
wao.ui.userList=Liste des utilisateurs
wao.ui.validLogin=Identifiant valide
1
0