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
February 2011
- 2 participants
- 81 discussions
Author: bleny
Date: 2011-02-14 10:04:53 +0000 (Mon, 14 Feb 2011)
New Revision: 1007
Log:
update chenille kit version to 1.3.2
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-14 09:46:52 UTC (rev 1006)
+++ trunk/pom.xml 2011-02-14 10:04:53 UTC (rev 1007)
@@ -108,7 +108,7 @@
<dependency>
<groupId>org.chenillekit</groupId>
<artifactId>chenillekit-tapestry</artifactId>
- <version>1.3.0</version>
+ <version>1.3.2</version>
<exclusions>
<exclusion>
<groupId>jboss</groupId>
1
0
[Suiviobsmer-commits] r1006 - trunk/wao-business/src/main/java/fr/ifremer/wao/entity
by bleny@users.labs.libre-entreprise.org 14 Feb '11
by bleny@users.labs.libre-entreprise.org 14 Feb '11
14 Feb '11
Author: bleny
Date: 2011-02-14 09:46:52 +0000 (Mon, 14 Feb 2011)
New Revision: 1006
Log:
fix bad use of i18n
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java 2011-02-11 17:50:49 UTC (rev 1005)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java 2011-02-14 09:46:52 UTC (rev 1006)
@@ -23,7 +23,7 @@
*/
package fr.ifremer.wao.entity;
-import static org.nuiton.i18n.I18n._;
+import fr.ifremer.wao.WaoUtils;
/**
* @author bleny
@@ -41,7 +41,7 @@
@Override
public String getDescription() {
- return _(FishingGearDCF.class.getName() + "." + getCode());
+ return WaoUtils.translate(FishingGearDCF.class.getName() + "." + getCode());
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java 2011-02-11 17:50:49 UTC (rev 1005)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java 2011-02-14 09:46:52 UTC (rev 1006)
@@ -23,7 +23,7 @@
*/
package fr.ifremer.wao.entity;
-import static org.nuiton.i18n.I18n._;
+import fr.ifremer.wao.WaoUtils;
/**
* @author bleny
@@ -41,7 +41,7 @@
@Override
public String getDescription() {
- return _(TargetSpeciesDCF.class.getName() + "." + getCode());
+ return WaoUtils.translate(TargetSpeciesDCF.class.getName() + "." + getCode());
}
@Override
1
0
[Suiviobsmer-commits] r1005 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 11 Feb '11
by bleny@users.labs.libre-entreprise.org 11 Feb '11
11 Feb '11
Author: bleny
Date: 2011-02-11 17:50:49 +0000 (Fri, 11 Feb 2011)
New Revision: 1005
Log:
add filtering on ContactStateMotif
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
trunk/wao-ui/src/main/webapp/Contacts.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-02-11 15:13:05 UTC (rev 1004)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-02-11 17:50:49 UTC (rev 1005)
@@ -637,6 +637,10 @@
query.addEquals(contactProperty.completeSampling(), completeSampling.toArray());
}
+ if (filter.getContactStateMotif() != null) {
+ query.addEquals(contactProperty.contactStateMotif(), filter.getContactStateMotif());
+ }
+
if (logger.isDebugEnabled()) {
logger.debug("query with filters on Contacts is " + query);
}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java 2011-02-11 17:50:49 UTC (rev 1005)
@@ -0,0 +1,97 @@
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.entity.TranslatableEntity;
+import fr.ifremer.wao.entity.Translation;
+import fr.ifremer.wao.entity.TranslationDAO;
+import org.apache.commons.lang.LocaleUtils;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Manage the translations of all entities. This class aim to be
+ * used by service that output some translatable entities and
+ * provides methods to fulfill an entity with its translations
+ * to make it ready to printed in a localized UI.
+ */
+public class EntitiesTranslator {
+
+ private static final Logger log =
+ LoggerFactory.getLogger(EntitiesTranslator.class);
+
+ protected TopiaContext transaction;
+
+ public EntitiesTranslator(TopiaContext transaction) {
+ this.transaction = transaction;
+ }
+
+ /** For a given list of entities, make all known translations available
+ * in the entity.
+ *
+ * This method will look in database to find all translations for a given
+ * entity and push them in the object.
+ */
+ public <E extends TranslatableEntity> List<E> translateEntities(List<E> entities) throws TopiaException {
+ List<E> result = new ArrayList<E>(entities);
+ TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
+ for (TranslatableEntity entity : result) {
+ // find translations for this entity
+ List<Translation> translations = translationDAO.findAllById(entity.getTopiaId());
+ for (Translation translation : translations) {
+ Locale locale = LocaleUtils.toLocale(translation.getLocale());
+ entity.setTranslation(locale, translation.getText());
+ }
+ }
+ return result;
+ }
+
+ public void updateTranslations(List<? extends TranslatableEntity> entities) throws TopiaException {
+
+ TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
+
+ int translationAdded = 0;
+ int translationUpdated = 0;
+
+ for (TranslatableEntity entity : entities) {
+ Map<Locale, String> translations = entity.getTranslations();
+ String id = entity.getTopiaId();
+
+ for (Map.Entry<Locale, String> translation : translations.entrySet()) {
+ Locale locale = translation.getKey();
+ String value = translation.getValue();
+
+ Translation translationEntity = translationDAO.findByProperties(
+ Translation.PROPERTY_ID, id,
+ Translation.PROPERTY_LOCALE, locale.toString());
+ // create or update
+ if (translationEntity == null) {
+ translationDAO.create(Translation.PROPERTY_ID, id,
+ Translation.PROPERTY_LOCALE, locale.toString(),
+ Translation.PROPERTY_TEXT, value);
+ translationAdded += 1;
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("will change translation from '" + translationEntity.getText() +
+ "' to '" + value + "'");
+ }
+ translationEntity.setText(value);
+ translationDAO.update(translationEntity);
+ translationUpdated += 1;
+ }
+ }
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug(translationAdded + " translation added, " +
+ translationUpdated + " translations updated");
+ }
+ }
+
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-02-11 15:13:05 UTC (rev 1004)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-02-11 17:50:49 UTC (rev 1005)
@@ -51,6 +51,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -96,6 +97,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -191,13 +193,21 @@
Map<String, Contact> results = dao.findAllMappedByQuery(query);
+ List<ContactStateMotif> motives = new LinkedList<ContactStateMotif>();
+
// force load
for (Contact contact : results.values()) {
contact.getMainObserver();
contact.sizeSecondaryObservers();
contact.getTerrestrialLocation();
+ if (contact.getContactStateMotif() != null) {
+ motives.add(contact.getContactStateMotif());
+ }
}
+ EntitiesTranslator translator = new EntitiesTranslator(transaction);
+ translator.translateEntities(motives);
+
return results;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-11 15:13:05 UTC (rev 1004)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-11 17:50:49 UTC (rev 1005)
@@ -400,7 +400,8 @@
ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
notTranslatedResult = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
}
- List<ContactStateMotif> result = translateEntities(transaction, notTranslatedResult);
+ EntitiesTranslator translator = new EntitiesTranslator(transaction);
+ List<ContactStateMotif> result = translator.translateEntities(notTranslatedResult);
if (log.isDebugEnabled()) {
log.debug(result.size() + " motifs found for state " + contactState);
@@ -419,7 +420,8 @@
contactStateMotifDAO.update(motif);
}
}
- updateTranslations(transaction, motifs);
+ EntitiesTranslator translator = new EntitiesTranslator(transaction);
+ translator.updateTranslations(motifs);
transaction.commitTransaction();
}
@@ -455,7 +457,8 @@
motif.setTranslation(Locale.ENGLISH, "Other");
motifs.add(motif);
- updateTranslations(transaction, motifs);
+ EntitiesTranslator translator = new EntitiesTranslator(transaction);
+ translator.updateTranslations(motifs);
count = contactStateMotifDAO.count();
if (log.isDebugEnabled()) {
@@ -467,67 +470,4 @@
}
}
}
-
-
- /** For a given list of entities, make all known translations available
- * in the entity.
- *
- * This method will look in database to find all translations for a given
- * entity and push them in the object.
- */
- protected <E extends TranslatableEntity> List<E> translateEntities(TopiaContext transaction, List<E> entities) throws TopiaException {
- List<E> result = new ArrayList<E>(entities);
- TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
- for (TranslatableEntity entity : result) {
- // find translations for this entity
- List<Translation> translations = translationDAO.findAllById(entity.getTopiaId());
- for (Translation translation : translations) {
- Locale locale = LocaleUtils.toLocale(translation.getLocale());
- entity.setTranslation(locale, translation.getText());
- }
- }
- return result;
- }
-
- protected void updateTranslations(TopiaContext transaction, List<? extends TranslatableEntity> entities) throws TopiaException {
-
- TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
-
- int translationAdded = 0;
- int translationUpdated = 0;
-
- for (TranslatableEntity entity : entities) {
- Map<Locale, String> translations = entity.getTranslations();
- String id = entity.getTopiaId();
-
- for (Map.Entry<Locale, String> translation : translations.entrySet()) {
- Locale locale = translation.getKey();
- String value = translation.getValue();
-
- Translation translationEntity = translationDAO.findByProperties(
- Translation.PROPERTY_ID, id,
- Translation.PROPERTY_LOCALE, locale.toString());
- // create or update
- if (translationEntity == null) {
- translationDAO.create(Translation.PROPERTY_ID, id,
- Translation.PROPERTY_LOCALE, locale.toString(),
- Translation.PROPERTY_TEXT, value);
- translationAdded += 1;
- } else {
- if (log.isDebugEnabled()) {
- log.debug("will change translation from '" + translationEntity.getText() +
- "' to '" + value + "'");
- }
- translationEntity.setText(value);
- translationDAO.update(translationEntity);
- translationUpdated += 1;
- }
- }
- }
-
- if (log.isDebugEnabled()) {
- log.debug(translationAdded + " translation added, " +
- translationUpdated + " translations updated");
- }
- }
}
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-02-11 15:13:05 UTC (rev 1004)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-02-11 17:50:49 UTC (rev 1005)
@@ -348,7 +348,7 @@
private GenericSelectModel<ContactStateMotif> contactStateMotifSelectModel;
- public SelectModel getContactStateMotifSelectModel() {
+ public GenericSelectModel<ContactStateMotif> getContactStateMotifSelectModel() {
if (contactStateMotifSelectModel == null) {
List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(contact.getContactState());
if (motifs.size() != 0) {
@@ -413,6 +413,12 @@
contact.setTerrestrialLocation(terrestrialLocation);
}
+ if (StringUtils.isEmpty(contactStateMotifId)) {
+ contact.setContactStateMotif(null);
+ } else {
+ contact.setContactStateMotif(getContactStateMotifSelectModel().findObject(contactStateMotifId));
+ }
+
ValidationResult validationResult = serviceContact.validateContact(contact);
if ( ! validationResult.isSuccess()) {
contactForm.recordError(validationResult.getMessage());
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-02-11 15:13:05 UTC (rev 1004)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-02-11 17:50:49 UTC (rev 1005)
@@ -34,6 +34,7 @@
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.bean.ValidationResult;
import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.io.ImportResults;
@@ -51,6 +52,7 @@
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.StreamResponse;
import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Import;
@@ -60,6 +62,7 @@
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.beaneditor.BeanModel;
+import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
@@ -209,6 +212,9 @@
@Log
Object onSuccessFromFiltersForm() throws WaoException {
+ if (StringUtils.isNotEmpty(contactStateMotifId)) {
+ getContactFilter().setContactStateMotif(getContactStateMotifSelectModel().findObject(contactStateMotifId));
+ }
if (isEdited()) {
return filtersZone.getBody();
}
@@ -254,6 +260,33 @@
return terrestrialLocationSelectModel;
}
+ @Property
+ @Persist
+ private String contactStateMotifId;
+
+ private GenericSelectModel<ContactStateMotif> contactStateMotifSelectModel;
+
+ public GenericSelectModel<ContactStateMotif> getContactStateMotifSelectModel() {
+ if (contactStateMotifSelectModel == null) {
+ if (contactFilter.getState() != null) {
+ List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(contactFilter.getState());
+ if (motifs.size() != 0) {
+ contactStateMotifSelectModel = new GenericSelectModel<ContactStateMotif>(
+ motifs, ContactStateMotif.class, "translation", ContactStateMotif.TOPIA_ID, propertyAccess);
+ }
+ }
+ }
+ return contactStateMotifSelectModel;
+ }
+
+ public Zone onValueChangedFromState(ContactState contactState) {
+ contactFilter.setState(contactState);
+ // refresh
+ contactStateMotifSelectModel = null;
+ contactStateMotifId = null;
+ return filtersZone;
+ }
+
/**************************** CONTACT IMPORT/EXPORT ***********************/
@Property
Modified: trunk/wao-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Contacts.tml 2011-02-11 15:13:05 UTC (rev 1004)
+++ trunk/wao-ui/src/main/webapp/Contacts.tml 2011-02-11 17:50:49 UTC (rev 1005)
@@ -74,7 +74,13 @@
<label for="fromDate">${message:wao.ui.misc.since} :</label>
<input t:type="datefield" class="width70" t:id="fromDate" value="contactFilter.fromDate" />
<label for="state">${message:wao.ui.field.Contact.contactState} :</label>
- <select t:type="select" t:id="state" value="contactFilter.state"/>
+ <select t:type="select" t:id="state" value="contactFilter.state" t:zone="so-contacts-filters" />
+ <t:if test="contactStateMotifSelectModel">
+ <input t:type="select"
+ t:id="stateMotif"
+ t:value="contactStateMotifId"
+ t:model="contactStateMotifSelectModel" />
+ </t:if>
<t:if t:test="user.admin">
<label for="company">${message:wao.ui.entity.Company} :</label>
<input t:type="select" t:id="company" t:model="companySelectModel" value="companyId"/>
@@ -263,7 +269,14 @@
</span>
</p:boatCell>
<p:stateCell>
- ${getLabelForEnum(contact.contactState)}
+ <t:if test="contact.contactStateMotif">
+ <span t:type="ck/Tooltip" title="${message:wao.ui.field.Contact.contactStateMotif}" t:value="${contact.contactStateMotif}" t:effect="appear">
+ ${getLabelForEnum(contact.contactState)}
+ </span>
+ <p:else>
+ ${getLabelForEnum(contact.contactState)}
+ </p:else>
+ </t:if>
</p:stateCell>
<p:observationBeginDateCell>
<t:output value="contact.observationBeginDate" format="dateTimeFormat" />
1
0
[Suiviobsmer-commits] r1004 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/java/fr/ifremer/wao/ui/services wao-ui/src/main/resources/i18n wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 11 Feb '11
by bleny@users.labs.libre-entreprise.org 11 Feb '11
11 Feb '11
Author: bleny
Date: 2011-02-11 15:13:05 +0000 (Fri, 11 Feb 2011)
New Revision: 1004
Log:
add form to edit contact state motives
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.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/Administration.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-11 15:13:05 UTC (rev 1004)
@@ -385,18 +385,25 @@
return result;
}
+ /**
+ *
+ * @param contactState if null, return motifs for all contact states
+ */
@Override
protected List<ContactStateMotif> executeGetAllContactStateMotifs(TopiaContext transaction, ContactState contactState) throws Exception {
ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
-
- List<ContactStateMotif> notTranslatedResult = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
-
+ List<ContactStateMotif> notTranslatedResult;
+ if (contactState == null) {
+ notTranslatedResult = contactStateMotifDAO.findAll();
+ } else {
+ ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
+ notTranslatedResult = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
+ }
List<ContactStateMotif> result = translateEntities(transaction, notTranslatedResult);
if (log.isDebugEnabled()) {
- log.debug(result.size() + " motifs found for state " + contactState.toString());
+ log.debug(result.size() + " motifs found for state " + contactState);
}
return result;
@@ -406,9 +413,14 @@
protected void executeUpdateAllContactStatesMotifs(TopiaContext transaction, List<ContactStateMotif> motifs) throws Exception {
ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
for (ContactStateMotif motif : motifs) {
- contactStateMotifDAO.update(motif);
+ if (motif.getTopiaId() == null) {
+ contactStateMotifDAO.create(motif);
+ } else {
+ contactStateMotifDAO.update(motif);
+ }
}
updateTranslations(transaction, motifs);
+ transaction.commitTransaction();
}
@Override
@@ -456,6 +468,13 @@
}
}
+
+ /** For a given list of entities, make all known translations available
+ * in the entity.
+ *
+ * This method will look in database to find all translations for a given
+ * entity and push them in the object.
+ */
protected <E extends TranslatableEntity> List<E> translateEntities(TopiaContext transaction, List<E> entities) throws TopiaException {
List<E> result = new ArrayList<E>(entities);
TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
@@ -474,6 +493,9 @@
TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
+ int translationAdded = 0;
+ int translationUpdated = 0;
+
for (TranslatableEntity entity : entities) {
Map<Locale, String> translations = entity.getTranslations();
String id = entity.getTopiaId();
@@ -490,11 +512,22 @@
translationDAO.create(Translation.PROPERTY_ID, id,
Translation.PROPERTY_LOCALE, locale.toString(),
Translation.PROPERTY_TEXT, value);
+ translationAdded += 1;
} else {
+ if (log.isDebugEnabled()) {
+ log.debug("will change translation from '" + translationEntity.getText() +
+ "' to '" + value + "'");
+ }
translationEntity.setText(value);
translationDAO.update(translationEntity);
+ translationUpdated += 1;
}
}
}
+
+ if (log.isDebugEnabled()) {
+ log.debug(translationAdded + " translation added, " +
+ translationUpdated + " translations updated");
+ }
}
}
Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-02-11 15:13:05 UTC (rev 1004)
@@ -55,6 +55,7 @@
fr.ifremer.wao.entity.FishingGearDCF.GND=Driftnets
fr.ifremer.wao.entity.FishingGearDCF.GNF=Fixed gillnets
fr.ifremer.wao.entity.FishingGearDCF.GNS=Set gillnets (anchored)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Gillnetters
fr.ifremer.wao.entity.FishingGearDCF.GTN=Combined gillnets-trammel nets
fr.ifremer.wao.entity.FishingGearDCF.GTR=Trammel nets
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpoons
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-02-11 15:13:05 UTC (rev 1004)
@@ -29,11 +29,14 @@
import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.GlobalIndicatorValue;
import fr.ifremer.wao.bean.GlobalSynthesisParameters;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifImpl;
import fr.ifremer.wao.entity.Indicator;
import fr.ifremer.wao.entity.IndicatorLevel;
import fr.ifremer.wao.entity.UserProfile;
@@ -82,6 +85,7 @@
import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -742,13 +746,60 @@
return GlobalIndicatorValue.valueOf(indicatorLevel.getLevel());
}
+ /************************ Contact states motifs **************************/
+
+ @InjectComponent
+ private Form contactStateMotifsForm;
+
+ @Property
+ @Persist
+ private String contactStateMotifId;
+
+ @Property
+ private String translation;
+
+ private GenericSelectModel<ContactStateMotif> contactStateMotifSelectModel;
+
+ @Log
+ public GenericSelectModel<ContactStateMotif> getContactStateMotifSelectModel() {
+ if (contactStateMotifSelectModel == null) {
+ List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(null);
+ if (motifs.size() != 0) {
+ contactStateMotifSelectModel = new GenericSelectModel<ContactStateMotif>(
+ motifs, ContactStateMotif.class, "translation", ContactStateMotif.TOPIA_ID, propertyAccess);
+ }
+ }
+ return contactStateMotifSelectModel;
+ }
+//
+// @Log
+// public Object onValueChangedFromContactStateMotif(String contactStateMotifId) {
+// this.contactStateMotifId = contactStateMotifId;
+// ContactStateMotif motif = getContactStateMotifSelectModel().findObject(contactStateMotifId);
+// translation = motif.getTranslation();
+// return contactStateMotifsForm;
+// }
+
+ @Log
+ public Form onSuccessFromContactStateMotifsForm() {
+ ContactStateMotif motif;
+ if (StringUtils.isEmpty(contactStateMotifId)) {
+ motif = new ContactStateMotifImpl(ContactState.CONTACT_REFUSED);
+ } else {
+ motif = getContactStateMotifSelectModel().findObject(contactStateMotifId);
+ }
+ motif.setTranslation(manager.getCurrentLocale(), translation);
+ List<ContactStateMotif> motifs = new ArrayList<ContactStateMotif>();
+ motifs.add(motif);
+ serviceReferential.updateAllContactStatesMotifs(motifs);
+ // refresh
+ translation = null;
+ contactStateMotifSelectModel = null;
+ return contactStateMotifsForm;
+ }
+
/*************************************** I18N ****************************/
@Inject
private Messages messages;
-
- public String getLabelForEnum(Enum value) {
- return messages.get(value.getDeclaringClass().getSimpleName() + "." + value.name());
- }
-
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java 2011-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/WaoManager.java 2011-02-11 15:13:05 UTC (rev 1004)
@@ -289,7 +289,7 @@
}
public void changeLocale() {
- Locale currentLocale = localeService.get();
+ Locale currentLocale = getCurrentLocale();
Locale newLocale;
if (Locale.ENGLISH.equals(currentLocale)) {
newLocale = Locale.FRENCH;
@@ -299,4 +299,12 @@
localeService.set(newLocale);
context.setLocale(newLocale);
}
+
+ public Locale getCurrentLocale() {
+ Locale currentLocale = localeService.get();
+ if (currentLocale == null) {
+ currentLocale = Locale.FRENCH;
+ }
+ return currentLocale;
+ }
}
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-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-02-11 15:13:05 UTC (rev 1004)
@@ -79,6 +79,7 @@
wao.ui.field.Contact.completeSampling=Complete sampling
wao.ui.field.Contact.contactState=Contact state
wao.ui.field.Contact.contactStateMotif=Refusal motif
+wao.ui.field.Contact.contactStateMotifs=Refusal motives
wao.ui.field.Contact.creationDate=Contact creation date
wao.ui.field.Contact.dataInputDate=Allegro data input
wao.ui.field.Contact.dataReliability=Data reliability
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-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-02-11 15:13:05 UTC (rev 1004)
@@ -79,6 +79,7 @@
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
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2011-02-10 14:20:14 UTC (rev 1003)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-02-11 15:13:05 UTC (rev 1004)
@@ -208,7 +208,7 @@
<table class="indicatorLevels">
<tr>
<td t:type="loop" t:source="globalSynthesisParameters.globalIndicator.indicatorLevel" t:value="indicatorLevel" t:volatile="true">
- ${getLabelForEnum(globalIndicatorValue)}
+ ${globalIndicatorValue}
</td>
</tr>
<tr>
@@ -259,4 +259,21 @@
</t:if>
+ <t:if t:test="currentUser.admin">
+ <t:if t:test="currentUser.obsMer">
+ <h2>${message:wao.ui.field.Contact.contactStateMotifs}</h2>
+
+ <t:zone t:id="contactStateMotifsFormZone" t:update="show" class="acenter">
+ <form t:type="form" t:zone="contactStateMotifsFormZone" t:id="contactStateMotifsForm">
+ <input t:type="select"
+ t:id="contactStateMotif"
+ t:value="contactStateMotifId"
+ t:model="contactStateMotifSelectModel" />
+ <input t:type="textfield" t:value="translation" />
+ <input t:type="submit" class="ico save" value="${message:wao.ui.action.save}" />
+ </form>
+ </t:zone>
+ </t:if>
+ </t:if>
+
</t:layout>
1
0
[Suiviobsmer-commits] r1003 - trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by bleny@users.labs.libre-entreprise.org 10 Feb '11
by bleny@users.labs.libre-entreprise.org 10 Feb '11
10 Feb '11
Author: bleny
Date: 2011-02-10 14:20:14 +0000 (Thu, 10 Feb 2011)
New Revision: 1003
Log:
remove use of deprecated tapestry API
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-02-10 12:18:02 UTC (rev 1002)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-02-10 14:20:14 UTC (rev 1003)
@@ -57,7 +57,6 @@
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.EventContext;
import org.apache.tapestry5.OptionModel;
-import org.apache.tapestry5.RenderSupport;
import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Import;
@@ -72,18 +71,17 @@
import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.internal.OptionModelImpl;
-import org.apache.tapestry5.internal.SelectModelImpl;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.apache.tapestry5.ioc.services.TypeCoercer;
import org.apache.tapestry5.services.BeanModelSource;
+import org.apache.tapestry5.services.javascript.JavaScriptSupport;
import org.apache.tapestry5.util.EnumSelectModel;
import org.slf4j.Logger;
import java.io.FileNotFoundException;
import java.io.InputStream;
-import java.util.ArrayList;
import java.util.List;
/**
@@ -123,7 +121,7 @@
private TypeCoercer typeCoercer;
@Environmental
- private RenderSupport renderSupport;
+ private JavaScriptSupport javaScriptSupport;
@Property
private String companyId;
@@ -176,7 +174,7 @@
void afterRender() {
// Prototype class for UserSelect (manual usage because of specific style on options)
- renderSupport.addScript("new AdminUserSelect();");
+ javaScriptSupport.addScript("new AdminUserSelect();");
}
/**************************** IMPORTS (ADMIN) *******************************/
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java 2011-02-10 12:18:02 UTC (rev 1002)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Index.java 2011-02-10 14:20:14 UTC (rev 1003)
@@ -31,7 +31,6 @@
import fr.ifremer.wao.ui.data.RequiresAuthentication;
import org.apache.tapestry5.Asset2;
import org.apache.tapestry5.PersistenceConstants;
-import org.apache.tapestry5.RenderSupport;
import org.apache.tapestry5.annotations.Import;
import org.apache.tapestry5.annotations.Log;
import org.apache.tapestry5.annotations.Path;
@@ -39,6 +38,7 @@
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.ioc.annotations.Inject;
+import org.apache.tapestry5.services.javascript.JavaScriptSupport;
import org.slf4j.Logger;
import java.text.DateFormat;
@@ -87,11 +87,11 @@
private Asset2 fckconf;
@Inject
- private RenderSupport renderSupport;
+ private JavaScriptSupport javaScriptSupport;
public void afterRender() {
// Hide news details depends on an anchor named 'details' in news.getContent()
- renderSupport.addScript("newsHider = new NewsHider();\n" +
+ javaScriptSupport.addScript("newsHider = new NewsHider();\n" +
"newsHider.hideAllNewsDetails();");
}
1
0
Author: bleny
Date: 2011-02-10 12:18:02 +0000 (Thu, 10 Feb 2011)
New Revision: 1002
Log:
update parent pom version
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-10 12:07:17 UTC (rev 1001)
+++ trunk/pom.xml 2011-02-10 12:18:02 UTC (rev 1002)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4labs</artifactId>
- <version>2.4.4</version>
+ <version>2.5</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0
[Suiviobsmer-commits] r1001 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/i18n
by bleny@users.labs.libre-entreprise.org 10 Feb '11
by bleny@users.labs.libre-entreprise.org 10 Feb '11
10 Feb '11
Author: bleny
Date: 2011-02-10 12:07:17 +0000 (Thu, 10 Feb 2011)
New Revision: 1001
Log:
make ContactStateMotif translatable
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -774,4 +774,15 @@
queries.add("ALTER TABLE Contact ADD contactStateMotif CHARACTER VARYING(255);");
queries.add("ALTER TABLE Contact ADD CONSTRAINT contactStateMotif_fkey FOREIGN KEY (contactStateMotif) REFERENCES ContactStateMotif(topiaId);");
}
+
+ @Override
+ protected void addTranslations_2_1(List<String> queries) {
+ queries.add("CREATE TABLE Translation (" +
+ "topiaId CHARACTER VARYING(255) PRIMARY KEY," +
+ "topiaVersion BIGINT NOT NULL," +
+ "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
+ "id CHARACTER VARYING(255)," +
+ "locale CHARACTER VARYING(30)," +
+ "\"text\" TEXT);");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -1,3 +1,4 @@
+
/*
* #%L
* Wao :: Business
@@ -247,6 +248,7 @@
}
DefaultI18nInitializer defaultI18nInitializer = new DefaultI18nInitializer(getI18nBundle());
I18n.init(defaultI18nInitializer, null);
+ setLocale(Locale.FRENCH);
// Set context in WaoProperty enum to use easily method
// getValue() on WaoProperty
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -127,6 +127,8 @@
protected abstract void addContactRefusal_2_1(List<String> queries);
+ protected abstract void addTranslations_2_1(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -450,6 +452,8 @@
addContactRefusal_2_1(queries);
+ addTranslations_2_1(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -33,6 +33,7 @@
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Locale;
import static org.nuiton.i18n.I18n.l_;
@@ -122,6 +123,10 @@
return l_(context.getLocale(), i18nKey, args);
}
+ public static Locale getCurrentLocale() {
+ return context.getLocale();
+ }
+
public static final String monthPattern = "MM/yyyy";
public static final String datePattern = "dd/MM/yyyy";
public static final String dateTimePattern = "dd/MM/yyyy HH:mm";
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -1,9 +1,16 @@
package fr.ifremer.wao.entity;
+import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.ContactState;
-public class ContactStateMotifImpl extends ContactStateMotifAbstract {
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+public class ContactStateMotifImpl extends ContactStateMotifAbstract {
+
+ protected Map<Locale, String> translations;
+
public ContactStateMotifImpl() {}
public ContactStateMotifImpl(ContactState contactState) {
@@ -32,4 +39,31 @@
ContactState substitute = ContactState.getSubstituteForMotif(contactState);
return substitute;
}
+
+ @Override
+ public String getTranslation() {
+ return translations.get(WaoUtils.getCurrentLocale());
+ }
+
+ @Override
+ public void setTranslation(Locale locale, String value) {
+ if (translations == null) {
+ translations = new HashMap<Locale, String>();
+ }
+ translations.put(locale, value);
+ }
+
+ @Override
+ public String toString() {
+ String toString = getTranslation();
+ if (toString == null) {
+ toString = getTopiaId();
+ }
+ return toString;
+ }
+
+ @Override
+ public Map<Locale, String> getTranslations() {
+ return translations;
+ }
} //ContactStateMotifImpl
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -48,11 +48,15 @@
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.TerrestrialLocationDAO;
import fr.ifremer.wao.entity.TerrestrialLocationImpl;
+import fr.ifremer.wao.entity.TranslatableEntity;
+import fr.ifremer.wao.entity.Translation;
+import fr.ifremer.wao.entity.TranslationDAO;
import fr.ifremer.wao.io.csv.ImportHelper;
import fr.ifremer.wao.io.csv.WaoCsvHeader.FISHING_ZONE;
import fr.ifremer.wao.io.csv2.Import;
import fr.ifremer.wao.io.csv2.ImportModel;
import fr.ifremer.wao.io.csv2.TerrestrialLocationImportModel;
+import org.apache.commons.lang.LocaleUtils;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -64,10 +68,13 @@
import java.io.IOException;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
/**
@@ -383,8 +390,11 @@
ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
- List<ContactStateMotif> result = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
+ List<ContactStateMotif> notTranslatedResult = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
+
+ List<ContactStateMotif> result = translateEntities(transaction, notTranslatedResult);
+
if (log.isDebugEnabled()) {
log.debug(result.size() + " motifs found for state " + contactState.toString());
}
@@ -398,6 +408,7 @@
for (ContactStateMotif motif : motifs) {
contactStateMotifDAO.update(motif);
}
+ updateTranslations(transaction, motifs);
}
@Override
@@ -405,9 +416,35 @@
ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
int count = contactStateMotifDAO.count();
if (count == 0) {
- contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_DEFINITELY_REFUSED));
+ List<ContactStateMotif> motifs = new LinkedList<ContactStateMotif>();
+
+ ContactStateMotif motif;
+
+ // add Administratif, Rejet du programme, Blocage de la profession, autre
+
+ motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
+ motif.setTranslation(Locale.FRENCH, "Administratif");
+ motif.setTranslation(Locale.ENGLISH, "Administrative");
+ motifs.add(motif);
+
+ motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
+ motif.setTranslation(Locale.FRENCH, "Rejet du programme");
+ motif.setTranslation(Locale.ENGLISH, "Program rejection");
+ motifs.add(motif);
+
+ motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
+ motif.setTranslation(Locale.FRENCH, "Blocage de la profession");
+ motif.setTranslation(Locale.ENGLISH, "Profession locking");
+ motifs.add(motif);
+
+ motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
+ motif.setTranslation(Locale.FRENCH, "Autre");
+ motif.setTranslation(Locale.ENGLISH, "Other");
+ motifs.add(motif);
+
+ updateTranslations(transaction, motifs);
+
count = contactStateMotifDAO.count();
if (log.isDebugEnabled()) {
log.debug(count + " contact states motifs imported");
@@ -418,4 +455,46 @@
}
}
}
+
+ protected <E extends TranslatableEntity> List<E> translateEntities(TopiaContext transaction, List<E> entities) throws TopiaException {
+ List<E> result = new ArrayList<E>(entities);
+ TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
+ for (TranslatableEntity entity : result) {
+ // find translations for this entity
+ List<Translation> translations = translationDAO.findAllById(entity.getTopiaId());
+ for (Translation translation : translations) {
+ Locale locale = LocaleUtils.toLocale(translation.getLocale());
+ entity.setTranslation(locale, translation.getText());
+ }
+ }
+ return result;
+ }
+
+ protected void updateTranslations(TopiaContext transaction, List<? extends TranslatableEntity> entities) throws TopiaException {
+
+ TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
+
+ for (TranslatableEntity entity : entities) {
+ Map<Locale, String> translations = entity.getTranslations();
+ String id = entity.getTopiaId();
+
+ for (Map.Entry<Locale, String> translation : translations.entrySet()) {
+ Locale locale = translation.getKey();
+ String value = translation.getValue();
+
+ Translation translationEntity = translationDAO.findByProperties(
+ Translation.PROPERTY_ID, id,
+ Translation.PROPERTY_LOCALE, locale.toString());
+ // create or update
+ if (translationEntity == null) {
+ translationDAO.create(Translation.PROPERTY_ID, id,
+ Translation.PROPERTY_LOCALE, locale.toString(),
+ Translation.PROPERTY_TEXT, value);
+ } else {
+ translationEntity.setText(value);
+ translationDAO.update(translationEntity);
+ }
+ }
+ }
+ }
}
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-02-10 12:07:17 UTC (rev 1001)
@@ -353,7 +353,7 @@
List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(contact.getContactState());
if (motifs.size() != 0) {
contactStateMotifSelectModel = new GenericSelectModel<ContactStateMotif>(
- motifs, ContactStateMotif.class, ContactStateMotif.TOPIA_ID, ContactStateMotif.TOPIA_ID, propertyAccess);
+ motifs, ContactStateMotif.class, "translation", ContactStateMotif.TOPIA_ID, propertyAccess);
}
}
return contactStateMotifSelectModel;
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-02-10 09:30:50 UTC (rev 1000)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-02-10 12:07:17 UTC (rev 1001)
@@ -1,191 +1,191 @@
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.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.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.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.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.contact.lastContact=Derni\u00E8re observation concernant ce navire pour votre soci\u00E9t\u00E9 (tous programmes confondus)
+wao.ui.contacts.createFromBoat=Cr\u00E9er un nouveau contact pour ce navire et cette ligne du plan
+wao.ui.contacts.createFromBoat.fail=Cr\u00E9ation d'un nouveau contact impossible
+wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00E9e \u00E0 \u00E9ch\u00E9ance, \u00EAtes-vous s\u00FBr de vouloir cr\u00E9er un nouveau contact ?
+wao.ui.disclaimer=Le site de \u00AB SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00BB a fait l'objet d'une d\u00E9claration \u00E0 la CNIL sous le num\u00E9ro suivant \: 1414476
+wao.ui.disclaimer.boats=Les donn\u00E9es saisies dans cette page sont la propri\u00E9t\u00E9 exclusive de la soci\u00E9t\u00E9. En dehors de la soci\u00E9t\u00E9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
wao.ui.entity.Boat=Navire
wao.ui.entity.Boats=Navires
-wao.ui.entity.Company=Soci\u00e9t\u00e9
+wao.ui.entity.Company=Soci\u00E9t\u00E9
wao.ui.entity.Contact=Contact
-wao.ui.entity.FishingZone=Zones de p\u00eache
-wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
+wao.ui.entity.FishingZone=Zones de p\u00EAche
+wao.ui.entity.SampleRow=Ligne du plan d'\u00E9chantillonnage
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
-wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00E8ces-cible code DCF
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
+wao.ui.field.Boat.buildYear=Ann\u00E9e de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.immatriculation=Immatriculation
wao.ui.field.Boat.name=Nom
wao.ui.field.Boat.shipOwner=Armateur
wao.ui.field.BoatDistrict.code=Code quartier
-wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s
+wao.ui.field.BoatInfos.dup=Capacit\u00E9 d'accueil du navire en personnels sp\u00E9cialis\u00E9s
wao.ui.field.Company.active=Active
wao.ui.field.Company.name=Nom
-wao.ui.field.Contact.beginDate=D\u00e9but d'observation
+wao.ui.field.Contact.beginDate=D\u00E9but d'observation
wao.ui.field.Contact.comment=Commentaire observateur
wao.ui.field.Contact.commentAdmin=Commentaire programme
wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur
-wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet
-wao.ui.field.Contact.contactState=\u00c9tat du contact
+wao.ui.field.Contact.completeSampling=\u00C9chantillonnage complet
+wao.ui.field.Contact.contactState=\u00C9tat du contact
wao.ui.field.Contact.contactStateMotif=Motif du refus
-wao.ui.field.Contact.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.dCF5Code=Codes
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.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.samplingPlanLabel=du plan d'\u00E9chantillonnage
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.BUSINESS=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.BUSINESS=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
@@ -195,7 +195,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
@@ -205,13 +205,13 @@
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
@@ -220,52 +220,52 @@
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.nbObservants=Nb. d'observateurs
-wao.ui.samplingPlan.program=Programme ou r\u00e8glement rattachement
-wao.ui.samplingPlan.sampledProfessions=M\u00e9tiers \u00e9chantillonn\u00e9s
-wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00e9alis\u00e9 pour les contacts valid\u00e9s seulement
-wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00e9 pour les contacts valid\u00e9s ou non par la soci\u00e9t\u00e9
-wao.ui.samplingPlan.title=Plan d'\u00e9chantillonnage
-wao.ui.synthesis.allegroReactivity.description=Ce r\u00e9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00e9es et la date de fin d'observation.
-wao.ui.synthesis.allegroReactivity.title=R\u00e9activit\u00e9 quant \u00e0 la saisie des donn\u00e9es
+wao.ui.samplingPlan.program=Programme ou r\u00E8glement rattachement
+wao.ui.samplingPlan.sampledProfessions=M\u00E9tiers \u00E9chantillonn\u00E9s
+wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00E9alis\u00E9 pour les contacts valid\u00E9s seulement
+wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00E9 pour les contacts valid\u00E9s ou non par la soci\u00E9t\u00E9
+wao.ui.samplingPlan.title=Plan d'\u00E9chantillonnage
+wao.ui.synthesis.allegroReactivity.description=Ce r\u00E9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00E9es et la date de fin d'observation.
+wao.ui.synthesis.allegroReactivity.title=R\u00E9activit\u00E9 quant \u00E0 la saisie des donn\u00E9es
wao.ui.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations.
-wao.ui.synthesis.boarding.description=Ces r\u00e9sultats ne concernent que les lignes du plan d'\u00e9chantillonnage ayant une dur\u00e9e moyenne de mar\u00e9es inf\u00e9rieure ou \u00e9gale \u00e0 48h.
-wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00e9 avec %s observations (tous programmes confondus) \: %s (%s)
+wao.ui.synthesis.boarding.description=Ces r\u00E9sultats ne concernent que les lignes du plan d'\u00E9chantillonnage ayant une dur\u00E9e moyenne de mar\u00E9es inf\u00E9rieure ou \u00E9gale \u00E0 48h.
+wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00E9 avec %s observations (tous programmes confondus) \: %s (%s)
wao.ui.synthesis.boarding.title=Sollicitations des navires
-wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00e9vu d'observateurs pour chaque mar\u00e9e r\u00e9alis\u00e9e.
-wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00e9s
-wao.ui.synthesis.contactsStates.description=Ces r\u00e9sultats concernent l'ensemble des \u00e9tats des contacts except\u00e9 ceux qui ont \u00e9t\u00e9 refus\u00e9s par le programme.
-wao.ui.synthesis.contactsStates.title=\u00c9tats des contacts
-wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00e9es exploitables par rapport nombre de mar\u00e9e r\u00e9alis\u00e9es.
-wao.ui.synthesis.dataReliability.title=Qualit\u00e9 de la donn\u00e9e
-wao.ui.synthesis.dataSampling.title=Donn\u00e9es des mar\u00e9es (r\u00e9alis\u00e9 / planifi\u00e9)
-wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00e8se global
-wao.ui.synthesis.globalSynthesis.title=Synth\u00e8se globale
-wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00e8se globale (selon estimations)
-wao.ui.synthesis.log.description=Cette page pr\u00e9sente toutes les modifications effectu\u00e9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
-wao.ui.synthesis.log.empty=Aucune modification n'a \u00e9t\u00e9 apport\u00e9e \u00e0 ce jour
+wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00E9vu d'observateurs pour chaque mar\u00E9e r\u00E9alis\u00E9e.
+wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00E9s
+wao.ui.synthesis.contactsStates.description=Ces r\u00E9sultats concernent l'ensemble des \u00E9tats des contacts except\u00E9 ceux qui ont \u00E9t\u00E9 refus\u00E9s par le programme.
+wao.ui.synthesis.contactsStates.title=\u00C9tats des contacts
+wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00E9es exploitables par rapport nombre de mar\u00E9e r\u00E9alis\u00E9es.
+wao.ui.synthesis.dataReliability.title=Qualit\u00E9 de la donn\u00E9e
+wao.ui.synthesis.dataSampling.title=Donn\u00E9es des mar\u00E9es (r\u00E9alis\u00E9 / planifi\u00E9)
+wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00E8se global
+wao.ui.synthesis.globalSynthesis.title=Synth\u00E8se globale
+wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00E8se globale (selon estimations)
+wao.ui.synthesis.log.description=Cette page pr\u00E9sente toutes les modifications effectu\u00E9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
+wao.ui.synthesis.log.empty=Aucune modification n'a \u00E9t\u00E9 apport\u00E9e \u00E0 ce jour
wao.ui.synthesis.log.entry.author=Auteur de la modification
-wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9
+wao.ui.synthesis.log.entry.comment=Commentaire associ\u00E9
wao.ui.synthesis.log.entry.date=Date de la modification
-wao.ui.synthesis.log.entry.summary=Modifications effectu\u00e9es
-wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale
-wao.ui.unavailableOperation=Op\u00e9ration non-disponible
+wao.ui.synthesis.log.entry.summary=Modifications effectu\u00E9es
+wao.ui.synthesis.log.title=Historique des modifications des param\u00E8tres de la synth\u00E8se globale
+wao.ui.unavailableOperation=Op\u00E9ration non-disponible
wao.ui.userList=Liste des utilisateurs
wao.ui.validLogin=Identifiant valide
1
0
[Suiviobsmer-commits] r1000 - trunk/wao-business/src/main/java/fr/ifremer/wao/entity
by bleny@users.labs.libre-entreprise.org 10 Feb '11
by bleny@users.labs.libre-entreprise.org 10 Feb '11
10 Feb '11
Author: bleny
Date: 2011-02-10 09:30:50 +0000 (Thu, 10 Feb 2011)
New Revision: 1000
Log:
add impl
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-02-10 09:30:50 UTC (rev 1000)
@@ -0,0 +1,35 @@
+package fr.ifremer.wao.entity;
+
+import fr.ifremer.wao.bean.ContactState;
+
+public class ContactStateMotifImpl extends ContactStateMotifAbstract {
+
+ public ContactStateMotifImpl() {}
+
+ public ContactStateMotifImpl(ContactState contactState) {
+ setContactState(contactState);
+ }
+
+ @Override
+ public void setContactStateOrdinal(int contactStateOrdinal) {
+ setContactState(ContactState.valueOf(contactStateOrdinal));
+ }
+
+ @Override
+ public void setContactState(ContactState contactState) {
+ ContactState substitute = ContactState.getSubstituteForMotif(contactState);
+ super.setContactStateOrdinal(substitute.ordinal());
+ }
+
+ @Override
+ public int getContactStateOrdinal() {
+ return getContactState().ordinal();
+ }
+
+ @Override
+ public ContactState getContactState() {
+ ContactState contactState = ContactState.valueOf(super.getContactStateOrdinal());
+ ContactState substitute = ContactState.getSubstituteForMotif(contactState);
+ return substitute;
+ }
+} //ContactStateMotifImpl
1
0
[Suiviobsmer-commits] r999 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-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 09 Feb '11
by bleny@users.labs.libre-entreprise.org 09 Feb '11
09 Feb '11
Author: bleny
Date: 2011-02-09 16:52:20 +0000 (Wed, 09 Feb 2011)
New Revision: 999
Log:
beginning evol #2603 add contact state motif
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/ContactForm.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -759,6 +759,19 @@
@Override
protected void addMammalsNotificationsColumns_2_1(List<String> queries) {
queries.add("ALTER TABLE WaoUser ADD mammalsNotifications BOOLEAN DEFAULT FALSE;");
- queries.add("ALTER TABLE Contact ADD mammalsInfo TEXT");
+ queries.add("ALTER TABLE Contact ADD mammalsInfo TEXT;");
}
+
+ @Override
+ protected void addContactRefusal_2_1(List<String> queries) {
+ queries.add("CREATE TABLE ContactStateMotif (" +
+ "topiaId CHARACTER VARYING(255) PRIMARY KEY," +
+ "topiaVersion BIGINT NOT NULL," +
+ "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
+ "contactStateOrdinal SMALLINT);");
+
+ // add relation between contact and contactRefusal
+ queries.add("ALTER TABLE Contact ADD contactStateMotif CHARACTER VARYING(255);");
+ queries.add("ALTER TABLE Contact ADD CONSTRAINT contactStateMotif_fkey FOREIGN KEY (contactStateMotif) REFERENCES ContactStateMotif(topiaId);");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -267,6 +267,8 @@
InputStream terrestrialLocationsCsv = getClass().getResourceAsStream("/terrestrialLocations.csv");
serviceReferential.importTerrestrialLocations(terrestrialLocationsCsv);
+ serviceReferential.importInitialContactStateMotifs();
+
if (log.isInfoEnabled()) {
log.info("wao is started !");
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -125,6 +125,8 @@
protected abstract void addMammalsNotificationsColumns_2_1(List<String> queries);
+ protected abstract void addContactRefusal_2_1(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -446,9 +448,10 @@
addMammalsNotificationsColumns_2_1(queries);
+ addContactRefusal_2_1(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
}
-
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -26,9 +26,7 @@
import fr.ifremer.wao.WaoUtils;
-import java.sql.Array;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import static org.nuiton.i18n.I18n.n_;
@@ -141,4 +139,19 @@
return WaoUtils.translate(i18nKey);
}
+ /**
+ * Different contact states may share the same set of possible motifs
+ * For example, CONTACT_DEFINITELY_REFUSED and CONTACT_REFUSED
+ * Here, we substitute one by another to use the same set of motifs
+ */
+ public static ContactState getSubstituteForMotif(ContactState contactState) {
+ ContactState substituteState;
+ if (contactState.equals(ContactState.CONTACT_DEFINITELY_REFUSED)) {
+ substituteState = ContactState.CONTACT_REFUSED;
+ } else {
+ substituteState = contactState;
+ }
+ return substituteState;
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -87,13 +87,18 @@
}
@Override
+ public void setState(int state) {
+ setContactState(ContactState.valueOf(state));
+ }
+
+ @Override
public ContactState getContactState() {
return ContactState.valueOf(getState());
}
@Override
public void setContactState(ContactState contactState) {
- setState(contactState.ordinal());
+ super.setState(contactState.ordinal());
}
@Override
@@ -178,4 +183,6 @@
super.setMainObserver(mainObserver);
updateNbObservers();
}
+
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -32,7 +32,11 @@
import fr.ifremer.wao.WaoQueryBuilder;
import fr.ifremer.wao.WaoQueryHelper;
import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifDAO;
+import fr.ifremer.wao.entity.ContactStateMotifImpl;
import fr.ifremer.wao.entity.FishingGearDCF;
import fr.ifremer.wao.entity.FishingGearDCFDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -373,4 +377,45 @@
TerrestrialLocation result = dao.findByProperties(properties);
return result;
}
+
+ @Override
+ protected List<ContactStateMotif> executeGetAllContactStateMotifs(TopiaContext transaction, ContactState contactState) throws Exception {
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
+
+ ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
+ List<ContactStateMotif> result = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
+
+ if (log.isDebugEnabled()) {
+ log.debug(result.size() + " motifs found for state " + contactState.toString());
+ }
+
+ return result;
+ }
+
+ @Override
+ protected void executeUpdateAllContactStatesMotifs(TopiaContext transaction, List<ContactStateMotif> motifs) throws Exception {
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
+ for (ContactStateMotif motif : motifs) {
+ contactStateMotifDAO.update(motif);
+ }
+ }
+
+ @Override
+ protected void executeImportInitialContactStateMotifs(TopiaContext transaction) throws Exception {
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
+ int count = contactStateMotifDAO.count();
+ if (count == 0) {
+ contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
+ contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_DEFINITELY_REFUSED));
+
+ count = contactStateMotifDAO.count();
+ if (log.isDebugEnabled()) {
+ log.debug(count + " contact states motifs imported");
+ }
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("will not import contact states motifs");
+ }
+ }
+ }
}
Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-02-09 16:52:20 UTC (rev 999)
@@ -152,6 +152,7 @@
wao.error.serviceNews.getNewNews=
wao.error.serviceNews.getNews=
wao.error.serviceNews.saveNews=
+wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllTerrestrialDistricts=
wao.error.serviceReferential.getAllTerrestrialLocations=
wao.error.serviceReferential.getCodesDCF5Contains=
@@ -160,9 +161,12 @@
wao.error.serviceReferential.getProfessions=
wao.error.serviceReferential.getSectors=
wao.error.serviceReferential.getTerrestrialDistrict=
+wao.error.serviceReferential.importContactStateMotifs=
wao.error.serviceReferential.importDCFcodes=
wao.error.serviceReferential.importFishingZoneCsv=
+wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importTerrestrialLocations=
+wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.createSampleRowLog=
wao.error.serviceSampling.createUpdateSampleRow=
wao.error.serviceSampling.deleteSampleRow=
Modified: trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-02-09 16:52:20 UTC (rev 999)
@@ -163,6 +163,7 @@
wao.error.serviceNews.getNewNews=
wao.error.serviceNews.getNews=Impossible de r\u00E9cup\u00E9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
+wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllTerrestrialDistricts=
wao.error.serviceReferential.getAllTerrestrialLocations=
wao.error.serviceReferential.getCodesDCF5Contains=
@@ -171,9 +172,12 @@
wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00E9tiers
wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00EAche
wao.error.serviceReferential.getTerrestrialDistrict=
+wao.error.serviceReferential.importContactStateMotifs=
wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00E9er le r\u00E9f\u00E9rentiel des codes DCF
wao.error.serviceReferential.importFishingZoneCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00E9tails.
+wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importTerrestrialLocations=
+wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.createSampleRowLog=
wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -29,6 +29,7 @@
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.bean.ValidationResult;
import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.service.ServiceContact;
@@ -189,6 +190,9 @@
if (oldContact == contact) {
throw new IllegalStateException("il faut deux instances différentes");
}
+ if (contact.getContactStateMotif() != null) {
+ contactStateMotifId = contact.getContactStateMotif().getTopiaId();
+ }
}
if (logger.isDebugEnabled()) {
logger.debug("contact : " + contact.getTopiaCreateDate() +
@@ -338,6 +342,31 @@
allowedStates.toArray(new ContactState[allowedStates.size()]));
}
+ @Property
+ @Persist
+ private String contactStateMotifId;
+
+ private GenericSelectModel<ContactStateMotif> contactStateMotifSelectModel;
+
+ public SelectModel getContactStateMotifSelectModel() {
+ if (contactStateMotifSelectModel == null) {
+ List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(contact.getContactState());
+ if (motifs.size() != 0) {
+ contactStateMotifSelectModel = new GenericSelectModel<ContactStateMotif>(
+ motifs, ContactStateMotif.class, ContactStateMotif.TOPIA_ID, ContactStateMotif.TOPIA_ID, propertyAccess);
+ }
+ }
+ return contactStateMotifSelectModel;
+ }
+
+ public Form onValueChangedFromContactState(ContactState contactState) {
+ contact.setContactState(contactState);
+ // refresh
+ contactStateMotifSelectModel = null;
+ contactStateMotifId = null;
+ return contactForm;
+ }
+
/************************ ADMIN FIELDS ************************************/
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-02-09 16:52:20 UTC (rev 999)
@@ -235,7 +235,7 @@
@Persist
private String terrestrialLocationId;
- public Zone onValueChanged(String terrestrialDistrictId) {
+ public Zone onValueChangedTerrestrialDistrict(String terrestrialDistrictId) {
updateLocation(terrestrialDistrictId);
return filtersZone;
}
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-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-02-09 16:52:20 UTC (rev 999)
@@ -78,13 +78,14 @@
wao.ui.field.Contact.commentCoordinator=Coordinator comment
wao.ui.field.Contact.completeSampling=Complete sampling
wao.ui.field.Contact.contactState=Contact state
+wao.ui.field.Contact.contactStateMotif=Refusal motif
wao.ui.field.Contact.creationDate=Contact creation date
wao.ui.field.Contact.dataInputDate=Allegro data input
wao.ui.field.Contact.dataReliability=Data reliability
wao.ui.field.Contact.endDate=Observation end
wao.ui.field.Contact.mainObserver=Main observer
wao.ui.field.Contact.mammalsCapture=Accidental capture
-wao.ui.field.Contact.mammalsInfo=
+wao.ui.field.Contact.mammalsInfo=Scientific names and number of captured species
wao.ui.field.Contact.mammalsObservation=Exceptional observation
wao.ui.field.Contact.nbObservants=Observers number
wao.ui.field.Contact.samplingStrategy=Sampling strategy followed
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-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-02-09 16:52:20 UTC (rev 999)
@@ -1,190 +1,191 @@
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.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.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.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.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.contact.lastContact=Derni\u00e8re observation concernant ce navire pour votre soci\u00e9t\u00e9 (tous programmes confondus)
+wao.ui.contacts.createFromBoat=Cr\u00e9er un nouveau contact pour ce navire et cette ligne du plan
+wao.ui.contacts.createFromBoat.fail=Cr\u00e9ation d'un nouveau contact impossible
+wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00e9e \u00e0 \u00e9ch\u00e9ance, \u00eates-vous s\u00fbr de vouloir cr\u00e9er un nouveau contact ?
+wao.ui.disclaimer=Le site de \u00ab SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00bb a fait l'objet d'une d\u00e9claration \u00e0 la CNIL sous le num\u00e9ro suivant \: 1414476
+wao.ui.disclaimer.boats=Les donn\u00e9es saisies dans cette page sont la propri\u00e9t\u00e9 exclusive de la soci\u00e9t\u00e9. En dehors de la soci\u00e9t\u00e9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
wao.ui.entity.Boat=Navire
wao.ui.entity.Boats=Navires
-wao.ui.entity.Company=Soci\u00E9t\u00E9
+wao.ui.entity.Company=Soci\u00e9t\u00e9
wao.ui.entity.Contact=Contact
-wao.ui.entity.FishingZone=Zones de p\u00EAche
-wao.ui.entity.SampleRow=Ligne du plan d'\u00E9chantillonnage
+wao.ui.entity.FishingZone=Zones de p\u00eache
+wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
-wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00E8ces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Ann\u00E9e de construction
+wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.immatriculation=Immatriculation
wao.ui.field.Boat.name=Nom
wao.ui.field.Boat.shipOwner=Armateur
wao.ui.field.BoatDistrict.code=Code quartier
-wao.ui.field.BoatInfos.dup=Capacit\u00E9 d'accueil du navire en personnels sp\u00E9cialis\u00E9s
+wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s
wao.ui.field.Company.active=Active
wao.ui.field.Company.name=Nom
-wao.ui.field.Contact.beginDate=D\u00E9but d'observation
+wao.ui.field.Contact.beginDate=D\u00e9but d'observation
wao.ui.field.Contact.comment=Commentaire observateur
wao.ui.field.Contact.commentAdmin=Commentaire programme
wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur
-wao.ui.field.Contact.completeSampling=\u00C9chantillonnage complet
-wao.ui.field.Contact.contactState=\u00C9tat du contact
-wao.ui.field.Contact.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.completeSampling=\u00c9chantillonnage complet
+wao.ui.field.Contact.contactState=\u00c9tat du contact
+wao.ui.field.Contact.contactStateMotif=Motif du 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.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.dCF5Code=Codes
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.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.samplingPlanLabel=du plan d'\u00e9chantillonnage
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.BUSINESS=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.BUSINESS=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
@@ -194,7 +195,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
@@ -204,13 +205,13 @@
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
@@ -219,52 +220,52 @@
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.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/ContactForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-02-09 08:30:04 UTC (rev 998)
+++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-02-09 16:52:20 UTC (rev 999)
@@ -207,11 +207,21 @@
<div>
<label for="contactState">${message:wao.ui.field.Contact.contactState}</label>
<input t:type="select"
+ t:zone="globalZone"
t:id="contactState"
t:value="contact.contactState"
t:validate="required"
t:model="contactStateSelectModel" />
</div>
+ <t:if test="contactStateMotifSelectModel">
+ <div>
+ <label for="contactStateMotif">${message:wao.ui.field.Contact.contactStateMotif}</label>
+ <input t:type="select"
+ t:id="contactStateMotif"
+ t:value="contactStateMotifId"
+ t:model="contactStateMotifSelectModel" />
+ </div>
+ </t:if>
<div>
<label for="beginDate">${message:wao.ui.field.Contact.beginDate}</label>
<input t:id="beginDate" value="contact.observationBeginDate" datePattern="${dateTimeFormatPattern}" timePicker="true" timePickerAdjacent="true" use24hrs="true" />
1
0
Author: tchemit
Date: 2011-02-09 08:30:04 +0000 (Wed, 09 Feb 2011)
New Revision: 998
Log:
Update mavenpom4labs to 2.4.4.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-08 15:45:10 UTC (rev 997)
+++ trunk/pom.xml 2011-02-09 08:30:04 UTC (rev 998)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4labs</artifactId>
- <version>2.4.3</version>
+ <version>2.4.4</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0