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
March 2011
- 3 participants
- 73 discussions
[Suiviobsmer-commits] r1122 - trunk/src/site/rst/import
by bleny@users.labs.libre-entreprise.org 31 Mar '11
by bleny@users.labs.libre-entreprise.org 31 Mar '11
31 Mar '11
Author: bleny
Date: 2011-03-31 14:30:01 +0000 (Thu, 31 Mar 2011)
New Revision: 1122
Log:
update doc
Modified:
trunk/src/site/rst/import/contacts.rst
Modified: trunk/src/site/rst/import/contacts.rst
===================================================================
--- trunk/src/site/rst/import/contacts.rst 2011-03-30 23:20:17 UTC (rev 1121)
+++ trunk/src/site/rst/import/contacts.rst 2011-03-31 14:30:01 UTC (rev 1122)
@@ -51,7 +51,7 @@
- NAVIRE_IMMATRICULATION : immatriculation du navire associé (6 chiffres)
- CONTACT_VALIDATION_SOCIETE : validation société, si une ligne est déjà validée, elle est refusée lors de l'import par un coordinateur
- CONTACT_VALIDATION_PROGRAMME : validation programme, si une ligne est déjà validée, elle est refusée lors de l'import par un administrateur
-- PLAN_CODE : la ligne du plan associée au contact (ignoré à l'import)
+- PLAN_CODE : la ligne du plan associée au contact (pris en compte uniquement à la création du contact, ignoré à la modification)
Pour ObsMer :
1
0
[Suiviobsmer-commits] r1121 - in trunk: wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/test/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 30 Mar '11
by bleny@users.labs.libre-entreprise.org 30 Mar '11
30 Mar '11
Author: bleny
Date: 2011-03-30 23:20:17 +0000 (Wed, 30 Mar 2011)
New Revision: 1121
Log:
enable historic for ObsDeb
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
trunk/wao-ui/src/main/webapp/SamplingPlan.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-03-30 18:18:56 UTC (rev 1120)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-03-30 23:20:17 UTC (rev 1121)
@@ -34,8 +34,10 @@
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Date;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -405,6 +407,65 @@
}
}
+ protected void compareDays() {
+ if (oldRow == null) {
+ addChange("Le jour est " + WaoUtils.formatDate(newRow.getDay()));
+ } else {
+ if (DateUtil.getDifferenceInDays(oldRow.getDay(), newRow.getDay()) >= 1) {
+ addChange("L'observation est déplacée du " + WaoUtils.formatDate(oldRow.getDay())
+ + " au " + WaoUtils.formatDate(newRow.getDay()));
+ }
+ }
+ }
+
+ protected void compareObservers() {
+ Collection<WaoUser> oldObservers;
+ Collection<WaoUser> newObservers = newRow.getObservers();
+
+ if (oldRow == null) {
+ oldObservers = Collections.emptyList();
+ } else {
+ oldObservers = oldRow.getObservers();
+ }
+
+ List<String> removedObservers = new LinkedList<String>();
+ List<String> addedObservers = new LinkedList<String>();
+
+ for (WaoUser oldObserver : oldObservers) {
+ if ( ! newObservers.contains(oldObserver)) {
+ removedObservers.add(oldObserver.getFullName());
+ }
+ }
+
+ for (WaoUser newObserver : newObservers) {
+ if ( ! oldObservers.contains(newObserver)) {
+ addedObservers.add(newObserver.getFullName());
+ }
+ }
+
+ if (oldRow == null) {
+ if ( ! newObservers.isEmpty()) {
+ addChange("Les observateurs sont " + StringUtils.join(newObservers, ", "));
+ }
+ } else {
+ if ( ! oldObservers.isEmpty()) {
+ addChange("Les observateurs dissociés de la ligne sont " + StringUtils.join(removedObservers, ", "));
+ }
+ if ( ! newObservers.isEmpty()) {
+ addChange("Les observateurs associés à la ligne sont " + StringUtils.join(addedObservers, ", "));
+ }
+ }
+ }
+
+ protected void compareObservationUnits() {
+ if (oldRow == null || oldRow.getObservationUnit() == null) {
+ addChange("L'unité d'observation associée est " + newRow.getObservationUnit().getDescription());
+ } else if ( ! newRow.getObservationUnit().equals(oldRow.getObservationUnit())) {
+ addChange("L'unité d'observation passe de '" + oldRow.getObservationUnit().getDescription()
+ + " à " + newRow.getObservationUnit().getDescription());
+ }
+ }
+
/** Compare a sample row before and after its modifications and generate
* a differences summary and save it by setting log text.
*/
@@ -449,7 +510,9 @@
compareFishingZones();
}
if (ObsProgram.OBSDEB.equals(obsProgram)) {
-
+ compareDays();
+ compareObservationUnits();
+ compareObservers();
}
compareCompanies();
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-03-30 18:18:56 UTC (rev 1120)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-03-30 23:20:17 UTC (rev 1121)
@@ -74,6 +74,8 @@
if (josh == null) {
josh = new WaoUserImpl();
josh.setLogin("josh");
+ josh.setFirstName("Joshua");
+ josh.setLastName("B.");
josh.setPassword(manager.getContext().encodeString("mdp"));
josh.setActive(true);
serviceUser = manager.getServiceUser();
@@ -213,6 +215,18 @@
samplingFilter = serviceSampling.newSamplingFilter(joshAsCoordinator());
SampleRow row2011_889 = serviceSampling.getSampleRowByCode(joshAsCoordinator(), "2011_889");
Assert.assertEquals(1, row2011_889.sizeObservers());
+
+ // adding an observer must add a log entry
+ Assert.assertEquals(1, row2011_889.sizeSampleRowLog());
+
+ // the text of the log entry itself
+ String logEntry = row2011_889.getSampleRowLog().get(0).getLogText();
+
+ if (log.isDebugEnabled()) {
+ log.debug("log entry after update on observers is: '" + logEntry + "'");
+ }
+
+ Assert.assertTrue("added observer is mentioned in the log", logEntry.contains("Joshua"));
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-03-30 18:18:56 UTC (rev 1120)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-03-30 23:20:17 UTC (rev 1121)
@@ -23,13 +23,16 @@
*/
package fr.ifremer.wao.ui.pages;
+import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.io.ImportResults;
import fr.ifremer.wao.service.ServiceSampling;
import fr.ifremer.wao.ui.base.SamplingFilterManager;
import fr.ifremer.wao.ui.data.ExportStreamResponse;
+import fr.ifremer.wao.ui.data.ImportEngine;
import fr.ifremer.wao.ui.data.RequiresAuthentication;
import fr.ifremer.wao.ui.data.SampleRowDataSource;
import fr.ifremer.wao.ui.services.SampleRowModelFactory;
@@ -102,8 +105,19 @@
return obsdebSamplingPlanModel;
}
- /********** ACTIONS *********/
+ /********** IMPORT / EXPORT *********/
+ public ImportEngine getSamplingPlanImportEngine() {
+ return new ImportEngine() {
+ @Override
+ public ImportResults execute(InputStream input)
+ throws WaoException, WaoBusinessException {
+ ImportResults results = serviceSampling.importSamplingPlanCsv(input, connectedUser);
+ return results;
+ }
+ };
+ }
+
StreamResponse onActionFromExportSamplingPlan() {
return new ExportStreamResponse("wao-echantillonnage-obsdeb") {
@Override
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-03-30 18:18:56 UTC (rev 1120)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-03-30 23:20:17 UTC (rev 1121)
@@ -40,6 +40,8 @@
t:filterManager="filterManager"
t:legendMsg="${message:wao.ui.misc.advancedSearch}"/>
+ <t:importFieldSet t:label="${message:wao.ui.import.samplingPlanLabel}" t:engine="samplingPlanImportEngine" />
+
<div t:type="grid" t:source="sampleRows" t:row="sampleRow" t:model="obsdebSamplingPlanModel" t:rowsPerPage="50">
<!-- code -->
<p:codeHeader>
@@ -71,7 +73,9 @@
${message:wao.ui.samplingPlan.actions}
</p:actionsHeader>
<p:actionsCell>
- pas d'actions
+ <a t:type="pagelink" t:page="sampleRowHistoric" t:context="sampleRow.code" title="${format:wao.ui.sampleRowLog.title=sampleRow.code}">
+ <img src="${asset:context:}/img/clock-22px.png" alt="${format:wao.ui.sampleRowLog.title=sampleRow.code}" />
+ </a>
</p:actionsCell>
</div>
Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2011-03-30 18:18:56 UTC (rev 1120)
+++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2011-03-30 23:20:17 UTC (rev 1121)
@@ -77,11 +77,11 @@
</div>
</div>
<div>
- ${format:wao.ui.form.periodFromTo=dateFormat.format(period.fromDate),dateFormat.format(period.thruDate)}
-
- <a t:type="actionlink" t:id="showFilters" t:zone="so-sampling-filters" class="display-form">
- ${message:wao.ui.misc.advancedSearch}
- </a>
+ ${format:wao.ui.form.periodFromTo=dateFormat.format(period.fromDate),dateFormat.format(period.thruDate)}
+
+ <a t:type="actionlink" t:id="showFilters" t:zone="so-sampling-filters" class="display-form">
+ ${message:wao.ui.misc.advancedSearch}
+ </a>
</div>
<!--FIXME sletellier 20110316 : visible on parameter dont work in this case....-->
1
0
[Suiviobsmer-commits] r1120 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/i18n wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 30 Mar '11
by bleny@users.labs.libre-entreprise.org 30 Mar '11
30 Mar '11
Author: bleny
Date: 2011-03-30 18:18:56 +0000 (Wed, 30 Mar 2011)
New Revision: 1120
Log:
fix i18n for header in obsdeb sampling plan
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
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-03-30 16:34:24 UTC (rev 1119)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-30 18:18:56 UTC (rev 1120)
@@ -584,6 +584,7 @@
for (SampleRow row : rows) {
row.getObservationUnit();
row.sizeElligibleBoat();
+ row.sizeObservers();
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-03-30 16:34:24 UTC (rev 1119)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-03-30 18:18:56 UTC (rev 1120)
@@ -23,12 +23,9 @@
*/
package fr.ifremer.wao.ui.pages;
-
import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.SamplingFilter;
-import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.service.ServiceSampling;
import fr.ifremer.wao.ui.base.SamplingFilterManager;
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-03-30 16:34:24 UTC (rev 1119)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-03-30 18:18:56 UTC (rev 1120)
@@ -111,6 +111,7 @@
wao.ui.field.SampleRow.libelle=Labels
wao.ui.field.SampleRow.meshSize=Mesh size
wao.ui.field.SampleRow.observationUnit=Observation unit
+wao.ui.field.SampleRow.observers=Observers
wao.ui.field.SampleRow.other=Other
wao.ui.field.SampleRow.periodBegin=Begin
wao.ui.field.SampleRow.periodEnd=End
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-03-30 16:34:24 UTC (rev 1119)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-03-30 18:18:56 UTC (rev 1120)
@@ -1,203 +1,204 @@
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.SampleRow.observationUnit=Unit\u00E9 d'observation
+wao.ui.entity.FishingZone=Zones de p\u00eache
+wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
+wao.ui.entity.SampleRow.observationUnit=Unit\u00e9 d'observation
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 dans Allegro
-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 dans Allegro
+wao.ui.field.Contact.dataReliability=Qualit\u00e9 des donn\u00e9es
wao.ui.field.Contact.endDate=Fin d'observation
-wao.ui.field.Contact.mainObserver=Observateur r\u00E9f\u00E9rent
+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.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.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.export=Export
wao.ui.misc.export.longTitle=Export CSV
wao.ui.misc.import-export=Import/export
@@ -207,7 +208,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
@@ -217,69 +218,69 @@
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.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
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-03-30 16:34:24 UTC (rev 1119)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-03-30 18:18:56 UTC (rev 1120)
@@ -56,6 +56,11 @@
${message:wao.ui.field.SampleRow.observationUnit}
</p:observationUnitHeader>
+ <!-- observation unit -->
+ <p:observersHeader>
+ ${message:wao.ui.field.SampleRow.observers}
+ </p:observersHeader>
+
<!-- comment -->
<p:commentHeader>
${message:wao.ui.field.SampleRow.comment}
1
0
30 Mar '11
Author: bleny
Date: 2011-03-30 16:34:24 +0000 (Wed, 30 Mar 2011)
New Revision: 1119
Log:
enable sampling plan for coordinator
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -389,6 +389,10 @@
.addEquals(sampleRowProperty.terrestrialLocation(), filter.getTerrestrialDistrict());
}
+ if (filter.getObservationUnit() != null) {
+ query.addEquals(sampleRowProperty.observationUnit(), filter.getObservationUnit());
+ }
+
if (logger.isDebugEnabled()) {
logger.debug("sampling filter query " + query);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -28,6 +28,7 @@
import fr.ifremer.wao.entity.FishingGearDCF;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TargetSpeciesDCF;
+import fr.ifremer.wao.entity.TerrestrialDivision;
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.WaoUser;
@@ -278,6 +279,19 @@
}
@Override
+ public void addObservationUnits(TerrestrialDivision toAdd) {
+ if (toAdd == null) {
+ return;
+ }
+ if (getObservationUnits() == null) {
+ setObservationUnits(new ArrayList<TerrestrialDivision>());
+ }
+ if (!containsObservationUnits(toAdd)) {
+ super.addObservationUnits(toAdd);
+ }
+ }
+
+ @Override
public void addSampleRows(SampleRow toAdd) {
if (toAdd == null) {
return;
@@ -352,6 +366,11 @@
return getAsList(getObservers());
}
+ @Override
+ public List<TerrestrialDivision> getObservationUnitsAsList() {
+ return getAsList(getObservationUnits());
+ }
+
protected <E> List<E> getAsList(Collection<E> collection) {
if (collection == null) {
return new ArrayList<E>();
@@ -362,20 +381,28 @@
@Override
public void fill(List<SampleRow> sampleRows) {
for (SampleRow sampleRow : sampleRows) {
- addCompanies(sampleRow.getCompany());
- addFacadeNames(sampleRow.getFacade());
- addPrograms(sampleRow.getProgramName());
- addSectorsNames(sampleRow.getSectors());
- Collection<DCF5Code> dcf5Codes = sampleRow.getDCF5Code();
- if (dcf5Codes != null) {
- for (DCF5Code dcf5Code : dcf5Codes) {
- addFishingGearDCFCodes(dcf5Code.getFishingGearDCF());
- addTargetSpeciesDCFCodes(dcf5Code.getTargetSpeciesDCF());
+ ObsProgram obsProgram = sampleRow.getObsProgram();
+ if (ObsProgram.OBSDEB.equals(obsProgram)) {
+ addAllObservers(sampleRow.getObservers());
+ addObservationUnits(sampleRow.getObservationUnit());
+ } else {
+ // for both ObsMer and ObsVente
+ addFacadeNames(sampleRow.getFacade());
+ addSectorsNames(sampleRow.getSectors());
+ addPrograms(sampleRow.getProgramName());
+ Collection<DCF5Code> dcf5Codes = sampleRow.getDCF5Code();
+ if (dcf5Codes != null) {
+ for (DCF5Code dcf5Code : dcf5Codes) {
+ addFishingGearDCFCodes(dcf5Code.getFishingGearDCF());
+ addTargetSpeciesDCFCodes(dcf5Code.getTargetSpeciesDCF());
+ addCompanies(sampleRow.getCompany());
+ }
}
+ if (ObsProgram.OBSVENTE.equals(obsProgram)) {
+ addTerrestrialDistricts(sampleRow.getTerrestrialLocation());
+ }
}
- addTerrestrialDistricts(sampleRow.getTerrestrialLocation());
- addAllObservers(sampleRow.getObservers());
}
addAllSampleRows(sampleRows);
}
-} //SamplingFilterValuesImpl
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -75,14 +75,14 @@
* correspond to the SampleMonth to get.
* @param date a Date
* @return the SampleMonth if it exists in the SampleMonth list or null
- * otherwise
+ * otherwise. null if date is null.
*/
@Override
public SampleMonth getSampleMonth(Date date) {
// will be returned
SampleMonth sampleMonth = null;
- if (getSampleMonth() != null) {
+ if (date != null && getSampleMonth() != null) {
if (sampleMonthMap == null) {
for (SampleMonth curr : getSampleMonth()) {
PeriodDates periodDates = new PeriodDates(curr.getPeriodDate(), curr.getPeriodDate());
@@ -105,8 +105,8 @@
}
}
- if (log.isDebugEnabled()) {
- log.debug("sampleMonth for date " + date + " is " +
+ if (log.isTraceEnabled()) {
+ log.trace("sampleMonth for date " + date + " is " +
(sampleMonth == null ? "null" : monthFormat.format(sampleMonth.getPeriodDate())));
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -31,15 +31,20 @@
}
@Override
- public String toString() {
- String toString;
+ public String getDescription() {
+ String description;
if (isObservationUnit()) {
- toString = getRegionIfremerCode() + "-" + getObservationUnitCode()
+ description = getRegionIfremerCode() + "-" + getObservationUnitCode()
+ " " + getObservationUnitName();
} else {
- toString = getPort().getPortName();
+ description = getPort().getPortName();
}
- return toString;
+ return description;
}
+ @Override
+ public String toString() {
+ return getDescription();
+ }
+
}
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-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -669,16 +669,20 @@
// }
if (result != null) {
- result.sizeElligibleBoat();
- result.sizeSampleMonth();
- result.sizeFishingZone();
- result.sizeDCF5Code();
result.sizeSampleRowLog();
- if (ObsProgram.OBSVENTE.equals(result.getObsProgram())) {
- result.getTerrestrialLocation();
- } else if (ObsProgram.OBSDEB.equals(result.getObsProgram())) {
+ if (ObsProgram.OBSDEB.equals(result.getObsProgram())) {
result.sizeObservers();
+ result.getObservationUnit();
+ } else {
+ result.sizeElligibleBoat();
+ result.sizeSampleMonth();
+ result.sizeFishingZone();
+ result.sizeDCF5Code();
+
+ if (ObsProgram.OBSVENTE.equals(result.getObsProgram())) {
+ result.getTerrestrialLocation();
+ }
}
}
@@ -1366,9 +1370,11 @@
@Override
public SamplingFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, SamplingFilter filter) throws Exception {
+
+ // extract data
List<SampleRow> sampleRows = executeGetSampleRowsByFilter(transaction, filter);
- // Fill datas
+ // collect values
SamplingFilterValues result = new SamplingFilterValuesImpl();
result.fill(sampleRows);
@@ -1381,18 +1387,21 @@
// in the firsts months of a new year go from now to 6 months before
// in the rest of the year, just start at the beginning of the current year
+ Date fromDate = context.getCurrentDate();
Date toDate = context.getCurrentDate();
- Date fromDate = context.getCurrentDate();
if (DateUtil.getMonth(fromDate) < 3) {
fromDate = DateUtils.addMonths(fromDate, -6);
+ toDate = DateUtils.addMonths(toDate, 6);
} else {
fromDate = DateUtil.setFirstDayOfYear(fromDate);
+ toDate = DateUtil.setLastDayOfYear(toDate);
}
fromDate = DateUtil.setMinTimeOfDay(fromDate);
- toDate = DateUtil.setMinTimeOfDay(toDate);
+ toDate = DateUtil.setMaxTimeOfDay(toDate);
samplingFilter.setObsProgram(connectedUser.getProfile().getObsProgram());
+
samplingFilter.setPeriod(new PeriodDates(fromDate, toDate));
samplingFilter.setEstimatedTides(true);
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -44,6 +44,7 @@
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Calendar;
+import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Properties;
@@ -146,4 +147,7 @@
return context.getServiceFactory().getServiceChart();
}
+ public void setCurrentDate(Date date) {
+ context.setCurrentDate(date);
+ }
}
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-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -28,6 +28,7 @@
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.entity.SampleRow;
import fr.ifremer.wao.entity.UserProfile;
@@ -131,7 +132,18 @@
// 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
+ // filter returned must be quite large to make 2 sample rows
+ // non filtered
+ manager.setCurrentDate(DateUtil.createDate(25, 1, 2010));
+
SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsAdministrator());
+
+ if (log.isDebugEnabled()) {
+ log.debug("a new empty sampling filter is " + samplingFilter.toString());
+ }
+
List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(samplingFilter);
if (log.isDebugEnabled()) {
@@ -158,8 +170,16 @@
ServiceSampling serviceSampling = manager.getServiceSampling();
- // i can filter the sampling plan
+ // i can filter the sampling plan by getting a filter
SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(joshAsAdministrator());
+
+ // and the possible values (here we only check that this
+ // doesn't raise any error
+ SamplingFilterValues samplingFilterValues = serviceSampling.getPossibleValuesForFilter(samplingFilter);
+ samplingFilterValues.getSampleRows();
+ samplingFilterValues.getObservationUnits();
+ samplingFilterValues.getObservers();
+
samplingFilter = serviceSampling.newSamplingFilter(joshAsAdministrator());
samplingFilter.setPeriod(new PeriodDates(DateUtil.createDate(20, 2, 2010),
DateUtil.createDate(27, 2, 2010)));
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -31,12 +31,14 @@
import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.service.ServiceSampling;
+import fr.ifremer.wao.ui.base.SamplingFilterManager;
import fr.ifremer.wao.ui.data.ExportStreamResponse;
import fr.ifremer.wao.ui.data.RequiresAuthentication;
import fr.ifremer.wao.ui.data.SampleRowDataSource;
import fr.ifremer.wao.ui.services.SampleRowModelFactory;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.StreamResponse;
+import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.beaneditor.BeanModel;
@@ -69,10 +71,14 @@
/********* FILTERS ********/
- public SamplingFilter getSamplingFilter() {
- SamplingFilter samplingFilter = new SamplingFilterImpl();
- samplingFilter.setObsProgram(ObsProgram.OBSDEB);
- return samplingFilter;
+ @Persist
+ private SamplingFilterManager filterManager;
+
+ public SamplingFilterManager getFilterManager() {
+ if (filterManager == null) {
+ filterManager = new SamplingFilterManager(connectedUser, serviceSampling);
+ }
+ return filterManager;
}
/********* GRID ********/
@@ -84,7 +90,7 @@
public GridDataSource getSampleRows() {
if (sampleRows == null) {
- sampleRows = new SampleRowDataSource(getSamplingFilter(), serviceSampling);
+ sampleRows = new SampleRowDataSource(getFilterManager().getFilter(), serviceSampling);
}
return sampleRows;
}
@@ -107,7 +113,7 @@
public InputStream getStream() throws IOException {
InputStream csv = null;
try {
- csv = serviceSampling.exportSamplingPlanCsv(connectedUser, getSamplingFilter());
+ csv = serviceSampling.exportSamplingPlanCsv(connectedUser, getFilterManager().getFilter());
} catch (WaoException eee) {
throw new IOException(eee);
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-03-30 16:34:24 UTC (rev 1119)
@@ -27,12 +27,18 @@
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.WaoUser;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.PropertyConduit;
import org.apache.tapestry5.beaneditor.BeanModel;
import org.apache.tapestry5.services.BeanModelSource;
+import org.nuiton.util.StringUtil;
import java.lang.annotation.Annotation;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Observer;
/**
* Used to generate a bean model for the grid used in sampling plan showed
@@ -84,6 +90,24 @@
});
add(SampleRow.PROPERTY_OBSERVATION_UNIT);
add(SampleRow.PROPERTY_COMMENT);
+ if (connectedUser.isCoordinator()) {
+ add(SampleRow.PROPERTY_OBSERVERS, new SampleRowReaderPropertyConduit() {
+
+ /** Observers full names separated by comma */
+ @Override
+ public String getValue(SampleRow sampleRow) {
+ String value = "";
+ if (sampleRow.getObservers() != null) {
+ List<String> observersLogins = new LinkedList<String>();
+ for (WaoUser observer : sampleRow.getObservers()) {
+ observersLogins.add(observer.getFullName());
+ }
+ value = StringUtil.join(observersLogins, ", ", false);
+ }
+ return value;
+ }
+ });
+ }
add("actions", null);
}
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-03-30 16:34:24 UTC (rev 1119)
@@ -47,62 +47,76 @@
<input t:type="datefield" class="width70" t:id="periodEnd" t:value="filter.period.thruDate" t:format="MM/yyyy"
t:validate="required"/>
</div>
- <div>
- <t:if t:test="filterManager.user.admin">
- <label for="company">${message:wao.ui.entity.Company} :</label>
- <t:topiaEntitySelector t:id="company"
- t:clazzName="Company"
- t:labelPropertyName="name"
- t:values="possibleValuesForFilter.companiesAsList"
- t:selectedValue="filter.company"/>
- </t:if>
- <label for="programName">${message:wao.ui.field.SampleRow.programName} :</label>
- <t:simpleSelector t:id="programName"
- t:values="possibleValuesForFilter.programsAsList"
- t:selectedValue="filter.programName"/>
-
- </div>
- <div class="filterRow" t:type="zone" t:id="sampleRowZone" t:update="show">
- <label for="facadeName">${message:wao.ui.field.FishingZone.facadeName} :</label>
- <t:simpleSelector t:id="facadeName"
- t:values="possibleValuesForFilter.facadeNamesAsList"
- t:selectedValue="filter.facadeName"/>
- <label for="sectorName">${message:wao.ui.field.FishingZone.sectorName} :</label>
- <t:simpleSelector t:id="sectorName"
- t:values="possibleValuesForFilter.sectorsNamesAsList"
- t:selectedValue="filter.sectorName"/>
- <t:if test="filterManager.user.obsVente">
- <label>${message:wao.ui.field.SampleRow.terrestrialLocation} :</label>
- <t:topiaEntitySelector t:id="terrestrialDistrict"
- t:clazzName="TerrestrialLocation"
+ <t:if test="filterManager.user.obsDeb">
+ <!-- filter fields only for obsdeb-->
+ <div>
+ <label for="observationUnit">${message:wao.ui.entity.SampleRow.observationUnit}</label>
+ <t:topiaEntitySelector t:id="observationUnit"
+ t:clazzName="TerrestrialDivision"
t:labelPropertyName="description"
- t:values="possibleValuesForFilter.terrestrialDistrictsAsList"
- t:selectedValue="filter.terrestrialDistrict"/>
- </t:if>
- </div>
- <div>
- <label for="fishingGearDCF">${message:wao.ui.entity.fishingGearDCF} :</label>
- <t:topiaEntitySelector t:id="fishingGearDCF"
- t:clazzName="FishingGearDCF"
- t:labelPropertyName="fullDescription"
- t:values="possibleValuesForFilter.fishingGearDCFCodesAsList"
- t:selectedValue="filter.fishingGearDCF"/>
- <label for="targetSpeciesDCF">${message:wao.ui.entity.targetSpeciesDCF} :</label>
- <t:topiaEntitySelector t:id="targetSpeciesDCF"
- t:clazzName="TargetSpeciesDCF"
- t:labelPropertyName="fullDescription"
- t:values="possibleValuesForFilter.targetSpeciesDCFCodesAsList"
- t:selectedValue="filter.targetSpeciesDCF"/>
- <t:if test="filterManager.user.obsVente">
- <label t:for="samplingStrategy">${message:wao.ui.field.SampleRow.samplingStrategy} :</label>
- <input t:type="select" t:id="samplingStrategy" t:value="filter.samplingStrategy"/>
- </t:if>
- </div>
- <t:if test="showEstimatedTides">
- <div class="filterRow">
- <input t:type="checkbox" t:id="estimatedTides" t:value="filter.estimatedTides" />
- <label for="estimatedTides" title="${message:wao.ui.form.estimatedTides.description}">${message:wao.ui.form.estimatedTides}</label>
+ t:values="possibleValuesForFilter.observationUnitsAsList"
+ t:selectedValue="filter.observationUnit" />
</div>
+ <p:else>
+ <!-- filter field for ObsMer and ObsVente -->
+ <div>
+ <t:if t:test="filterManager.user.admin">
+ <label for="company">${message:wao.ui.entity.Company} :</label>
+ <t:topiaEntitySelector t:id="company"
+ t:clazzName="Company"
+ t:labelPropertyName="name"
+ t:values="possibleValuesForFilter.companiesAsList"
+ t:selectedValue="filter.company"/>
+ </t:if>
+ <label for="programName">${message:wao.ui.field.SampleRow.programName} :</label>
+ <t:simpleSelector t:id="programName"
+ t:values="possibleValuesForFilter.programsAsList"
+ t:selectedValue="filter.programName"/>
+
+ </div>
+ <div class="filterRow" t:type="zone" t:id="sampleRowZone" t:update="show">
+ <label for="facadeName">${message:wao.ui.field.FishingZone.facadeName} :</label>
+ <t:simpleSelector t:id="facadeName"
+ t:values="possibleValuesForFilter.facadeNamesAsList"
+ t:selectedValue="filter.facadeName"/>
+ <label for="sectorName">${message:wao.ui.field.FishingZone.sectorName} :</label>
+ <t:simpleSelector t:id="sectorName"
+ t:values="possibleValuesForFilter.sectorsNamesAsList"
+ t:selectedValue="filter.sectorName"/>
+ <t:if test="filterManager.user.obsVente">
+ <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"/>
+ </t:if>
+ </div>
+ <div>
+ <label for="fishingGearDCF">${message:wao.ui.entity.fishingGearDCF} :</label>
+ <t:topiaEntitySelector t:id="fishingGearDCF"
+ t:clazzName="FishingGearDCF"
+ t:labelPropertyName="fullDescription"
+ t:values="possibleValuesForFilter.fishingGearDCFCodesAsList"
+ t:selectedValue="filter.fishingGearDCF"/>
+ <label for="targetSpeciesDCF">${message:wao.ui.entity.targetSpeciesDCF} :</label>
+ <t:topiaEntitySelector t:id="targetSpeciesDCF"
+ t:clazzName="TargetSpeciesDCF"
+ t:labelPropertyName="fullDescription"
+ t:values="possibleValuesForFilter.targetSpeciesDCFCodesAsList"
+ t:selectedValue="filter.targetSpeciesDCF"/>
+ <t:if test="filterManager.user.obsVente">
+ <label t:for="samplingStrategy">${message:wao.ui.field.SampleRow.samplingStrategy} :</label>
+ <input t:type="select" t:id="samplingStrategy" t:value="filter.samplingStrategy"/>
+ </t:if>
+ </div>
+ <t:if test="showEstimatedTides">
+ <div class="filterRow">
+ <input t:type="checkbox" t:id="estimatedTides" t:value="filter.estimatedTides" />
+ <label for="estimatedTides" title="${message:wao.ui.form.estimatedTides.description}">${message:wao.ui.form.estimatedTides}</label>
+ </div>
+ </t:if>
+ </p:else>
</t:if>
<div class="t-beaneditor-row aright">
<input t:type="submit" class="ico22px refresh" t:id="refresh"
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-03-30 16:34:24 UTC (rev 1119)
@@ -64,7 +64,8 @@
wao.ui.entity.Contact=Contact
wao.ui.entity.FishingZone=Fishing zones
wao.ui.entity.SampleRow=Sample row
-wao.ui.entity.TerrestrialLocation=
+wao.ui.entity.SampleRow.observationUnit=Observation unit
+wao.ui.entity.TerrestrialLocation=Place
wao.ui.entity.fishingGearDCF=Gear DCF code
wao.ui.entity.targetSpeciesDCF=Target species DCF code
wao.ui.field.Boat.boatLength=Length
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-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-03-30 16:34:24 UTC (rev 1119)
@@ -64,6 +64,7 @@
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.SampleRow.observationUnit=Unit\u00E9 d'observation
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00E8ces-cible code DCF
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-03-30 14:54:13 UTC (rev 1118)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-03-30 16:34:24 UTC (rev 1119)
@@ -33,6 +33,13 @@
</span>
</div>
+ <div style="clear: both;" />
+
+ <t:samplingFilterComponent t:id="samplingFilter"
+ t:visibleOnStartup="true"
+ t:filterManager="filterManager"
+ t:legendMsg="${message:wao.ui.misc.advancedSearch}"/>
+
<div t:type="grid" t:source="sampleRows" t:row="sampleRow" t:model="obsdebSamplingPlanModel" t:rowsPerPage="50">
<!-- code -->
<p:codeHeader>
1
0
[Suiviobsmer-commits] r1118 - in trunk: . wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/base wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by sletellier@users.labs.libre-entreprise.org 30 Mar '11
by sletellier@users.labs.libre-entreprise.org 30 Mar '11
30 Mar '11
Author: sletellier
Date: 2011-03-30 14:54:13 +0000 (Wed, 30 Mar 2011)
New Revision: 1118
Log:
- Make reset filter using service
- Move possible value initialisation to bean
- Rename SamplingPlanFilterManager to SamplingFilterManager
- Up to nuiton-utils 2.2-SNAPSHOT to have setLastDayOfYear and setFirstDayOfYear methods
Added:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java
Removed:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingPlanFilterManager.java
Modified:
trunk/pom.xml
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/FilterManager.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-03-30 12:52:41 UTC (rev 1117)
+++ trunk/pom.xml 2011-03-30 14:54:13 UTC (rev 1118)
@@ -312,7 +312,7 @@
<!-- libraries version -->
<nuitonI18nVersion>2.3.1</nuitonI18nVersion>
- <nuitonUtilsVersion>2.1</nuitonUtilsVersion>
+ <nuitonUtilsVersion>2.2-SNAPSHOT</nuitonUtilsVersion>
<nuitonWebVersion>1.0</nuitonWebVersion>
<topiaVersion>2.5.2</topiaVersion>
<eugeneVersion>2.3.3</eugeneVersion>
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-03-30 12:52:41 UTC (rev 1117)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -24,6 +24,7 @@
package fr.ifremer.wao.bean;
import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.DCF5Code;
import fr.ifremer.wao.entity.FishingGearDCF;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TargetSpeciesDCF;
@@ -360,6 +361,21 @@
@Override
public void fill(List<SampleRow> sampleRows) {
- throw new UnsupportedOperationException("not yet implemented");
+ for (SampleRow sampleRow : sampleRows) {
+ addCompanies(sampleRow.getCompany());
+ addFacadeNames(sampleRow.getFacade());
+ addPrograms(sampleRow.getProgramName());
+ addSectorsNames(sampleRow.getSectors());
+ Collection<DCF5Code> dcf5Codes = sampleRow.getDCF5Code();
+ if (dcf5Codes != null) {
+ for (DCF5Code dcf5Code : dcf5Codes) {
+ addFishingGearDCFCodes(dcf5Code.getFishingGearDCF());
+ addTargetSpeciesDCFCodes(dcf5Code.getTargetSpeciesDCF());
+ }
+ }
+ addTerrestrialDistricts(sampleRow.getTerrestrialLocation());
+ addAllObservers(sampleRow.getObservers());
+ }
+ addAllSampleRows(sampleRows);
}
} //SamplingFilterValuesImpl
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-03-30 12:52:41 UTC (rev 1117)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -89,6 +89,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.mail.EmailException;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -98,7 +99,6 @@
import org.nuiton.util.PeriodDates;
import org.nuiton.util.StringUtil;
import org.nuiton.util.beans.Binder;
-import org.nuiton.util.beans.BinderFactory;
import org.nuiton.util.beans.BinderModelBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -120,7 +120,6 @@
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
/**
* ServiceSamplingImpl
@@ -1369,25 +1368,9 @@
public SamplingFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, SamplingFilter filter) throws Exception {
List<SampleRow> sampleRows = executeGetSampleRowsByFilter(transaction, filter);
- // Extract datas
- // TODO sletellier 20110318 : move this on SamplingFilterValues ?
+ // Fill datas
SamplingFilterValues result = new SamplingFilterValuesImpl();
- for (SampleRow sampleRow : sampleRows) {
- result.addCompanies(sampleRow.getCompany());
- result.addFacadeNames(sampleRow.getFacade());
- result.addPrograms(sampleRow.getProgramName());
- result.addSectorsNames(sampleRow.getSectors());
- Collection<DCF5Code> dcf5Codes = sampleRow.getDCF5Code();
- if (dcf5Codes != null) {
- for (DCF5Code dcf5Code : dcf5Codes) {
- result.addFishingGearDCFCodes(dcf5Code.getFishingGearDCF());
- result.addTargetSpeciesDCFCodes(dcf5Code.getTargetSpeciesDCF());
- }
- }
- result.addTerrestrialDistricts(sampleRow.getTerrestrialLocation());
- result.addAllObservers(sampleRow.getObservers());
- }
- result.addAllSampleRows(sampleRows);
+ result.fill(sampleRows);
return result;
}
@@ -1395,7 +1378,30 @@
@Override
protected SamplingFilter executeNewSamplingFilter(TopiaContext transaction, ConnectedUser connectedUser) {
SamplingFilter samplingFilter = new SamplingFilterImpl();
+
+ // in the firsts months of a new year go from now to 6 months before
+ // in the rest of the year, just start at the beginning of the current year
+ Date toDate = context.getCurrentDate();
+ Date fromDate = context.getCurrentDate();
+ if (DateUtil.getMonth(fromDate) < 3) {
+ fromDate = DateUtils.addMonths(fromDate, -6);
+ } else {
+ fromDate = DateUtil.setFirstDayOfYear(fromDate);
+ }
+
+ fromDate = DateUtil.setMinTimeOfDay(fromDate);
+ toDate = DateUtil.setMinTimeOfDay(toDate);
+
samplingFilter.setObsProgram(connectedUser.getProfile().getObsProgram());
+ samplingFilter.setPeriod(new PeriodDates(fromDate, toDate));
+ samplingFilter.setEstimatedTides(true);
+
+ // Very very important to do that at beginning
+ // Evo #2227 : Guest user has no default company filter
+ if (connectedUser.isCoordinatorOrObserver()) {
+ samplingFilter.setCompany(connectedUser.getCompany());
+ }
+
return samplingFilter;
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/FilterManager.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/FilterManager.java 2011-03-30 12:52:41 UTC (rev 1117)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/FilterManager.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -80,16 +80,6 @@
public ConnectedUser getUser() {
return user;
}
- public void initCompagnyFilter() {
- // Very very important to do that at beginning
- // Evo #2227 : Guest user has no default company filter
- if (user.isCoordinatorOrObserver()) {
- if (log.isDebugEnabled()) {
- log.debug("Company filtered : " + user.getCompany().getName());
- }
- getFilter().setCompany(user.getCompany());
- }
- }
public abstract E getFilter();
Copied: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java (from rev 1112, trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingPlanFilterManager.java)
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java (rev 0)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -0,0 +1,59 @@
+/*
+ * #%L
+ * Wao :: Web Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.wao.ui.base;
+
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.service.ServiceSampling;
+import org.apache.tapestry5.annotations.Persist;
+
+/**
+ * @author sletellier <letellier at codelutin.com>
+ */
+public class SamplingFilterManager extends FilterManager<SamplingFilter> {
+
+ @Persist
+ protected SamplingFilter filter;
+
+ public SamplingFilterManager(ConnectedUser user,
+ ServiceSampling serviceSampling) {
+
+ super(user, serviceSampling);
+ }
+
+ @Override
+ public SamplingFilter getFilter() {
+ return filter;
+ }
+
+ @Override
+ protected boolean isAvailableDataForFiltersOnly() {
+ return false;
+ }
+
+ @Override
+ public void resetFilter() {
+ filter = serviceSampling.newSamplingFilter(user);
+ }
+}
Deleted: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingPlanFilterManager.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingPlanFilterManager.java 2011-03-30 12:52:41 UTC (rev 1117)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingPlanFilterManager.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -1,87 +0,0 @@
-/*
- * #%L
- * Wao :: Web Interface
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2011 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.wao.ui.base;
-
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.SamplingFilter;
-import fr.ifremer.wao.bean.SamplingFilterImpl;
-import fr.ifremer.wao.service.ServiceSampling;
-import org.apache.tapestry5.annotations.InjectComponent;
-import org.apache.tapestry5.annotations.Persist;
-import org.apache.tapestry5.corelib.components.Form;
-import org.nuiton.util.PeriodDates;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-
-/**
- * @author sletellier <letellier at codelutin.com>
- */
-public class SamplingPlanFilterManager extends FilterManager<SamplingFilter> {
-
- @Persist
- protected SamplingFilter filter;
-
- @InjectComponent
- private Form filtersForm;
-
- public SamplingPlanFilterManager(ConnectedUser user,
- ServiceSampling serviceSampling) {
-
- super(user, serviceSampling);
- }
-
- @Override
- public SamplingFilter getFilter() {
- return filter;
- }
-
- @Override
- protected boolean isAvailableDataForFiltersOnly() {
- return false;
- }
-
- @Override
- public void resetFilter() {
-
- filter = new SamplingFilterImpl();
- // Initialize period
- PeriodDates period = PeriodDates.createMonthsPeriodFromToday(11);
-
- GregorianCalendar initialFromDate = new GregorianCalendar();
- // in the firsts months of a new year go from now to 6 months before
- // in the rest of the year, just start at the beginning of the current year
- if (initialFromDate.get(Calendar.MONTH) < 3) {
- initialFromDate.add(Calendar.MONTH, -6);
- } else {
- initialFromDate.set(Calendar.DAY_OF_YEAR, 1);
- }
- period.setFromDate(initialFromDate.getTime());
- filter.setPeriod(period);
- filter.setObsProgram(user.getProfile().getObsProgram());
- filter.setEstimatedTides(true);
-
- initCompagnyFilter();
- }
-}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2011-03-30 12:52:41 UTC (rev 1117)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -34,11 +34,8 @@
import fr.ifremer.wao.entity.FishingZone;
import fr.ifremer.wao.entity.SampleMonth;
import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.service.ServiceBoat;
-import fr.ifremer.wao.service.ServiceReferential;
import fr.ifremer.wao.service.ServiceSampling;
-import fr.ifremer.wao.service.ServiceUser;
-import fr.ifremer.wao.ui.base.SamplingPlanFilterManager;
+import fr.ifremer.wao.ui.base.SamplingFilterManager;
import fr.ifremer.wao.ui.components.Layout;
import fr.ifremer.wao.ui.components.SamplingFilterComponent;
import fr.ifremer.wao.ui.data.ExportStreamResponse;
@@ -54,7 +51,6 @@
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.nuiton.util.PeriodDates;
import org.nuiton.util.StringUtil;
import org.nuiton.util.StringUtil.ToString;
@@ -104,7 +100,7 @@
private ConnectedUser user;
@Persist
- private SamplingPlanFilterManager filterManager;
+ private SamplingFilterManager filterManager;
private long nbTidesExpectedTime;
@@ -114,14 +110,14 @@
private long totalTidesRealTime;
- public SamplingPlanFilterManager getFilterManager() {
+ public SamplingFilterManager getFilterManager() {
if (filterManager == null) {
- filterManager = new SamplingPlanFilterManager(user, serviceSampling);
+ filterManager = new SamplingFilterManager(user, serviceSampling);
}
return filterManager;
}
- public void setFilterManager(SamplingPlanFilterManager filterManager) {
+ public void setFilterManager(SamplingFilterManager filterManager) {
this.filterManager = filterManager;
}
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-03-30 12:52:41 UTC (rev 1117)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2011-03-30 14:54:13 UTC (rev 1118)
@@ -42,7 +42,7 @@
import fr.ifremer.wao.entity.IndicatorLevel;
import fr.ifremer.wao.service.ServiceSampling;
import fr.ifremer.wao.service.ServiceSynthesis;
-import fr.ifremer.wao.ui.base.SamplingPlanFilterManager;
+import fr.ifremer.wao.ui.base.SamplingFilterManager;
import fr.ifremer.wao.ui.components.SamplingFilterComponent;
import fr.ifremer.wao.ui.data.ChartUtils;
import fr.ifremer.wao.ui.data.ChartUtils.ChartType;
@@ -132,16 +132,16 @@
private Messages messages;
@Persist
- private SamplingPlanFilterManager filterManager;
+ private SamplingFilterManager filterManager;
- public SamplingPlanFilterManager getFilterManager() {
+ public SamplingFilterManager getFilterManager() {
if (filterManager == null) {
- filterManager = new SamplingPlanFilterManager(user, serviceSampling);
+ filterManager = new SamplingFilterManager(user, serviceSampling);
}
return filterManager;
}
- public void setFilterManager(SamplingPlanFilterManager filterManager) {
+ public void setFilterManager(SamplingFilterManager filterManager) {
this.filterManager = filterManager;
}
1
0
[Suiviobsmer-commits] r1117 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 30 Mar '11
by bleny@users.labs.libre-entreprise.org 30 Mar '11
30 Mar '11
Author: bleny
Date: 2011-03-30 12:52:41 +0000 (Wed, 30 Mar 2011)
New Revision: 1117
Log:
remove dangerouse trace
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java
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-03-30 12:26:51 UTC (rev 1116)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-03-30 12:52:41 UTC (rev 1117)
@@ -104,11 +104,6 @@
WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction);
-
- for (WaoUser waoUser : dao.findAll()) {
- System.out.println(waoUser.getLogin() + " " + waoUser.getPassword());
- }
-
String passwordEncoded = context.encodeString(password);
WaoUser user = dao.findByProperties(
WaoUser.PROPERTY_LOGIN, login,
1
0
[Suiviobsmer-commits] r1114 - trunk/wao-business/src/main/java/fr/ifremer/wao
by sletellier@users.labs.libre-entreprise.org 29 Mar '11
by sletellier@users.labs.libre-entreprise.org 29 Mar '11
29 Mar '11
Author: sletellier
Date: 2011-03-29 15:41:12 +0000 (Tue, 29 Mar 2011)
New Revision: 1114
Log:
Fix pagination
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-03-29 13:36:48 UTC (rev 1113)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-03-29 15:41:12 UTC (rev 1114)
@@ -308,6 +308,9 @@
}
}
+ // Apply pagination
+ applyUserFilter(filter);
+
// Program filter
if (programName != null) {
query.addEquals(sampleRowProperty.programName(), programName);
1
0
[Suiviobsmer-commits] r1113 - in trunk/wao-business/src: main/java/fr/ifremer/wao/bean main/java/fr/ifremer/wao/service test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 29 Mar '11
by bleny@users.labs.libre-entreprise.org 29 Mar '11
29 Mar '11
Author: bleny
Date: 2011-03-29 13:36:48 +0000 (Tue, 29 Mar 2011)
New Revision: 1113
Log:
add logs and test for obsdeb sampling plan
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java 2011-03-29 09:42:22 UTC (rev 1112)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java 2011-03-29 13:36:48 UTC (rev 1113)
@@ -27,6 +27,8 @@
import fr.ifremer.wao.entity.SampleRow;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.nuiton.util.beans.BeanUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -103,4 +105,11 @@
}
return sampleRow;
}
+
+ @Override
+ public String toString() {
+ ToStringBuilder toStringBuilder = new ToStringBuilder(this);
+ String toString = toStringBuilder.reflectionToString(this);
+ return toString;
+ }
}
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-03-29 09:42:22 UTC (rev 1112)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-29 13:36:48 UTC (rev 1113)
@@ -583,11 +583,16 @@
if (ObsProgram.OBSDEB.equals(filter.getObsProgram())) {
// force load
for (SampleRow row : rows) {
- row.getObservationUnit().getPort();
+ row.getObservationUnit();
row.sizeElligibleBoat();
}
}
+ if (log.isDebugEnabled()) {
+ log.debug("Querying sample-rows with filter " + filter.toString()
+ + " returns " + rows.size() + " lines.");
+ }
+
return rows;
}
@@ -989,6 +994,7 @@
SampleRowLog sampleRowLog = executeGetNewSampleRowLog(sampleRow, connectedUser);
executeCreateUpdateSampleRow(transaction, sampleRow, new ArrayList<Boat>(), sampleRowLog);
+ result.incNbImported();
} catch (Exception e) {
errorArgs.add(-1);
errorArgs.add(sampleRow == null ? "" : sampleRow.getCode());
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-03-29 09:42:22 UTC (rev 1112)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-03-29 13:36:48 UTC (rev 1113)
@@ -36,10 +36,13 @@
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.lang.StringUtils;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
+import org.nuiton.util.DateUtil;
+import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -78,18 +81,26 @@
public void adminCanImportSamplingPlan() throws WaoBusinessException {
adminCanImportTerrestrialDistrict();
InputStream input = getClass().getResourceAsStream("/import/samplingPlan-obsdeb.csv");
- manager.getServiceSampling().importSamplingPlanCsv(input, asAdministrator());
+ ImportResults importResults = manager.getServiceSampling().importSamplingPlanCsv(input, asAdministrator());
+ Assert.assertEquals(2, importResults.getNbRowsImported());
+ Assert.assertEquals(0, importResults.getNbRowsRefused());
}
/**
* As an admin, i should be able to read sampling plan
*/
@Test
- @Ignore("not yet implemented")
public void adminCanReadSamplingPlan() throws WaoBusinessException {
- adminCanImportTerrestrialDistrict();
- SamplingFilter samplingFilter = manager.getServiceSampling().newSamplingFilter(asAdministrator());
- List<SampleRow> sampleRows = manager.getServiceSampling().getSampleRowsByFilter(samplingFilter);
+
+ // given a sampling plan
+ adminCanImportSamplingPlan();
+
+ // as an administrator, i can get the sampling plan
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(asAdministrator());
+ List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(samplingFilter);
+
if (log.isDebugEnabled()) {
log.debug(sampleRows.toString());
}
@@ -100,7 +111,31 @@
sampleRow.getObservationUnit().getObservationUnitCode();
sampleRow.getDay();
sampleRow.getGroupName();
+
+ // all the rows have a code
Assert.assertTrue(StringUtils.isNotEmpty(sampleRow.getCode()));
}
}
+
+ @Test
+ @Ignore("not yet implemented")
+ public void usersCanFilterSamplingPlan() throws WaoBusinessException {
+
+ // given a sampling plan
+ adminCanImportSamplingPlan();
+
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+
+ // i can filter the sampling plan
+ SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(asAdministrator());
+ samplingFilter = serviceSampling.newSamplingFilter(asAdministrator());
+ samplingFilter.setPeriod(new PeriodDates(DateUtil.createDate(20, 2, 2010),
+ DateUtil.createDate(27, 2, 2010)));
+
+ // service should have returned the line with date 25/02/2010
+ List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(samplingFilter);
+ Assert.assertEquals(1, sampleRows.size());
+ Assert.assertEquals("2011_889", sampleRows.get(0).getCode());
+ }
+
}
1
0
[Suiviobsmer-commits] r1112 - in trunk/wao-business/src/main: java/fr/ifremer/wao/service xmi
by bleny@users.labs.libre-entreprise.org 29 Mar '11
by bleny@users.labs.libre-entreprise.org 29 Mar '11
29 Mar '11
Author: bleny
Date: 2011-03-29 09:42:22 +0000 (Tue, 29 Mar 2011)
New Revision: 1112
Log:
bug fix import sampling plan
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
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-03-28 16:05:23 UTC (rev 1111)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-29 09:42:22 UTC (rev 1112)
@@ -264,7 +264,7 @@
SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow oldRow = null;
- if (row.getCode() == null) {
+ if (StringUtils.isEmpty(row.getCode())) {
// all rows must have a unique code, the code has a year as prefix
// like '2011_' so we must know on which year the row is active
@@ -295,15 +295,32 @@
// We call the service in another transaction, to prevent
// putting an entity in with the same id in the same session
oldRow = getSampleRowByCode(null, row.getCode());
+
+ if (log.isDebugEnabled()) {
+ log.debug("we want to update row with code " + row.getCode());
+
+ if (oldRow == null) {
+ log.debug("no older row with code " + row.getCode() + " found.");
+ } else {
+ log.debug("older row with code " + oldRow.getCode() + " found (topiaId="
+ + oldRow.getTopiaId() + ", historic size=" + oldRow.sizeSampleRowLog() + ")");
+ }
+ }
}
boolean rowIsNew = oldRow == null;
if (rowIsNew) {
+ if (log.isDebugEnabled()) {
+ log.debug("sample row is new, creating");
+ }
if (row.getTopiaId() == null) {
context.prepareTopiaId(SampleRow.class, row);
}
dao.create(row);
} else {
+ if (log.isDebugEnabled()) {
+ log.debug("sample row is not new, updating");
+ }
// check that code is not already used in another program
if ( ! row.getObsProgram().equals(oldRow.getObsProgram())) {
@@ -325,7 +342,8 @@
// update the row by copying the new data in the old entity
// taking care to not remove any sample row log entries
- BinderModelBuilder<SampleRow, SampleRow> sampleRowBinderModelBuilder = BinderModelBuilder.newEmptyBuilder(SampleRow.class);
+ BinderModelBuilder<SampleRow, SampleRow> sampleRowBinderModelBuilder =
+ BinderModelBuilder.newEmptyBuilder(SampleRow.class);
if (ObsProgram.OBSDEB.equals(row.getObsProgram())) {
sampleRowBinderModelBuilder.addSimpleProperties(
SampleRow.PROPERTY_COMMENT, SampleRow.PROPERTY_COMMENT,
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
1
0
[Suiviobsmer-commits] r1111 - in trunk: . wao-business wao-ui
by bleny@users.labs.libre-entreprise.org 28 Mar '11
by bleny@users.labs.libre-entreprise.org 28 Mar '11
28 Mar '11
Author: bleny
Date: 2011-03-28 16:05:23 +0000 (Mon, 28 Mar 2011)
New Revision: 1111
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/wao-business/pom.xml
trunk/wao-ui/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-03-28 16:05:21 UTC (rev 1110)
+++ trunk/pom.xml 2011-03-28 16:05:23 UTC (rev 1111)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1.2</version>
+ <version>3.0-SNAPSHOT</version>
<modules>
<module>wao-ui</module>
@@ -329,12 +329,12 @@
<scm>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1.2
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk
</connection>
<developerConnection>
- scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1.2
+ scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/suiviobsmer/trunk
</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1.2?root=suiviob…
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer
</url>
</scm>
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2011-03-28 16:05:21 UTC (rev 1110)
+++ trunk/wao-business/pom.xml 2011-03-28 16:05:23 UTC (rev 1111)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1.2</version>
+ <version>3.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -235,10 +235,10 @@
<scm>
<url>
- http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1.2/?root=suivio…
+ http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-business/?root=su…
</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1.2/wao-business</connection>
- <developerConnection>scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1.2/wao-business</developerConnection>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business</connection>
+ <developerConnection>scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business</developerConnection>
</scm>
</project>
Modified: trunk/wao-ui/pom.xml
===================================================================
--- trunk/wao-ui/pom.xml 2011-03-28 16:05:21 UTC (rev 1110)
+++ trunk/wao-ui/pom.xml 2011-03-28 16:05:23 UTC (rev 1111)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1.2</version>
+ <version>3.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -310,10 +310,10 @@
<scm>
<url>
- http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1.2/?root=suivio…
+ http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-ui/?root=suiviobs…
</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1.2/wao-ui</connection>
- <developerConnection>scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1.2/wao-ui</developerConnection>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui</connection>
+ <developerConnection>scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui</developerConnection>
</scm>
</project>
1
0