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
- 2352 discussions
27 Jan '10
Author: fdesbois
Date: 2010-01-27 16:09:19 +0000 (Wed, 27 Jan 2010)
New Revision: 283
Added:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/WaoUserImpl.java
Removed:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java
Modified:
trunk/changelog.txt
trunk/pom.xml
trunk/src/site/resources/schemas/Modele_WAO.png
trunk/src/site/rst/model.rst
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.properties
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java
trunk/suiviobsmer-ui/pom.xml
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java
trunk/suiviobsmer-ui/src/main/webapp/Boats.tml
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
trunk/suiviobsmer-ui/src/main/webapp/SampleRowForm.tml
trunk/suiviobsmer-ui/src/main/webapp/SampleRowHistoric.tml
trunk/suiviobsmer-ui/src/main/webapp/css/main.css
Log:
EVO #2055 : Refactor User entity name by WaoUser to use postgresql as database
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/changelog.txt 2010-01-27 16:09:19 UTC (rev 283)
@@ -1,6 +1,11 @@
Release note
============
+0.3.0
+-----
+
+- [fdesbois] Evo #2055 : Renommer l'entité User par WaoUser (indispensable pour postgresql)
+
0.2.0
-----
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/pom.xml 2010-01-27 16:09:19 UTC (rev 283)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.1-SNAPSHOT</version>
+ <version>0.3.0-SNAPSHOT</version>
<modules>
<module>suiviobsmer-ui</module>
@@ -125,6 +125,11 @@
<version>1.2.125</version>
</dependency>
<dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>8.3-603.jdbc4</version>
+ </dependency>
+ <dependency>
<groupId>org.jvnet.hudson.winstone</groupId>
<artifactId>winstone</artifactId>
<version>0.9.10-hudson-16</version>
Modified: trunk/src/site/resources/schemas/Modele_WAO.png
===================================================================
(Binary files differ)
Modified: trunk/src/site/rst/model.rst
===================================================================
--- trunk/src/site/rst/model.rst 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/src/site/rst/model.rst 2010-01-27 16:09:19 UTC (rev 283)
@@ -70,6 +70,7 @@
+ logText : texte descriptif du changement effectué sur la ligne
+ comment : commentaire sur le changement
+ [caché] topiaCreateDate : date du changement effectué
+ + [lien] admin : administrateur qui a modifié la ligne
Navires
-------
@@ -161,7 +162,7 @@
+ comment : commentaire sur le contact
+ state : état du contact
+ tideNbDays : nombre de jours de marées effectuées
- + [lien] user : observateur qui s'occupe du contact faisant parti de la société
+ + [lien] observer : observateur qui s'occupe du contact faisant parti de la société
concerné par le métier (ligne du plan d'échantillonnage)
+ [lien] boat : navire concerné par le contact
+ [lien] sampleRow : ligne du plan d'échantillonnage concerné par le contact
@@ -187,7 +188,7 @@
+ postalCode : code postal de la société
+ [lien] user : liste des utilisateurs appartenant à cette société
-- **User** : Utilisateur / Observateur ou Administrateur
+- **WaoUser** : Utilisateur / Observateur ou Administrateur
+ firstName : prénom
+ lastName : nom
Modified: trunk/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-27 16:09:19 UTC (rev 283)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.1-SNAPSHOT</version>
+ <version>0.3.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -60,6 +60,10 @@
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency>
<!-- base postgres -->
<!--dependency>
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -23,8 +23,8 @@
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.CompanyDAO;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserDAO;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
+import fr.ifremer.suiviobsmer.entity.WaoUserDAO;
import org.nuiton.topia.TopiaContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,7 +57,7 @@
try {
TopiaContext transaction = SuiviObsmerContext.getTopiaRootContext().beginTransaction();
- UserDAO dao = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
+ WaoUserDAO dao = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
long nbUsers = dao.size();
@@ -77,14 +77,14 @@
String password = SuiviObsmerContext.encodeString("password");
- User user = dao.create(
- User.ADMIN, true,
- User.ACTIVE, true,
- User.LOGIN, "admin",
- User.PASSWORD, password,
- User.FIRST_NAME, "Super",
- User.LAST_NAME, "Admin");
- company.addUser(user);
+ WaoUser user = dao.create(
+ WaoUser.ADMIN, true,
+ WaoUser.ACTIVE, true,
+ WaoUser.LOGIN, "admin",
+ WaoUser.PASSWORD, password,
+ WaoUser.FIRST_NAME, "Super",
+ WaoUser.LAST_NAME, "Admin");
+ company.addWaoUser(user);
user.setCompany(company);
transaction.commitTransaction();
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -21,10 +21,10 @@
package fr.ifremer.suiviobsmer.bean;
+import fr.ifremer.suiviobsmer.entity.Boat;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.framework.TopiaQuery.Op;
-import org.nuiton.topia.persistence.TopiaEntity;
/**
* BoatFilterImpl
@@ -46,15 +46,15 @@
query = prepareQueryForLimit(query);
if (StringUtils.isNotEmpty(getBoatName())) {
- query.add(boat + ".name", Op.LIKE, getBoatName().trim() + "%");
+ query.add(boat + "." + Boat.NAME, Op.LIKE, getBoatName().trim() + "%");
}
if (StringUtils.isNotEmpty(getBoatDistrictCode())) {
- query.add(boat + ".districtCode", getBoatDistrictCode().trim());
+ query.add(boat + "." + Boat.DISTRICT_CODE, getBoatDistrictCode().trim());
}
if (getBoatImmatriculation() != null) {
- query.add(boat + ".immatriculation", getBoatImmatriculation());
+ query.add(boat + "." + Boat.IMMATRICULATION, getBoatImmatriculation());
}
return query;
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -23,7 +23,7 @@
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.SampleRow;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import java.util.ArrayList;
import java.util.List;
import org.nuiton.topia.framework.TopiaQuery;
@@ -48,7 +48,7 @@
String contact = query.getMainAlias();
if (getObserver() != null) {
- query.add(contact + "." + Contact.USER, getObserver());
+ query.add(contact + "." + Contact.OBSERVER, getObserver());
}
// Company filter is managed by SamplingFilter cause the company is linked with the sampleRow instead of contact user
// else if (getCompany() != null) {
@@ -66,7 +66,7 @@
query = prepareQueryForBoat(query, contact + "." + Contact.BOAT);
if (getMammalsObservation() && getMammalsCapture()) {
- query.add(contact + ".mammalsObservation = :mammals OR " + contact + ".mammalsCapture = :mammals").
+ query.add(contact + "." + Contact.MAMMALS_OBSERVATION + " = :mammals OR " + contact + "." + Contact.MAMMALS_CAPTURE + " = :mammals").
addParam("mammals", Boolean.TRUE);
} else if (getMammalsObservation()) {
query.add(contact + "." + Contact.MAMMALS_OBSERVATION, Boolean.TRUE);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -99,7 +99,7 @@
ContactDAO dao = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
TopiaQuery<Contact> query = dao.createQueryDoneContactsFromDate(getBoat(), fromDate);
- query.add("user.company", getCompany());
+ query.add(Contact.OBSERVER + "." + WaoUser.COMPANY, getCompany());
result = query.executeCount();
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -24,6 +24,7 @@
import java.util.Date;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.framework.TopiaQuery.Op;
+import org.nuiton.topia.persistence.TopiaEntity;
/**
@@ -50,16 +51,16 @@
@Override
public TopiaQuery<E> createQueryLastContactForBoat(Boat boat, Company company) {
TopiaQuery<E> query = createQuery("C1").
- add("C1.boat", boat).
- add("C1.user.company = :company").
+ add("C1." + Contact.BOAT, boat).
+ add("C1." + Contact.OBSERVER + "." + WaoUser.COMPANY + " = :company").
addParam("company", company);
TopiaQuery<E> subquery = createQuery("C2").
- setSelect("MAX(C2.topiaCreateDate)").
- add("C2.boat = C1.boat").
- add("C2.user.company = :company");
+ setSelect("MAX(C2." + TopiaEntity.TOPIA_CREATE_DATE + ")").
+ add("C2." + Contact.BOAT + " = C1." + Contact.BOAT).
+ add("C2." + Contact.OBSERVER + "." + WaoUser.COMPANY + " = :company");
- query.add("C1.topiaCreateDate = (" + subquery.fullQuery() + ")");
+ query.add("C1." + TopiaEntity.TOPIA_CREATE_DATE + " = (" + subquery.fullQuery() + ")");
return query;
}
@@ -76,14 +77,14 @@
@Override
public TopiaQuery<E> createQueryDoneContactsFromDate(Boat boat, Date fromDate) {
TopiaQuery<E> query = createQuery().
- add("boat", boat).
- add("state", ContactState.BOARDING_DONE.toString()).
- add("validationCompany", Boolean.TRUE).
- add("validationProgram IS NULL OR validationProgram = :booleanTrue").
+ add(Contact.BOAT, boat).
+ add(Contact.STATE, ContactState.BOARDING_DONE.toString()).
+ add(Contact.VALIDATION_COMPANY, Boolean.TRUE).
+ add(Contact.VALIDATION_PROGRAM + " IS NULL OR " + Contact.VALIDATION_PROGRAM + " = :booleanTrue").
addParam("booleanTrue", Boolean.TRUE);
if (fromDate != null) {
- query.add("tideBeginDate", Op.GE, fromDate);
+ query.add(Contact.TIDE_BEGIN_DATE, Op.GE, fromDate);
}
return query;
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -24,8 +24,6 @@
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import java.io.Serializable;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
Deleted: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -1,79 +0,0 @@
-/*
- * *##%
- * SuiviObsmer :: Business
- * Copyright (C) 2009 - 2010 Ifremer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * ##%*
- */
-
-package fr.ifremer.suiviobsmer.entity;
-
-import fr.ifremer.suiviobsmer.SuiviObsmerContext;
-import java.io.Serializable;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * UserImpl
- *
- * Created: 27 nov. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
-public class UserImpl extends UserAbstract implements Serializable, User {
-
- private static final Logger log = LoggerFactory.getLogger(UserImpl.class);
-
- private static final long serialVersionUID = 1L;
-
- protected boolean passwordChanged;
-
- /**
- * Return the fullName of the user, i.e. fisrtName + lastName.
- * @return a String for the user fullName
- */
- @Override
- public String getFullName() {
- String name = getFirstName() != null ? getFirstName() : "";
- name += getLastName() != null ? " " + getLastName() : "";
- return name;
- }
-
- /**
- * Return a simplified id instead of using topiaId
- * @return a simplified id
- * @see SuiviObsmerUtils#convertId(java.lang.String)
- */
- @Override
- public String getId() {
- return SuiviObsmerContext.convertId(getTopiaId());
- }
-
- @Override
- public void setPasswordChanged(boolean changed) {
- this.passwordChanged = changed;
- }
-
- @Override
- public boolean isPasswordChanged() {
- return this.passwordChanged;
- }
-
-}
Copied: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/WaoUserImpl.java (from rev 281, trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java)
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/WaoUserImpl.java (rev 0)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/WaoUserImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -0,0 +1,79 @@
+/*
+ * *##%
+ * SuiviObsmer :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
+
+package fr.ifremer.suiviobsmer.entity;
+
+import fr.ifremer.suiviobsmer.SuiviObsmerContext;
+import java.io.Serializable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * UserImpl
+ *
+ * Created: 27 nov. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class WaoUserImpl extends WaoUserAbstract implements Serializable, WaoUser {
+
+ private static final Logger log = LoggerFactory.getLogger(WaoUserImpl.class);
+
+ private static final long serialVersionUID = 1L;
+
+ protected boolean passwordChanged;
+
+ /**
+ * Return the fullName of the user, i.e. fisrtName + lastName.
+ * @return a String for the user fullName
+ */
+ @Override
+ public String getFullName() {
+ String name = getFirstName() != null ? getFirstName() : "";
+ name += getLastName() != null ? " " + getLastName() : "";
+ return name;
+ }
+
+ /**
+ * Return a simplified id instead of using topiaId
+ * @return a simplified id
+ * @see SuiviObsmerUtils#convertId(java.lang.String)
+ */
+ @Override
+ public String getId() {
+ return SuiviObsmerContext.convertId(getTopiaId());
+ }
+
+ @Override
+ public void setPasswordChanged(boolean changed) {
+ this.passwordChanged = changed;
+ }
+
+ @Override
+ public boolean isPasswordChanged() {
+ return this.passwordChanged;
+ }
+
+}
Property changes on: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/WaoUserImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Added: svn:mergeinfo
+
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -138,7 +138,7 @@
if (filter.isSamplingFiltered()) {
// Add join for ElligibleBoat
String elligibleBoatClassName = ElligibleBoat.class.getName();
- query.addFrom(elligibleBoatClassName + " E").add("E.boat = " + main);
+ query.addFrom(elligibleBoatClassName + " E").add("E." + ElligibleBoat.BOAT + " = " + main);
query = filter.prepareQueryForSampling(query, "E." + ElligibleBoat.SAMPLE_ROW);
// Company
@@ -219,7 +219,7 @@
// Last contact
ContactDAO contactDAO = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
Contact contact = contactDAO.createQueryLastContactForBoat(boat, company).
- addLoad(Contact.SAMPLE_ROW, Contact.USER).
+ addLoad(Contact.SAMPLE_ROW, Contact.OBSERVER).
executeToEntity();
if (contact != null) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -51,9 +51,10 @@
import fr.ifremer.suiviobsmer.entity.Profession;
import fr.ifremer.suiviobsmer.entity.SampleRow;
import fr.ifremer.suiviobsmer.entity.SampleRowDAO;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserDAO;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
+import fr.ifremer.suiviobsmer.entity.WaoUserDAO;
import fr.ifremer.suiviobsmer.services.ServiceContact;
+import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.charset.Charset;
@@ -107,7 +108,7 @@
query = filter.prepareQueryForContact(query);
- query.addOrderDesc("C." + TopiaEntity.TOPIA_CREATE_DATE).addLoad(Contact.USER + "." + User.COMPANY);
+ query.addOrderDesc("C." + TopiaEntity.TOPIA_CREATE_DATE).addLoad(Contact.OBSERVER + "." + WaoUser.COMPANY);
if (log.isDebugEnabled()) {
log.debug("Query : " + query);
@@ -145,9 +146,9 @@
}
@Override
- public Contact getNewContact(User user, SampleRow row, Boat boat) {
+ public Contact getNewContact(WaoUser user, SampleRow row, Boat boat) {
Contact result = new ContactImpl();
- result.setUser(user);
+ result.setObserver(user);
result.setSampleRow(row);
result.setBoat(boat);
result.setState(ContactStateEnum.CONTACT_START.getStringValue());
@@ -182,7 +183,7 @@
}
@Override
- public InputStream exportContactCsv(User user, Collection<Contact> contacts)
+ public InputStream exportContactCsv(WaoUser user, Collection<Contact> contacts)
throws SuiviObsmerException {
TopiaContext transaction = null;
InputStream result = null;
@@ -196,18 +197,21 @@
contacts = dao.findAll();
} else {
// Filtered by company for a simple user
- contacts = dao.createQuery().add("user.company", user.getCompany()).executeToEntityList();
+ contacts = dao.createQuery().add(Contact.OBSERVER + "." + WaoUser.COMPANY, user.getCompany()).
+ executeToEntityList();
}
}
- String alea = SuiviObsmerContext.createRandomString(16);
- String filename = "/tmp/wao-contacts-" + alea + ".csv";
+ //String alea = SuiviObsmerContext.createRandomString(16);
+ //String filename = "/tmp/wao-contacts-" + alea + ".csv";
+ File file = File.createTempFile("wao-contacts-", ".csv");
+ file.deleteOnExit();
if (log.isDebugEnabled()) {
- log.debug("Export contacts into : " + filename);
+ log.debug("Export contacts into : " + file.getAbsolutePath());
}
- FileOutputStream output = new FileOutputStream(filename);
+ FileOutputStream output = new FileOutputStream(file);
CsvWriter writer = new CsvWriter(output, ',', Charset.forName("UTF-8"));
// Headers
@@ -250,7 +254,7 @@
ImportHelper.formatContactValidation(contact.getValidationProgram());
// Observer part
- User observer = contact.getUser();
+ WaoUser observer = contact.getObserver();
Company company = observer.getCompany();
record[CONTACT.OBSERV_ID.forContactCsv()] = observer.getLogin();
record[CONTACT.OBSERV_PRENOM.forContactCsv()] = observer.getFirstName();
@@ -295,7 +299,7 @@
}
writer.close();
- result = new FileInputStream(filename);
+ result = new FileInputStream(file);
transaction.closeContext();
} catch (Exception eee) {
@@ -306,7 +310,7 @@
}
@Override
- public ImportResults importContactCsv(User user, InputStream input) throws SuiviObsmerException {
+ public ImportResults importContactCsv(WaoUser user, InputStream input) throws SuiviObsmerException {
TopiaContext transaction = null;
ImportResults result = new ImportResultsImpl();
int currRow = 1;
@@ -318,7 +322,7 @@
reader.readHeaders();
ContactDAO dao = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
- UserDAO userDAO = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
+ WaoUserDAO userDAO = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
CompanyDAO companyDAO = SuiviObsmerModelDAOHelper.getCompanyDAO(transaction);
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
BoatDAO boatDAO = SuiviObsmerModelDAOHelper.getBoatDAO(transaction);
@@ -342,13 +346,13 @@
ContactState.availableStates());
}
- User observer = userDAO.findByLogin(observerId);
+ WaoUser observer = userDAO.findByLogin(observerId);
if (observer != null) {
Company company = user.getCompany();
// For an admin, get the company from database
if (user.getAdmin()) {
// FIXME-FD20100104 findContains not optimized in TopiaDAOImpl
- company = companyDAO.findContainsUser(observer);
+ company = companyDAO.findContainsWaoUser(observer);
// For a user, check if the observer as the same company as the current user
} else if (!observer.getCompany().equals(company)) {
throw new SuiviObsmerBusinessException(Type.IMPORT_ERROR, this.getClass(),
@@ -396,7 +400,7 @@
// Get entity from database
contact = dao.createQuery().
add(TopiaEntity.TOPIA_CREATE_DATE, createDate).
- add(Contact.USER + "." + User.COMPANY, company).
+ add(Contact.OBSERVER + "." + WaoUser.COMPANY, company).
add(Contact.BOAT, boat).
add(Contact.SAMPLE_ROW, row).
executeToEntity();
@@ -430,7 +434,7 @@
boolean mammalsObsv =
ImportHelper.parseContactMammals(reader, CONTACT.CONT_MAM_OBS);
- contact.setUser(observer);
+ contact.setObserver(observer);
contact.setState(state);
contact.setTideBeginDate(tideBegin);
contact.setTideEndDate(tideEnd);
@@ -475,7 +479,7 @@
result.incNbRefused();
}
} else {
- result.addError(currRow, "Cette utilisateur n'est lié à aucune société : " + user.getFullName());
+ result.addError(currRow, "Cet utilisateur n'est lié à aucune société : " + user.getFullName());
result.incNbRefused();
}
} else {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -32,7 +32,6 @@
import fr.ifremer.suiviobsmer.entity.Profession;
import fr.ifremer.suiviobsmer.entity.ProfessionDAO;
import fr.ifremer.suiviobsmer.entity.SampleRow;
-import fr.ifremer.suiviobsmer.entity.User;
import fr.ifremer.suiviobsmer.services.ServiceReferential;
import java.io.InputStream;
import java.nio.charset.Charset;
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -283,20 +283,20 @@
SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
TopiaQuery<SampleRow> query = dao.createQuery("S").addDistinct().
- addFrom(FishingZone.class.getName() + " F").add("S IN elements(F.sampleRow)");
+ addFrom(FishingZone.class.getName() + " F").add("S IN elements(F." + FishingZone.SAMPLE_ROW + ")");
if (company != null) {
- query.add("S.company", company);
+ query.add("S." + SampleRow.COMPANY, company);
}
// Prepare period dates
period.initDayOfMonthExtremities();
- query.add("S.periodBegin", Op.LT, period.getThruDate()).
- add("S.periodEnd", Op.GT, period.getFromDate());
+ query.add("S." + SampleRow.PERIOD_BEGIN, Op.LT, period.getThruDate()).
+ add("S." + SampleRow.PERIOD_END, Op.GT, period.getFromDate());
// Order By facade, sector, districtCode, sampleRowCode
- String zoneOrder = "F.facadeName, F.sectorName, F.districtCode";
- query.addOrder(zoneOrder).addOrder("S.code").addSelect(zoneOrder);
+ String zoneOrder = "F." + FishingZone.FACADE_NAME + " , F." + FishingZone.SECTOR_NAME + ", F." + FishingZone.DISTRICT_CODE;
+ query.addOrder(zoneOrder).addOrder("S." + SampleRow.CODE).addSelect(zoneOrder);
// Load data
//query.addLoad(SampleRow.PROFESSION, SampleRow.COMPANY);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSynthesisImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -87,34 +87,17 @@
}
SampleMonthDAO dao = SuiviObsmerModelDAOHelper.getSampleMonthDAO(transaction);
+ String periodDate = "M." + SampleMonth.PERIOD_DATE;
TopiaQuery<SampleMonth> query = dao.createQuery("M").
- setSelect("M.periodDate, SUM(M.realTidesValue), SUM(M.expectedTidesValue)").
- //addFrom(SampleRow.class.getName() + " M").add("M IN elements(S)").
- add("M.periodDate BETWEEN :fromDate AND :thruDate").
+ setSelect(periodDate).
+ addSelect("SUM(M." + SampleMonth.REAL_TIDES_VALUE + ")").
+ addSelect("SUM(M." + SampleMonth.EXPECTED_TIDES_VALUE + ")").
+ add(periodDate + " BETWEEN :fromDate AND :thruDate").
addParam("fromDate", period.getFromDate()).addParam("thruDate", period.getThruDate()).
- addGroup("M.periodDate").addOrder("M.periodDate");
+ addGroup(periodDate).addOrder(periodDate);
query = filter.prepareQueryForSampling(query, "M." + SampleMonth.SAMPLE_ROW);
-// if (filter.isBoatFiltered() || filter.getObserver() != null) {
-// // Check boat on finished contact (validate + Boarding_Done) and same month/year as SampleMonth
-// query.addFrom(Contact.class.getName() + " C").add("C IN elements(M.sampleRow.contact)").
-// add("C.state", ContactState.BOARDING_DONE.toString()).
-// add("C.validationCompany", Boolean.TRUE).
-// add("C.validationProgram IS NULL OR C.validationProgram = :booleanTrue").
-// addParam("booleanTrue", Boolean.TRUE).
-// add("month(C.tideBeginDate) = month(M.periodDate)").
-// add("year(C.tideBeginDate) = year(M.periodDate)");
-// query = filter.prepareQueryForBoat(query, "C");
-// if (filter.getObserver() != null) {
-// query.add("C." + Contact.USER, filter.getObserver());
-// }
-// }
-
-// if (filter.getCompany() != null) {
-// query.add("M." + SampleMonth.SAMPLE_ROW + "." + SampleRow.COMPANY, filter.getCompany());
-// }
-
if (log.isTraceEnabled()) {
log.trace("Exec query : " + query);
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -32,8 +32,8 @@
import fr.ifremer.suiviobsmer.entity.ContactDAO;
import fr.ifremer.suiviobsmer.entity.SampleRowLog;
import fr.ifremer.suiviobsmer.entity.SampleRowLogDAO;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserDAO;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
+import fr.ifremer.suiviobsmer.entity.WaoUserDAO;
import fr.ifremer.suiviobsmer.services.ServiceUser;
import java.util.ArrayList;
import java.util.List;
@@ -64,16 +64,16 @@
}
@Override
- public User connect(String login, String password) throws SuiviObsmerException {
+ public WaoUser connect(String login, String password) throws SuiviObsmerException {
TopiaContext transaction = null;
- User user = null;
+ WaoUser user = null;
try {
transaction = rootContext.beginTransaction();
- UserDAO dao = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
+ WaoUserDAO dao = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
String passwordEncoded = SuiviObsmerContext.encodeString(password);
- user = dao.findByProperties(User.LOGIN, login, User.PASSWORD, passwordEncoded);
+ user = dao.findByProperties(WaoUser.LOGIN, login, WaoUser.PASSWORD, passwordEncoded);
if (user != null && user.getActive()) {
// load company entity
@@ -104,9 +104,9 @@
transaction = rootContext.beginTransaction();
- UserDAO dao = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
+ WaoUserDAO dao = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
- User user = dao.findByLogin(login);
+ WaoUser user = dao.findByLogin(login);
if (user == null) {
throw new SuiviObsmerBusinessException(Type.NOT_EXISTS, this.getClass(),
"L'email '" + login + "' n'est pas référencé dans l'application.");
@@ -137,7 +137,7 @@
}
@Override
- public void createUpdateUser(User user, boolean generatePassword) throws SuiviObsmerException {
+ public void createUpdateUser(WaoUser user, boolean generatePassword) throws SuiviObsmerException {
TopiaContext transaction = null;
try {
if (user == null) {
@@ -146,13 +146,13 @@
transaction = rootContext.beginTransaction();
- UserDAO dao = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
+ WaoUserDAO dao = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
- boolean newUser = SuiviObsmerContext.prepareTopiaId(User.class, user);
+ boolean newUser = SuiviObsmerContext.prepareTopiaId(WaoUser.class, user);
// Check for a new user if login already exists
if (newUser) {
- User existUser = dao.findByLogin(user.getLogin());
+ WaoUser existUser = dao.findByLogin(user.getLogin());
if (existUser != null) {
throw new SuiviObsmerBusinessException(Type.ALREADY_EXISTS, this.getClass(),
"Un utilisateur existe déjà avec ce login " + user.getLogin());
@@ -210,7 +210,7 @@
}
@Override
- public void deleteUser(User user) throws SuiviObsmerException {
+ public void deleteUser(WaoUser user) throws SuiviObsmerException {
TopiaContext transaction = null;
try {
transaction = rootContext.beginTransaction();
@@ -221,7 +221,7 @@
if (user.getAdmin()) {
SampleRowLogDAO logDAO = SuiviObsmerModelDAOHelper.getSampleRowLogDAO(transaction);
- List<SampleRowLog> results = logDAO.findAllByUser(user);
+ List<SampleRowLog> results = logDAO.findAllByAdmin(user);
if (!results.isEmpty()) {
throw new SuiviObsmerBusinessException(Type.ALREADY_EXISTS, this.getClass(),
@@ -230,7 +230,7 @@
} else {
ContactDAO contactDAO = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
- List<Contact> results = contactDAO.findAllByUser(user);
+ List<Contact> results = contactDAO.findAllByObserver(user);
if (!results.isEmpty()) {
throw new SuiviObsmerBusinessException(Type.ALREADY_EXISTS, this.getClass(),
@@ -239,7 +239,7 @@
}
- UserDAO dao = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
+ WaoUserDAO dao = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
dao.delete(user);
@@ -295,17 +295,17 @@
}
@Override
- public List<User> getObservers(boolean activeOnly) throws SuiviObsmerException {
+ public List<WaoUser> getObservers(boolean activeOnly) throws SuiviObsmerException {
TopiaContext transaction = null;
- List<User> results = new ArrayList<User>();
+ List<WaoUser> results = new ArrayList<WaoUser>();
try {
transaction = rootContext.beginTransaction();
- UserDAO dao = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
- TopiaQuery<User> query = dao.createQuery().add(User.ADMIN, Boolean.FALSE);
+ WaoUserDAO dao = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
+ TopiaQuery<WaoUser> query = dao.createQuery().add(WaoUser.ADMIN, Boolean.FALSE);
if (activeOnly) {
- query.add(User.ACTIVE, Boolean.TRUE);
+ query.add(WaoUser.ACTIVE, Boolean.TRUE);
}
results = query.executeToEntityList();
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.properties
===================================================================
--- trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.properties 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.properties 2010-01-27 16:09:19 UTC (rev 283)
@@ -1,6 +1,6 @@
model.tagvalue.copyright=/* *##%\n Copyright (C) 2009 SuiviObsmer\n *##%*/
model.tagvalue.java.lang.String=text
-fr.ifremer.suiviobsmer.entity.Company.attribute.user.tagvalue.lazy=false
+fr.ifremer.suiviobsmer.entity.Company.attribute.waoUser.tagvalue.lazy=false
fr.ifremer.suiviobsmer.entity.SampleRow.attribute.sampleMonth.tagvalue.lazy=false
fr.ifremer.suiviobsmer.entity.SampleRow.attribute.sampleMonth.tagvalue.orderBy=periodDate
@@ -13,7 +13,7 @@
fr.ifremer.suiviobsmer.entity.SampleRow.attribute.elligibleBoat.tagvalue.orderBy=companyActive
fr.ifremer.suiviobsmer.entity.SampleRow.attribute.sampleRowLog.tagvalue.lazy=false
fr.ifremer.suiviobsmer.entity.SampleRow.attribute.sampleRowLog.tagvalue.orderBy=topiaCreateDate desc
-fr.ifremer.suiviobsmer.entity.SampleRowLog.attribute.user.tagvalue.lazy=false
+fr.ifremer.suiviobsmer.entity.SampleRowLog.attribute.admin.tagvalue.lazy=false
fr.ifremer.suiviobsmer.entity.FishingZone.attribute.sampleRow.tagvalue.orderBy=code
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -23,7 +23,7 @@
import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.entity.Company;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.impl.ServiceUserImpl;
import fr.ifremer.suiviobsmer.services.ServiceUser;
import java.util.List;
@@ -94,10 +94,10 @@
Company company = companies.get(0);
assertEquals("ADMIN", company.getName());
- List<User> users = (List<User>)company.getUser();
+ List<WaoUser> users = company.getWaoUser();
assertEquals(1, users.size());
- User user = users.get(0);
+ WaoUser user = users.get(0);
assertEquals("admin", user.getLogin());
}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -96,7 +96,7 @@
Company company = new CompanyImpl();
company.setName("TARTANPION");
serviceUser.createUpdateCompany(company);
- User user = new UserImpl();
+ WaoUser user = new WaoUserImpl();
user.setLogin("user");
user.setFirstName("Jean");
user.setLastName("Michmuche");
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -103,13 +103,13 @@
Company company = companyDAO.create(Company.NAME, "TARTANPION");
Company company2 = companyDAO.create(Company.NAME, "BIS");
- UserDAO userDAO = SuiviObsmerModelDAOHelper.getUserDAO(transaction);
- User user = userDAO.create(User.FIRST_NAME,"Jean", User.LAST_NAME, "Michmuche",
- User.COMPANY, company);
- company.addUser(user);
- User user2 = userDAO.create(User.FIRST_NAME,"Bill", User.LAST_NAME, "Murray",
- User.COMPANY, company2);
- company2.addUser(user2);
+ WaoUserDAO userDAO = SuiviObsmerModelDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.FIRST_NAME,"Jean", WaoUser.LAST_NAME, "Michmuche",
+ WaoUser.COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.FIRST_NAME,"Bill", WaoUser.LAST_NAME, "Murray",
+ WaoUser.COMPANY, company2);
+ company2.addWaoUser(user2);
BoatInfosDAO boatInfosDAO = SuiviObsmerModelDAOHelper.getBoatInfosDAO(transaction);
BoatInfos boatInfos = boatInfosDAO.create(BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
@@ -121,7 +121,7 @@
// First contact : OK
Contact contact1 = new ContactImpl();
contact1.setBoat(boat);
- contact1.setUser(user);
+ contact1.setObserver(user);
contact1.setState(ContactState.BOARDING_DONE.toString());
Date begin = DateUtils.createDate(3, 3, 2009);
contact1.setTideBeginDate(begin);
@@ -137,7 +137,7 @@
Contact contact2 = new ContactImpl();
// Second contact with ValidationProgram = FALSE
contact2.setBoat(boat);
- contact2.setUser(user);
+ contact2.setObserver(user);
contact2.setState(ContactState.BOARDING_DONE.toString());
begin = DateUtils.createDate(3, 8, 2009);
contact2.setTideBeginDate(begin);
@@ -151,7 +151,7 @@
Contact contact3 = new ContactImpl();
// Third contact with tideBeginDate < fromDate
contact3.setBoat(boat);
- contact3.setUser(user);
+ contact3.setObserver(user);
contact3.setState(ContactState.BOARDING_DONE.toString());
begin = DateUtils.createDate(3, 8, 2008);
contact3.setTideBeginDate(begin);
@@ -164,7 +164,7 @@
Contact contact4 = new ContactImpl();
// Fourth contact : OK with an other company
contact4.setBoat(boat);
- contact4.setUser(user2);
+ contact4.setObserver(user2);
contact4.setState(ContactState.BOARDING_DONE.toString());
begin = DateUtils.createDate(3, 4, 2009);
contact4.setTideBeginDate(begin);
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -43,8 +43,8 @@
import fr.ifremer.suiviobsmer.entity.SampleRow;
import fr.ifremer.suiviobsmer.entity.SampleRowDAO;
import fr.ifremer.suiviobsmer.entity.SampleRowLogImpl;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserImpl;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
+import fr.ifremer.suiviobsmer.entity.WaoUserImpl;
import fr.ifremer.suiviobsmer.services.ServiceContact;
import fr.ifremer.suiviobsmer.services.ServiceReferential;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
@@ -116,7 +116,7 @@
Company company = new CompanyImpl();
company.setName("TARTANPION");
serviceUser.createUpdateCompany(company);
- User user = new UserImpl();
+ WaoUser user = new WaoUserImpl();
user.setLogin("login");
user.setFirstName("Jean");
user.setLastName("Michmuche");
@@ -259,7 +259,7 @@
Company company = new CompanyImpl();
company.setName("TARTANPION");
serviceUser.createUpdateCompany(company);
- User user = new UserImpl();
+ WaoUser user = new WaoUserImpl();
user.setLogin("user");
user.setFirstName("Jean");
user.setLastName("Michmuche");
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -25,8 +25,6 @@
import fr.ifremer.suiviobsmer.SuiviObsmerRunner;
import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
import fr.ifremer.suiviobsmer.entity.FishingZone;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserImpl;
import java.io.InputStream;
import java.util.List;
import org.junit.After;
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -44,8 +44,6 @@
import fr.ifremer.suiviobsmer.entity.SampleRow;
import fr.ifremer.suiviobsmer.entity.SampleRowDAO;
import fr.ifremer.suiviobsmer.entity.SampleRowLogImpl;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserImpl;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
import java.io.InputStream;
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-27 16:09:19 UTC (rev 283)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.1-SNAPSHOT</version>
+ <version>0.3.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/AbstractFilteredPage.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -25,7 +25,7 @@
import fr.ifremer.suiviobsmer.bean.BoatFilter;
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.SampleRow;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import fr.ifremer.suiviobsmer.services.ServiceReferential;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
@@ -82,7 +82,7 @@
private Logger log;
@SessionState
- private User user;
+ private WaoUser user;
@Inject
private PropertyAccess propertyAccess;
@@ -118,7 +118,7 @@
private String companyId;
@Persist
- private GenericSelectModel<User> observerSelectModel;
+ private GenericSelectModel<WaoUser> observerSelectModel;
@Property
private String observerId;
@@ -239,18 +239,18 @@
return companySelectModel;
}
- public GenericSelectModel<User> getObserverSelectModel() throws SuiviObsmerException {
+ public GenericSelectModel<WaoUser> getObserverSelectModel() throws SuiviObsmerException {
if (observerSelectModel == null) {
- List<User> observers = new ArrayList<User>();
+ List<WaoUser> observers = new ArrayList<WaoUser>();
if (getFilter().getCompany() != null) {
- observers = getFilter().getCompany().getUser();
+ observers = getFilter().getCompany().getWaoUser();
} else if (user.getAdmin()) {
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getObservers]");
}
observers = serviceUser.getObservers(getAvailableDataForFiltersOnly());
}
- observerSelectModel = new GenericSelectModel<User>(observers,User.class,
+ observerSelectModel = new GenericSelectModel<WaoUser>(observers,WaoUser.class,
"fullName","topiaId",propertyAccess);
}
return observerSelectModel;
@@ -324,7 +324,7 @@
getFilter().setCompany(user.getCompany());
}
- User observer = getObserverSelectModel().findObject(observerId);
+ WaoUser observer = getObserverSelectModel().findObject(observerId);
getFilter().setObserver(observer);
}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -25,7 +25,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerBusinessException.Type;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceUser;
import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
import fr.ifremer.suiviobsmer.ui.pages.Index;
@@ -68,7 +68,7 @@
* Objet de session représentant l'utilisateur identifié
*/
@SessionState
- private User currentUser;
+ private WaoUser currentUser;
/**
* vrai si l'utilisateur s'est identifié, faux sinon
@@ -127,11 +127,11 @@
return this.contentId;
}
- public void setCurrentUser(User user) {
+ public void setCurrentUser(WaoUser user) {
this.currentUser = user;
}
- public User getCurrentUser() {
+ public WaoUser getCurrentUser() {
return this.currentUser;
}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -25,8 +25,8 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.CompanyImpl;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.entity.UserImpl;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
+import fr.ifremer.suiviobsmer.entity.WaoUserImpl;
import fr.ifremer.suiviobsmer.services.ServiceReferential;
import fr.ifremer.suiviobsmer.services.ServiceUser;
import fr.ifremer.suiviobsmer.ui.base.GenericSelectModel;
@@ -96,13 +96,13 @@
private Company company;
- private GenericSelectModel<User> usersSelectModel;
+ private GenericSelectModel<WaoUser> usersSelectModel;
/**
* User is persistant cause of autobuild problem ?!?
*/
@Persist
- private User user;
+ private WaoUser user;
@Property
private boolean generatePassword;
@@ -207,19 +207,19 @@
}
@Log
- public GenericSelectModel<User> getUsersSelectModel() {
+ public GenericSelectModel<WaoUser> getUsersSelectModel() {
if (usersSelectModel == null) {
- List<User> users = getCompany().getUser();
+ List<WaoUser> users = getCompany().getWaoUser();
if (log.isDebugEnabled()) {
log.debug("Nb users : " + users.size());
}
- usersSelectModel = new GenericSelectModel<User>(users, User.class, "fullName", "id", propertyAccess);
+ usersSelectModel = new GenericSelectModel<WaoUser>(users, WaoUser.class, "fullName", "id", propertyAccess);
}
return usersSelectModel;
}
@Log
- public User getUser() {
+ public WaoUser getUser() {
if (user == null) {
if (userId != null) {
if (log.isDebugEnabled()) {
@@ -227,7 +227,7 @@
}
user = getUsersSelectModel().findObject(userId);
} else {
- user = new UserImpl();
+ user = new WaoUserImpl();
generatePassword = true;
if (log.isDebugEnabled()) {
log.debug("Set company for new user : " + getCompany().getName());
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -31,9 +31,9 @@
import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.ElligibleBoat;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.entity.Profession;
import fr.ifremer.suiviobsmer.entity.SampleRow;
-import fr.ifremer.suiviobsmer.entity.User;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import fr.ifremer.suiviobsmer.services.ServiceReferential;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
@@ -102,7 +102,7 @@
@SessionState
@Property
- private User user;
+ private WaoUser user;
@Inject
private ServiceReferential serviceReferential;
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -32,7 +32,7 @@
import fr.ifremer.suiviobsmer.entity.Boat;
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.SampleRow;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import fr.ifremer.suiviobsmer.services.ServiceContact;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
@@ -99,7 +99,7 @@
@SessionState
@Property
- private User user;
+ private WaoUser user;
@Inject
private ServiceContact serviceContact;
@@ -268,7 +268,7 @@
@Inject
private PropertyAccess propertyAccess;
- private GenericSelectModel<User> userSelectModel;
+ private GenericSelectModel<WaoUser> userSelectModel;
@Property
@Persist(PersistenceConstants.FLASH)
@@ -315,13 +315,13 @@
return this.contactState;
}
- public GenericSelectModel<User> getUserSelectModel() {
+ public GenericSelectModel<WaoUser> getUserSelectModel() {
if (userSelectModel == null) {
- List<User> users = user.getCompany().getUser();
+ List<WaoUser> users = user.getCompany().getWaoUser();
if (log.isDebugEnabled()) {
log.debug("Nb users : " + users.size());
}
- userSelectModel = new GenericSelectModel<User>(users, User.class, "fullName", "id", propertyAccess);
+ userSelectModel = new GenericSelectModel<WaoUser>(users, WaoUser.class, "fullName", "id", propertyAccess);
}
return userSelectModel;
}
@@ -475,7 +475,7 @@
void onSelectedFromEditContact(String contactId) throws SuiviObsmerException {
//contact = getContacts().get(contactId);
prepareContactEdited(contactId);
- contactUserId = contactEdited.getUser().getTopiaId();
+ contactUserId = contactEdited.getObserver().getTopiaId();
//contactEditedId = contactId;
contactSelectedId = contactId;
oldComment = contactEdited.getComment();
@@ -492,8 +492,8 @@
//contact = getContacts().get(contactId);
prepareContactEdited(contactId);
contactEdited.setState(contactState.toString());
- User contactUser = getUserSelectModel().findObject(contactUserId);
- contactEdited.setUser(contactUser);
+ WaoUser contactUser = getUserSelectModel().findObject(contactUserId);
+ contactEdited.setObserver(contactUser);
if (log.isDebugEnabled()) {
log.debug("Comment : " + contactEdited.getComment());
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -24,7 +24,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.entity.News;
import fr.ifremer.suiviobsmer.entity.NewsImpl;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceNews;
import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
import java.text.DateFormat;
@@ -69,7 +69,7 @@
@SessionState
@Property
- private User user;
+ private WaoUser user;
@Persist
private List<News> newsList;
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -32,7 +32,7 @@
import fr.ifremer.suiviobsmer.entity.SampleRow;
import fr.ifremer.suiviobsmer.entity.SampleRowLog;
import fr.ifremer.suiviobsmer.entity.SampleRowLogImpl;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import fr.ifremer.suiviobsmer.services.ServiceReferential;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
@@ -102,7 +102,7 @@
@SessionState
@Property
- private User user;
+ private WaoUser user;
@Inject
private PropertyAccess propertyAccess;
@@ -501,7 +501,7 @@
if (sampleRowLog == null) {
sampleRowLog = new SampleRowLogImpl();
sampleRowLog.setSampleRow(getSampleRow());
- sampleRowLog.setUser(user);
+ sampleRowLog.setAdmin(user);
}
return sampleRowLog;
}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -29,12 +29,11 @@
import fr.ifremer.suiviobsmer.entity.FishingZone;
import fr.ifremer.suiviobsmer.entity.SampleMonth;
import fr.ifremer.suiviobsmer.entity.SampleRow;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
import fr.ifremer.suiviobsmer.ui.components.Layout;
import java.text.DateFormat;
-import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -80,7 +79,7 @@
@SessionState
@Property
- private User user;
+ private WaoUser user;
/**
* Page initialization
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -24,7 +24,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.bean.BoatFilter;
import fr.ifremer.suiviobsmer.bean.BoatFilterImpl;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceSynthesis;
import fr.ifremer.suiviobsmer.ui.base.AbstractFilteredPage;
import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
@@ -74,7 +74,7 @@
@SessionState
@Property
- private User user;
+ private WaoUser user;
void setupRender() throws SuiviObsmerException {
initSelectFilters(true, false);
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -23,7 +23,7 @@
import fr.ifremer.suiviobsmer.SuiviObsmerBusinessException;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import fr.ifremer.suiviobsmer.services.ServiceUser;
import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
import fr.ifremer.suiviobsmer.ui.components.Layout;
@@ -65,9 +65,9 @@
private Layout layout;
@SessionState
- private User user;
+ private WaoUser user;
- private User userEditable;
+ private WaoUser userEditable;
@InjectComponent
private BeanEditForm userForm;
@@ -78,7 +78,7 @@
@Property
private String password2;
- public User getUserEditable() {
+ public WaoUser getUserEditable() {
if (userEditable == null) {
userEditable = user;
}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -19,9 +19,6 @@
package fr.ifremer.suiviobsmer.ui.services;
-import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
-import fr.ifremer.suiviobsmer.entity.User;
-import fr.ifremer.suiviobsmer.mock.*;
import fr.ifremer.suiviobsmer.services.*;
import fr.ifremer.suiviobsmer.impl.*;
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java 2010-01-27 16:09:19 UTC (rev 283)
@@ -23,7 +23,7 @@
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.FishingZone;
-import fr.ifremer.suiviobsmer.entity.User;
+import fr.ifremer.suiviobsmer.entity.WaoUser;
import java.lang.annotation.Annotation;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.PropertyConduit;
@@ -93,7 +93,7 @@
BeanModel<Contact> contactModel = buildContactModel(beanModelSource, resources);
contactModel.exclude("createdBy");
contactModel.add(RelativePosition.AFTER, TopiaEntity.TOPIA_CREATE_DATE, "observer", getUserPropertyConduit());
- contactModel.add(RelativePosition.AFTER, "observer", User.COMPANY, getCompanyPropertyConduit());
+ contactModel.add(RelativePosition.AFTER, "observer", WaoUser.COMPANY, getCompanyPropertyConduit());
contactModel.add(RelativePosition.AFTER, Contact.SAMPLE_ROW, "program", getProgramPropertyConduit());
contactModel.add(RelativePosition.AFTER, "program", "professionCode", getProfessionCodePropertyConduit());
contactModel.add(RelativePosition.AFTER, "professionCode", "professionLibelle", getProfessionLibellePropertyConduit());
@@ -105,7 +105,7 @@
contactModel.add(RelativePosition.AFTER, "boatImmatriculation", "boatDistrictCode", getBoatDistrictCodePropertyConduit());
contactModel.get("observer").sortable(false);
- contactModel.get(User.COMPANY).sortable(false);
+ contactModel.get(WaoUser.COMPANY).sortable(false);
contactModel.get("program").sortable(false);
contactModel.get("professionCode").sortable(false);
contactModel.get("professionLibelle").sortable(false);
@@ -135,7 +135,7 @@
@Override
public Object get(Object arg0) {
Contact contact = (Contact)arg0;
- return contact.getUser().getFullName();
+ return contact.getObserver().getFullName();
}
@Override
@@ -159,7 +159,7 @@
@Override
public Object get(Object arg0) {
Contact contact = (Contact)arg0;
- return contact.getUser().getCompany().getName();
+ return contact.getObserver().getCompany().getName();
}
@Override
Modified: trunk/suiviobsmer-ui/src/main/webapp/Boats.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Boats.tml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/webapp/Boats.tml 2010-01-27 16:09:19 UTC (rev 283)
@@ -197,7 +197,7 @@
<dl t:type="beandisplay" t:id="boatInfosLastContact" t:object="companyBoatInfos.lastContact"
t:include="referenceDate, state" t:add="createdBy, sampleRowCode">
<p:createdBy>
- ${companyBoatInfos.lastContact.user.fullName}
+ ${companyBoatInfos.lastContact.observer.fullName}
</p:createdBy>
<p:sampleRowCode>
${companyBoatInfos.lastContact.sampleRow.code}
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-27 16:09:19 UTC (rev 283)
@@ -140,7 +140,7 @@
<p:createdByCell>
<t:if t:test="editionMode">
<input t:type="select" t:model="userSelectModel" t:validate="required" t:value="contactUserId"/>
- <p:else>${contact.user.fullName}</p:else>
+ <p:else>${contact.observer.fullName}</p:else>
</t:if>
</p:createdByCell>
<p:sampleRowCell>
Modified: trunk/suiviobsmer-ui/src/main/webapp/SampleRowForm.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/SampleRowForm.tml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/webapp/SampleRowForm.tml 2010-01-27 16:09:19 UTC (rev 283)
@@ -166,7 +166,7 @@
</fieldset>
<fieldset class="clearfix">
<t:errors t:banner="message:errors-banner"/>
- <p><label>Enregistrement fait par : </label>${sampleRowLog.user.fullName}</p>
+ <p><label>Enregistrement fait par : </label>${sampleRowLog.admin.fullName}</p>
<t:unless t:test="createMode">
<p><label>Commentaire sur la modification* :</label></p>
<p><input t:type="textarea" t:id="updateComment" cols="50" rows="5" value="sampleRowLog.comment"/></p>
Modified: trunk/suiviobsmer-ui/src/main/webapp/SampleRowHistoric.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/SampleRowHistoric.tml 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/webapp/SampleRowHistoric.tml 2010-01-27 16:09:19 UTC (rev 283)
@@ -8,7 +8,7 @@
<p class="head">
Modification du
<strong><t:output t:format="dateFormat" t:value="sampleRowLog.topiaCreateDate"/></strong>
- par <strong>${sampleRowLog.user.fullName}</strong>
+ par <strong>${sampleRowLog.admin.fullName}</strong>
</p>
<p class="content"><t:outputraw value="content"/></p>
<p>Commentaire : </p>
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/main.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/main.css 2010-01-27 15:30:27 UTC (rev 282)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/main.css 2010-01-27 16:09:19 UTC (rev 283)
@@ -36,6 +36,7 @@
/* CONNEXION */
body.so-connexion {
background: url(../img/background.jpg) repeat-x top left;
+ background-color: #080824;
}
1
0
[Suiviobsmer-commits] r282 - in trunk/src/site: . resources resources/user rst rst/user
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: jcouteau
Date: 2010-01-27 15:30:27 +0000 (Wed, 27 Jan 2010)
New Revision: 282
Added:
trunk/src/site/resources/user/
trunk/src/site/resources/user/account.png
trunk/src/site/resources/user/boats_contact.png
trunk/src/site/resources/user/boats_edit.png
trunk/src/site/resources/user/contacts_modification.png
trunk/src/site/resources/user/contacts_validation.png
trunk/src/site/resources/user/contacts_verification.png
trunk/src/site/resources/user/login.png
trunk/src/site/resources/user/login_failed.png
trunk/src/site/resources/user/news.png
trunk/src/site/resources/user/sampling_plan.png
trunk/src/site/resources/user/syntheses.png
trunk/src/site/rst/user/
trunk/src/site/rst/user/account.rst
trunk/src/site/rst/user/authentication.rst
trunk/src/site/rst/user/boats.rst
trunk/src/site/rst/user/contacts.rst
trunk/src/site/rst/user/echantillonage.rst
trunk/src/site/rst/user/news.rst
trunk/src/site/rst/user/syntheses.rst
Modified:
trunk/src/site/site_fr.xml
Log:
Add user doc
Added: trunk/src/site/resources/user/account.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/account.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/boats_contact.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/boats_contact.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/boats_edit.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/boats_edit.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/contacts_modification.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/contacts_modification.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/contacts_validation.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/contacts_validation.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/contacts_verification.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/contacts_verification.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/login.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/login.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/login_failed.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/login_failed.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/news.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/news.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/sampling_plan.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/sampling_plan.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/user/syntheses.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/user/syntheses.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/rst/user/account.rst
===================================================================
--- trunk/src/site/rst/user/account.rst (rev 0)
+++ trunk/src/site/rst/user/account.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,12 @@
+Le compte utilisateur
+=====================
+
+Dans WAO, le compte utilisateur est simple, il comprend les noms, prénoms, login
+(addresse mail), numéro de téléphone et mot de passe. Ces informations sont
+modifiables en cliquant sur l'icone 'profil' (le personnage) situé en haut à
+droite de l'écran.
+
+.. image:: account.png
+
+Il est conseillé de laisser un identifiant de connection qui soit un email pour
+pouvoir récupérer son mot de passe en cas d'oubli.
\ No newline at end of file
Added: trunk/src/site/rst/user/authentication.rst
===================================================================
--- trunk/src/site/rst/user/authentication.rst (rev 0)
+++ trunk/src/site/rst/user/authentication.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,19 @@
+Se connecter
+============
+
+Pour se connecter à l'application, il faut renseigner son identifiant et son mot
+de passe et valider.
+
+.. image:: login.png
+
+Au cas où vous ne vous souvenez pas de votre mot de passe, il est possible de le
+récupérer en renseignant son identifiant (si c'est une addresse e-mail) ou en
+contactant un administrateur.
+
+.. image:: login_failed.png
+
+Se déconnecter
+==============
+
+Pour se déconnecter, il suffit de cliquer sur l'icone 'deconnection' situé en
+haut à droite de l'écran.
\ No newline at end of file
Added: trunk/src/site/rst/user/boats.rst
===================================================================
--- trunk/src/site/rst/user/boats.rst (rev 0)
+++ trunk/src/site/rst/user/boats.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,34 @@
+Les navires
+===========
+
+Vous pouvez atteindre la page des navitres soient en venant depuis le plan
+d'échantillonage, soit depuis le menu. Cette page affiche tous les navires
+disponibles (tous lorsque l'on vient du menu ou ceux correspondant à une ligne
+du plan lorsque l'on vient de ce dernier).
+
+Il est possible de filtrer les navires suivant les façades, les zones, le
+métier, ...
+
+Les informations d'un navire
+----------------------------
+
+En cliquant sur le nom d'un navire, on affiche les informations de ce dernier.
+On peut, en cliquant sur le bouton modifier situé en haut à droite, de modifier
+les informations de ce navire. Ces informations sont visibles uniquement par
+les utilisateurs de votre société et les administrateurs de l'application.
+
+.. image:: boats_edit.png
+ :width: 800px
+
+Etablir un contact avec un navire
+---------------------------------
+
+Lorsque l'on provient du plan d'échantillonage, on ne peut voir que les navires
+associés à la ligne du plan dont on provient. Il est possible d'établir un
+contact avec un navire en cliquant sur l'icone 'etablir un contact' représenté
+par une enveloppe et une flèche. Cela rajoute une ligne avec un contact pris
+dans le tableau des contacts.
+
+.. image:: boats_contact.png
+ :width: 800px
+
Added: trunk/src/site/rst/user/contacts.rst
===================================================================
--- trunk/src/site/rst/user/contacts.rst (rev 0)
+++ trunk/src/site/rst/user/contacts.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,47 @@
+Gérer les contacts
+==================
+
+La page des contacts reprends tous les contacts de la société. Il est possible
+de modifier un contact pour mettre à jour son statut et les informations qui
+lui sont associées et valider un embarquement.
+
+Modifier/mettre à jour un contact
+---------------------------------
+
+Pour modifier un contact, il faut cliquer sur l'icone 'modification'. Cela ouvre
+la ligne du tableau en édition. Vous pouvez modifier le contact et enregistrer.
+
+.. image:: contacts_modification.png
+ :width: 800px
+
+Suivant le statut du contact, certaines informations sont nécessaires. Ces
+informations sont vérifiées à l'enregistrement et un message vous indique les
+informations manquantes si besoin.
+
+.. image:: contacts_verification.png
+ :width: 800px
+
+Supprimer un contact
+--------------------
+
+Il est possible de supprimer un contact non validé en cliquant sur l'icone
+'poubelle' correspondant.
+
+Valider un embarquement
+-----------------------
+
+Quand un contact est passé au statut 'Embarquement réalisé', il est possible de
+le valider afin que l'embarquement soit comptabilisé comme réalisé. Pour ce
+faire, il faut valider en cliquant sur l'icone de validation. Il est aussi
+possible de refuser un embarquement réaliser en cliquant sur l'icone de refus.
+
+.. image:: contacts_validation.png
+ :width: 800px
+
+Il y a 2 validations : une validation venant de la société et une validation
+venant des administrateurs. L'embarquement n'est compté comme réalisé qu'une
+fois qu'il est complètement validé.
+
+Note : il est possible de changer sa validation tant qu'un embarquement n'est
+pas validé par les deux parties en cliquant sur l'icone point d'interrogation.
+Les lignes sur fond vert ne peuvent être modifiées.
\ No newline at end of file
Added: trunk/src/site/rst/user/echantillonage.rst
===================================================================
--- trunk/src/site/rst/user/echantillonage.rst (rev 0)
+++ trunk/src/site/rst/user/echantillonage.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,19 @@
+Le plan d'échantillonage
+========================
+
+L'écran du plan d'échantillonage vous permet de visualiser rapidement le plan
+d'échantillonage, son avancement et les embarquements à réaliser.
+
+Le mois en cours est représenté en jaune dans le tableau. Dans chaque case du
+plan d'échantillonage, sont indiqué le planifié et le réalisé entre parenthèses.
+La couleur du nombre entre parenthèses indique si un déficit ou non
+d'embarquement.
+
+A partir du plan d'échantillonage, il est possible de visionner les bateaux
+susceptibles d'accueillir un observateur en cliqaunt sur l'icone 'bateau' à
+droite du plan, pour la ligne concernée.
+
+.. image::sampling_plan.png
+ :width: 800px
+
+
Added: trunk/src/site/rst/user/news.rst
===================================================================
--- trunk/src/site/rst/user/news.rst (rev 0)
+++ trunk/src/site/rst/user/news.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,9 @@
+L'écran d'accueil
+=================
+
+L'écran d'accueil regroupe différentes nouvelles rédigées par les
+administrateurs a destination des utilisateurs. Il est possible de retourner à
+l'écran d'accueil en cliquant sur l'icone 'maison' en haut à droite de l'écran.
+
+.. image:: news.png
+ :width: 800px
Added: trunk/src/site/rst/user/syntheses.rst
===================================================================
--- trunk/src/site/rst/user/syntheses.rst (rev 0)
+++ trunk/src/site/rst/user/syntheses.rst 2010-01-27 15:30:27 UTC (rev 282)
@@ -0,0 +1,10 @@
+Les synthèses
+-------------
+
+L'écran de synthèse permet de visualiser graphiquement la réalisation du plan
+d'échantillonage. Vous pouvez filtrer par façade, date, ...
+
+.. image:: syntheses.png
+ :width: 800px
+
+
\ No newline at end of file
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2010-01-27 10:36:30 UTC (rev 281)
+++ trunk/src/site/site_fr.xml 2010-01-27 15:30:27 UTC (rev 282)
@@ -41,15 +41,15 @@
<item name="Gérer la page d'accueil" href="admin/news.html"/>
</item>
-<!-- <item name="Utilisateur" href="#">
+ <item name="Utilisateur" href="#">
<item name="Se connecter" href="user/authentication.html"/>
<item name="Mon compte utilisateur" href="user/account.html"/>
<item name="La page d'accueil" href="user/news.html"/>
- item name="Le plan d'échantillonage" href="user/echantillonage.html"/>
+ <item name="Le plan d'échantillonage" href="user/echantillonage.html"/>
<item name="La base des navires" href="user/boats.html"/>
<item name="Les contacts" href="user/contacts.html"/>
- <item name="Les synthèses" href="user/syntheses.html"/
- </item>-->
+ <item name="Les synthèses" href="user/syntheses.html"/>
+ </item>
<item name="Import/Export" href="import/samplingPlan.html">
<item name="Plan d'échantillonnage" href="import/samplingPlan.html"/>
1
0
[Suiviobsmer-commits] r281 - in trunk/src/site: resources/admin rst/admin
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
by jcouteau@users.labs.libre-entreprise.org 27 Jan '10
27 Jan '10
Author: jcouteau
Date: 2010-01-27 10:36:30 +0000 (Wed, 27 Jan 2010)
New Revision: 281
Added:
trunk/src/site/resources/admin/export_contacts.png
trunk/src/site/resources/admin/validate_contacts.png
Modified:
trunk/src/site/rst/admin/contacts.rst
Log:
Add admin doc about contacts
Added: trunk/src/site/resources/admin/export_contacts.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/export_contacts.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/admin/validate_contacts.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/validate_contacts.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/site/rst/admin/contacts.rst
===================================================================
--- trunk/src/site/rst/admin/contacts.rst 2010-01-26 21:08:34 UTC (rev 280)
+++ trunk/src/site/rst/admin/contacts.rst 2010-01-27 10:36:30 UTC (rev 281)
@@ -1,2 +1,40 @@
Les contacts
-------------
\ No newline at end of file
+------------
+
+Importer les contacts
+=====================
+
+Cliquez sur le lien import/export pour
+afficher le formulaire approprié. Sélectionnez le fichier à importer et
+validez (flèche vers le bas).
+
+Un message vous annonce le résultat de l'import.
+
+.. image:: import_contacts_success.png
+ :width: 800px
+
+Exporter les contacts
+=====================
+
+Cliquez sur le lien import/export pour
+afficher le formulaire approprié. Cliquez sur la flèche vers le haut pour
+télécharger un fichier csv contenant les contacts effectués.
+
+.. image:: export_contacts.png
+
+Valider des contacts
+====================
+
+Pour chaque contact effectué, la société doit le valider de même que
+l'administrateur afin quil soit pris en compte dans le plan d'échantillonage.
+
+Vous pouvez visualiser les différentes validations effectuées. Le premier icone
+correspond à la validation de la société, le deuxième icone correspond à la
+validation de l'administrateur. Un administrateur ne peut valider qu'un
+contact qui a été validé par la société. Pour valider le contact, cliquez sur
+l'icone de validation, pour le refuser, cliquez sur l'icone de refus. Vous
+pouvez revenir sur une validation en cliquant sur l'icone point d'interrogation.
+
+.. image:: validate_contacts.png
+ :width: 800px
+
\ No newline at end of file
1
0
Author: tchemit
Date: 2010-01-26 21:08:34 +0000 (Tue, 26 Jan 2010)
New Revision: 280
Modified:
trunk/pom.xml
Log:
Utilisation de mavenpom4labs 2.0.4
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-26 16:45:03 UTC (rev 279)
+++ trunk/pom.xml 2010-01-26 21:08:34 UTC (rev 280)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4labs</artifactId>
- <version>2.0.3</version>
+ <version>2.0.4</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0
[Suiviobsmer-commits] r279 - in trunk: . suiviobsmer-business suiviobsmer-ui
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
26 Jan '10
Author: fdesbois
Date: 2010-01-26 16:45:03 +0000 (Tue, 26 Jan 2010)
New Revision: 279
Modified:
trunk/pom.xml
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-ui/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-26 16:45:01 UTC (rev 278)
+++ trunk/pom.xml 2010-01-26 16:45:03 UTC (rev 279)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.0</version>
+ <version>0.2.1-SNAPSHOT</version>
<modules>
<module>suiviobsmer-ui</module>
@@ -218,9 +218,9 @@
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.2.0?root…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer</url>
</scm>
<build>
Modified: trunk/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-26 16:45:01 UTC (rev 278)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-26 16:45:03 UTC (rev 279)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.0</version>
+ <version>0.2.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -131,9 +131,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.2.0/suiv…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-business/…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</developerConnection>
</scm>
</project>
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-26 16:45:01 UTC (rev 278)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-26 16:45:03 UTC (rev 279)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.0</version>
+ <version>0.2.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -133,9 +133,9 @@
</repositories>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.2.0/suiv…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-ui/?root=…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</developerConnection>
</scm>
</project>
1
0
Author: fdesbois
Date: 2010-01-26 16:45:01 +0000 (Tue, 26 Jan 2010)
New Revision: 278
Added:
tags/suiviobsmer-0.2.0/
Log:
[maven-scm] copy for tag suiviobsmer-0.2.0
1
0
[Suiviobsmer-commits] r277 - in trunk: . suiviobsmer-business suiviobsmer-ui
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
26 Jan '10
Author: fdesbois
Date: 2010-01-26 16:44:57 +0000 (Tue, 26 Jan 2010)
New Revision: 277
Modified:
trunk/pom.xml
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-ui/pom.xml
Log:
[maven-release-plugin] prepare release suiviobsmer-0.2.0
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-26 16:40:16 UTC (rev 276)
+++ trunk/pom.xml 2010-01-26 16:44:57 UTC (rev 277)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.0-SNAPSHOT</version>
+ <version>0.2.0</version>
<modules>
<module>suiviobsmer-ui</module>
@@ -218,9 +218,9 @@
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.2.0?root…</url>
</scm>
<build>
Modified: trunk/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-26 16:40:16 UTC (rev 276)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-26 16:44:57 UTC (rev 277)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.0-SNAPSHOT</version>
+ <version>0.2.0</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -131,9 +131,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-business/…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.2.0/suiv…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</developerConnection>
</scm>
</project>
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-26 16:40:16 UTC (rev 276)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-26 16:44:57 UTC (rev 277)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.2.0-SNAPSHOT</version>
+ <version>0.2.0</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -133,9 +133,9 @@
</repositories>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-ui/?root=…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.2.0/suiv…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.2.0/suivio…</developerConnection>
</scm>
</project>
1
0
[Suiviobsmer-commits] r276 - in trunk: src/site/resources/schemas src/site/rst suiviobsmer-business/src/main/xmi
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
26 Jan '10
Author: fdesbois
Date: 2010-01-26 16:40:16 +0000 (Tue, 26 Jan 2010)
New Revision: 276
Modified:
trunk/src/site/resources/schemas/CU_WAO.png
trunk/src/site/rst/usecases.rst
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
Log:
Change some use cases
Modified: trunk/src/site/resources/schemas/CU_WAO.png
===================================================================
(Binary files differ)
Modified: trunk/src/site/rst/usecases.rst
===================================================================
--- trunk/src/site/rst/usecases.rst 2010-01-26 16:15:24 UTC (rev 275)
+++ trunk/src/site/rst/usecases.rst 2010-01-26 16:40:16 UTC (rev 276)
@@ -32,10 +32,10 @@
Fonctionnalités communes aux deux types d'utilisateur :
-- **Exporter plan d'échantillonnage** : Permet l'export du visuel du plan d'
- échantillonnage (données visibles potentiellement filtrées). Dans le cas de
+- **Impression plan d'échantillonnage** : Permet l'impression du visuel du plan
+ d'échantillonnage (données visibles potentiellement filtrées). Dans le cas de
l'observateur, uniquement les lignes liées à la société seront visibles
- et exportables. (Non géré en version 0.2.0).
+ et imprimables. (Non géré en version 0.2.0).
- **Import/Exporter contacts** : Permet l'export et l'import du visuel des
contacts (données visibles potentiellement filtrées). Les validations ne
@@ -107,3 +107,8 @@
- **Editer les informations du navire privées à la société** : Modification des
informations d'un navire pour la société de l'observateur.
+- **Impression de la liste des navires** : Permet l'impression du visuel des
+ navires (données visibles potentiellement filtrées). Les informations
+ privées de la société (contact téléphone, email, ...) sont imprimables
+ avec les propriétés du navire. (Non géré en version 0.2.0).
+
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
1
0
[Suiviobsmer-commits] r275 - in trunk: . src/site src/site/resources src/site/resources/schemas src/site/rst suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean suiviobsmer-business/src/main/xmi suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/components suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages suiviobsmer-ui/src/main/webapp suiviobsmer-ui/src/main/webapp/css
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
by fdesbois@users.labs.libre-entreprise.org 26 Jan '10
26 Jan '10
Author: fdesbois
Date: 2010-01-26 16:15:24 +0000 (Tue, 26 Jan 2010)
New Revision: 275
Added:
trunk/src/site/resources/schemas/
trunk/src/site/resources/schemas/CU_WAO.png
trunk/src/site/resources/schemas/Modele_WAO.png
trunk/src/site/rst/usecases.rst
Removed:
trunk/src/site/resources/Modele_WAO.png
Modified:
trunk/changelog.txt
trunk/pom.xml
trunk/src/site/rst/model.rst
trunk/src/site/site_fr.xml
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/components/Layout.tml
trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css
trunk/suiviobsmer-ui/src/main/webapp/css/main.css
Log:
- Add doc + change some text and style
- Resolve issue on contact filter with empty fromDate and a selected company
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/changelog.txt 2010-01-26 16:15:24 UTC (rev 275)
@@ -7,6 +7,7 @@
Note
Il est préférable de supprimer la base de données existante d'une version 0.1.1 avant le déploiement de cette version.
+- [fdesbois] Evo #2053 : Copyright : enlever DPMA du bas de page
- [fdesbois] Evo #2047 : Revoir mise à jour des contacts lors d'un import (impossible d'écraser un contact existant validé)
- [fdesbois] Evo #2035 : Ajouter pourcentage sur le total sur chaque ligne du plan
- [fdesbois] Evo #2041 : Modifier codes couleurs sur les contacts
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/pom.xml 2010-01-26 16:15:24 UTC (rev 275)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4labs</artifactId>
- <version>2.0.2</version>
+ <version>2.0.3</version>
</parent>
<groupId>fr.ifremer</groupId>
@@ -207,7 +207,7 @@
<!-- libraries version -->
<nuitonutils.version>1.1.3</nuitonutils.version>
- <topia.version>2.3.0-beta-6-SNAPSHOT</topia.version>
+ <topia.version>2.3.0-beta-6</topia.version>
<eugene.version>2.0.0-beta-3</eugene.version>
<tapestry.version>5.1.0.5</tapestry.version>
Deleted: trunk/src/site/resources/Modele_WAO.png
===================================================================
(Binary files differ)
Added: trunk/src/site/resources/schemas/CU_WAO.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/schemas/CU_WAO.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/schemas/Modele_WAO.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/schemas/Modele_WAO.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/site/rst/model.rst
===================================================================
--- trunk/src/site/rst/model.rst 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/src/site/rst/model.rst 2010-01-26 16:15:24 UTC (rev 275)
@@ -5,4 +5,210 @@
:Revision: $Revision$
:Date: $Date$
-.. image:: ../Modele_WAO.png
+Le modèle de l'application WAO est composé de quatres grandes parties :
+
+- `Plan d'echantillonnage`_ (couleur verte) : Comprend l'effort d'observations
+ en nombre de marées avec le détail des métiers
+- `Navires`_ (couleur jaune) : Comprend le référentiel navires et leurs
+ calendriers d'activités
+- `Contacts`_ (couleur mauve) : Comprend les contacts soit l'effort
+ d'observations réalisé
+- `Utilisateurs`_ (couleur bleu ciel) : Comprend la gestion des utilisateurs
+ et leurs informations privés
+
+.. image:: schemas/Modele_WAO.png
+ :width: 1000px
+
+Plan d'echantillonnage
+----------------------
+
+L'application permet l'import, la création, la modification et la suppression
+des lignes du plan d'échantillonnage. L'entité **SampleRowLog** permet
+d'enregistrer l'historique des modifications de chacune des lignes.
+
+- **SampleRow** : Ligne du plan d'échantillonnage
+
+ + code : code unique identifiant la ligne
+ + nbObservants : nombre d'observateurs
+ + averageTideTime : nombre moyen de jours pour une marée
+ + fishingZoneInfos : informations supplémentaires sur les zones de pêche
+ + comment : commentaire sur la ligne
+ + programName : nom du programme de rattachement
+ + periodBegin : date de début de période de la ligne
+ + periodEnd : date de fin de période de la ligne
+ + [lien] sampleMonth : liste des mois liés à la ligne du plan
+ + [lien] sampleRowLog : historique de la ligne du plan
+ + [lien] fishingZone : zones de pêche liés à la ligne du plan
+ + [lien] profession : métier de la ligne du plan
+ + [lien] company : société prestataire rattachée à la ligne du plan
+ + [lien] contact : contacts liés à la ligne du plan
+ + [lien] elligibleBoat : liste des navires elligibles pour cette ligne
+
+- **FishingZone** : Zone de pêche
+
+ + facadeName : nom de la façade maritime
+ + sectorName : nom de la zone maritime
+ + districtCode : code de la division dans la zone
+
+- **Profession** : Métier du plan d'échantillonnage
+
+ + codeDCF5 : Code DCF niveau 5
+ + meshSize : Maillage
+ + size : Taille
+ + other : Autres
+ + libelle : Libellé
+ + species : Espèces cibles
+
+- **SampleMonth** : Mois d'une ligne du plan d'échantillonnage
+
+ + periodDate : date correspondant au mois de la ligne
+ + expectedTideValues : nombre de marées prévues pour ce mois
+ + realTideValues : nombre de marées réalisées pour ce mois
+
+- **SampleRowLog** : Historique d'une ligne du plan d'échantillonnage
+
+ + logText : texte descriptif du changement effectué sur la ligne
+ + comment : commentaire sur le changement
+ + [caché] topiaCreateDate : date du changement effectué
+
+Navires
+-------
+
+L'application permet uniquement l'import des navires et de leurs calendriers
+d'activité à partir de fichiers CSV. Ces données sont donc ponctuellement
+ajoutées et ne varient pas au cours du temps. Seul les éligibilités du navire
+(lien entre un navire et une ligne du plan d'échantillonnage) sont modifiables
+par les utilisateurs de l'application.
+
+- **Boat** : Navire
+
+ + immatriculation : numéro d'immatriculation du navire
+ + name : nom du navire
+ + districtCode : code quartier du navire
+ + boatLength : longueur du navire en mètres
+ + buildYear : année de construction
+ + active : état d'activation du navire
+ + [lien] shipOwner : armateur du navire
+ + [lien] activityCalendar : calendriers d'activité du navire
+
+- **ElligibleBoat** : Eligibilité d'un navire pour une ligne du plan
+
+ + globalActive : état d'activation global d'une ligne (effectué par un admin)
+ + companyActive : état d'activation spécifique à la société rattaché à la ligne
+ (effectué par un observateur)
+ + [lien] boat : navire concerné
+ + [lien] sampleRow : ligne du plan d'échantillonnage concernée
+
+- **ShipOwner** : Armateur
+
+ + code : code unique de l'armateur
+ + firstName : prénom de l'armateur
+ + lastName : nom de l'armateur
+
+- **ActivityCalendar** : Calendrier d'activité
+
+ + year : année du calendrier
+ + fiability : enquête de fiabilité (indicateur numérique)
+ + [lien] activityMonth : liste des mois du calendrier d'activité
+
+- **ActivityMonth** : Mois du calendrier d'activité
+
+ + month : numéro du mois (1 à 12)
+ + active : état d'activation du navire pour le mois
+ + nbBoardingPersons : nombre de personnes embarquées sur le navire
+ + nbSeaDays : nombre de jours de mer
+ + nbFishingDays : nombre de jours de pêche
+ + harbourLibelle : libellé du port concerné par le mois
+ + harbourCode : code du port
+ + harbourId : identifiant du port
+ + [lien] activityProfession : métiers du navire pratiqués pour ce mois
+
+- **ActivityProfession** : Métier du navire pratiqué
+
+ + code : code du métier
+ + libelle : libellé du métier
+ + id : identifiant du métier
+ + professionOrder : rang du métier
+ + [lien] activityZone : zones fréquentées par le navire pour ce métier
+
+- **ActivityZone** : Zone fréquenté par le navire
+
+ + zoneCode : code de la zone
+ + zoneLibelle : libellé de la zone
+ + zoneId : identifiant de la zone
+ + gradiantCode : code du gradiant de la zone
+ + gradiantLibelle : libellé du gradiant de la zone
+
+Contacts
+--------
+
+L'application permet l'import, l'export, la création, la modification et la
+suppression des contacts. Un contact ne peut pas exister sans lien avec une ligne
+du plan d'échantillonnage, un navire et une société.
+
+- **Contact** : Contact avec un navire pour une ligne du plan d'échantillonnage
+ et une société
+
+ + tideBeginDate : date de début de la marée (embarquement sur le navire)
+ + tideEndDate : date de fin de la marée
+ + nbObservants : nombre d'observateurs embarqués sur le navire
+ + mammalsObservation : indicateur pour l'observation d'espèces inattendues
+ + mammalsCapture : indicateur pour la capture d'espèces inattendues
+ + validationProgram : indicateur de validation par le programme de rattachement
+ + validationCompany : indicateur de validation par la société
+ + dataInputDate : date de saisies des données observées dans l'application
+ Allegro
+ + comment : commentaire sur le contact
+ + state : état du contact
+ + tideNbDays : nombre de jours de marées effectuées
+ + [lien] user : observateur qui s'occupe du contact faisant parti de la société
+ concerné par le métier (ligne du plan d'échantillonnage)
+ + [lien] boat : navire concerné par le contact
+ + [lien] sampleRow : ligne du plan d'échantillonnage concerné par le contact
+
+Utilisateurs
+------------
+
+L'application permet la création, la modification et la suppression des
+utilisateurs. Voir les `cas d utilisations`_ pour les différentes fonctionnalités
+offertes aux deux types d'utilisateur.
+
+.. _cas d utilisations: usecases.html
+
+- **Company** : Société
+
+ + name : nom de la société
+ + phoneNumber : numéro de téléphone de la société
+ + address1 : adresse de la société
+ + address2 : complément d'adresse de la société
+ + active : état d'activation de la société
+ + email : adresse e-mail de la société
+ + city : ville de la société
+ + postalCode : code postal de la société
+ + [lien] user : liste des utilisateurs appartenant à cette société
+
+- **User** : Utilisateur / Observateur ou Administrateur
+
+ + firstName : prénom
+ + lastName : nom
+ + phoneNumber : numéro de téléphone
+ + login : identifiant de connexion (correspond à l'e-mail)
+ + password : mot de passe de connexion à l'application (encodé)
+ + admin : indicateur permettant d'identifier l'utilisateur comme étant un
+ administrateur.
+
+- **BoatInfos** : Informations d'un navire spécifique à une société
+
+ + contactFirstName : prénom du contact du navire
+ + contactLastName : nom du contact du navire
+ + contactEmail : adresse e-mail du contact du navire
+ + contactPhoneNumber : numéro de téléphone du contact du navire
+ + dup : Capacité d'accueil du navire en personnels spécialisés
+ + comment : commentaire supplémentaire sur le contact ou le navire
+ + [lien] boat : navire concerné
+ + [lien] company : société concerné
+
+- **News** : Articles d'annonces sur la page d'accueil
+
+ + title : titre
+ + content : contenu de l'article
Property changes on: trunk/src/site/rst/model.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Added: trunk/src/site/rst/usecases.rst
===================================================================
--- trunk/src/site/rst/usecases.rst (rev 0)
+++ trunk/src/site/rst/usecases.rst 2010-01-26 16:15:24 UTC (rev 275)
@@ -0,0 +1,109 @@
+Cas d'utilisations
+==================
+
+:Author: fdesbois
+:Revision: $Revision$
+:Date: $Date$
+
+Il existe deux types d' `Utilisateur`_ dans l'application WAO :
+
+- `Administrateur`_ : Personne s'occupant de la gestion des référentiels, de la
+ création des comptes utilisateurs et du la gestion du planifié
+- `Observateur`_ : Personne s'occupant du suivi du réalisé
+
+Ces deux utilisateurs ont quelques fonctionnalités en commun, comme certains
+import/export ou la consultation des synthèses et indicateurs.
+
+.. image:: schemas/CU_WAO.png
+
+Les couleurs reprennent le `modele de donnees`_ :
+
+- jaune : navires
+- vert : plan d'échantillonnage
+- mauve : contacts
+- bleu ciel : utilisateurs
+- rose : synthèses
+- blanc : news
+
+.. _modele de donnees: model.html
+
+Utilisateur
+-----------
+
+Fonctionnalités communes aux deux types d'utilisateur :
+
+- **Exporter plan d'échantillonnage** : Permet l'export du visuel du plan d'
+ échantillonnage (données visibles potentiellement filtrées). Dans le cas de
+ l'observateur, uniquement les lignes liées à la société seront visibles
+ et exportables. (Non géré en version 0.2.0).
+
+- **Import/Exporter contacts** : Permet l'export et l'import du visuel des
+ contacts (données visibles potentiellement filtrées). Les validations ne
+ sont pas importables.
+
+- **Valider contact** : L'observateur comme l'administrateur peuvent valider un
+ contact. Une différence est faites entre les deux niveaux de validations (
+ l'administrateur doit attendre une validation de l'observateur afin de valider
+ à son tour le contact).
+
+- `Voir syntheses et indicateurs`_ : Graphiques et indicateurs permettant d'
+ aggréger les données existantes dans l'application.
+
+- **Rendre éligible un navire pour une ligne du plan** : Permet d'associer un
+ navire à une ligne du plan. L'administrateur le fera à partir du plan d'
+ échantillonnage tandis que l'observateur pourra le faire à partir des
+ informations privées (liées à la société) du navire.
+
+.. _Voir syntheses et indicateurs: admin/syntheses.html
+
+Administrateur
+--------------
+
+- `Importer referentiel zones de peche`_ : Permet l'import du fichier concernant
+ les zones de pêche référencées sur les lignes du plan.
+
+- `Importer plan d echantillonnage`_ : Permet l'import de plans
+ d'échantillonnage à l'instant T. Aucune modification d'une ligne existante
+ dans l'application n'est permise à partir de cet import.
+
+- `Gerer utilisateurs`_ : Création, modification et suppression des sociétés et
+ utilisateurs (observateur ou administrateur).
+
+- `Importer navires`_ : Import du référentiel navire.
+
+- `Importer calendriers d activite des navires`_ : Import des calendriers d'
+ activité des navires.
+
+- `Gerer ligne du plan d echantillonnage`_ : Création, modification et
+ suppression des lignes du plan d'échantillonnage (y compris les métiers liés).
+
+- `Gerer news`_ : Création, modification et suppression des articles d'annonces
+ sur la page d'accueil de l'application.
+
+- **Consulter les infos du navire pour une société** : Consultation des
+ informations privées d'un navire pour une société.
+
+.. _Importer referentiel zones de peche: admin/firstlaunch.html#Importer_les_zones_de_pche
+
+.. _Importer plan d echantillonnage: admin/echantillonage.html
+
+.. _Gerer utilisateurs: admin/users.html
+
+.. _Importer navires: admin/firstlaunch.html#Importer_les_navires
+
+.. _Importer calendriers d activite des navires: admin/firstlaunch.html#Importer_le_calendrier_dactivit
+
+.. _Gerer ligne du plan d echantillonnage: admin/echantillonage.html#Grer_le_plan_dchantillonage
+
+.. _Gerer news: admin/news.html
+
+Observateur
+-----------
+
+- **Gérer contact** : Création, modification et suppression des contacts de la
+ société de l'observateur. Seuls les contacts non validés par un administrateur
+ peuvent être modifiés ou supprimés.
+
+- **Editer les informations du navire privées à la société** : Modification des
+ informations d'un navire pour la société de l'observateur.
+
Property changes on: trunk/src/site/rst/usecases.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Revision
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/src/site/site_fr.xml 2010-01-26 16:15:24 UTC (rev 275)
@@ -31,7 +31,7 @@
<menu name ="Documentation">
- <item name="Administrateur">
+ <item name="Administrateur" href="admin/firstlaunch.html">
<item name="Premier lancement" href="admin/firstlaunch.html"/>
<item name="La base d'utilisateurs" href="admin/users.html"/>
<item name="Le plan d'échantillonage" href="admin/echantillonage.html"/>
@@ -41,27 +41,31 @@
<item name="Gérer la page d'accueil" href="admin/news.html"/>
</item>
- <item name="Utilisateur">
+<!-- <item name="Utilisateur" href="#">
<item name="Se connecter" href="user/authentication.html"/>
<item name="Mon compte utilisateur" href="user/account.html"/>
<item name="La page d'accueil" href="user/news.html"/>
- <!--item name="Le plan d'échantillonage" href="user/echantillonage.html"/>
+ item name="Le plan d'échantillonage" href="user/echantillonage.html"/>
<item name="La base des navires" href="user/boats.html"/>
<item name="Les contacts" href="user/contacts.html"/>
- <item name="Les synthèses" href="user/syntheses.html"/-->
- </item>
+ <item name="Les synthèses" href="user/syntheses.html"/
+ </item>-->
- <item name="Import/Export">
+ <item name="Import/Export" href="import/samplingPlan.html">
<item name="Plan d'échantillonnage" href="import/samplingPlan.html"/>
<item name="Navires" href="import/boats.html"/>
<item name="Contacts" href="import/contacts.html"/>
<!--<item name="Calendrier d'activité" href="import/activityCalendar.html"/>-->
</item>
- <item name="Règles métier" href="business-rules.html" />
- <item name="Historique des versions" href="release-note.html" />
+ <item name="Conception/Données" href="usecases.html">
+ <item name="Cas d'utilisations" href="usecases.html"/>
+ <item name="Règles métier" href="business-rules.html" />
+ <item name="Modèle de données" href="model.html"/>
+ </item>
</menu>
- <menu name ="Mise en place">
+ <menu name ="Projet">
+ <item name="Historique des versions" href="release-note.html" />
<item name="Téléchargement" href="http://labs.libre-entreprise.org/frs/?group_id=154" />
<item name="Installation" href="installation.html"/>
<item name="Demo" href="http://demo.codelutin.com/suiviobsmer"/>
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-26 16:15:24 UTC (rev 275)
@@ -55,7 +55,7 @@
// query.add(contact + "." + Contact.USER + "." + User.COMPANY, getCompany());
// }
- if (isSamplingFiltered() || getFromDate() != null) {
+ if (isSamplingFiltered() || getFromDate() != null || getCompany() != null) {
// Seems to be necessary to have distinct on sampleRows in case of
// fishingZone join. Otherwise multiple contacts for sames sampleRow
// will be returned (Bad count).
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-26 16:15:24 UTC (rev 275)
@@ -349,6 +349,13 @@
return BusinessUtils.getTooltipBoat(contact.getBoat());
}
+ public String getTooltipExportFrom() throws SuiviObsmerException {
+ if (getContactFilter().getFromDate() != null) {
+ return "depuis le " + getDateFormat().format(getContactFilter().getFromDate());
+ }
+ return "";
+ }
+
public String getGridClass() {
return user.getAdmin() ? "admin" : "user";
}
Modified: trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/components/Layout.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/components/Layout.tml 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/components/Layout.tml 2010-01-26 16:15:24 UTC (rev 275)
@@ -82,8 +82,6 @@
<a href="http://www.gnu.org/licenses/gpl.html" title="License GPL v3" target="blank">
GPLv3
</a> - Copyright 2009-2010
- <a href="http://agriculture.gouv.fr/sections/thematiques/peche-aquaculture" title="Direction des Pêches Maritimes et de l'Aquaculture" target="blank">
- DPMA</a>,
<a href="http://www.ifremer.fr" title="Ifremer" target="blank">
Ifremer</a>,
<a href="http://www.codelutin.com" title="Code Lutin" target="blank">
Modified: trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties
===================================================================
--- trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties 2010-01-26 16:15:24 UTC (rev 275)
@@ -23,9 +23,13 @@
mammals-label: Observations et captures accidentelles
dataInputDate-label: Saisie des donn\u00E9es dans Allegro
comment-label: Com.
-professionCode-label: M\u00E9tier
+program-label: Programme
+professionCode-label: Code m\u00E9tier
professionLibelle-label: Libell\u00E9 m\u00E9tier
professionSpecies-label: Esp\u00E8ces cibles
+fishingZoneFacade-label: Fa\u00E7ade
+fishingZoneSector-label: Zone
+fishingZoneDivision-label: Division
validation-label: Validations
# Form labels
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-26 16:15:24 UTC (rev 275)
@@ -120,7 +120,7 @@
<input t:type="submit" class="ico import" value="OK" title="Importer une liste de contacts (format CSV avec encodage UTF-8)" />
<a t:type="actionlink" t:id="exportShowContacts">
<img src="${asset:context:}/img/file-export-22px.png" alt="Export"
- title="Exporter les ${contacts.availableRows} contacts trouvés depuis le ${dateFormat.format(contactFilter.fromDate)}" />
+ title="Exporter les ${contacts.availableRows} contacts trouvés ${tooltipExportFrom}" />
</a>
</form>
</fieldset>
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css 2010-01-26 16:15:24 UTC (rev 275)
@@ -135,6 +135,10 @@
text-align: center;
}
+div#so-contacts table.t-data-grid tbody tr td.nbObservants {
+ text-align: center;
+}
+
a.save {
cursor: pointer;
}
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/main.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/main.css 2010-01-26 13:42:35 UTC (rev 274)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/main.css 2010-01-26 16:15:24 UTC (rev 275)
@@ -108,6 +108,7 @@
ul#so-menu li {
list-style-type: none;
+ text-align: center;
float:left;
}
1
0
[Suiviobsmer-commits] r274 - in trunk/src/site: . resources/admin rst/admin
by jcouteau@users.labs.libre-entreprise.org 26 Jan '10
by jcouteau@users.labs.libre-entreprise.org 26 Jan '10
26 Jan '10
Author: jcouteau
Date: 2010-01-26 13:42:35 +0000 (Tue, 26 Jan 2010)
New Revision: 274
Added:
trunk/src/site/resources/admin/actions.png
trunk/src/site/resources/admin/create_sampling_plan.png
trunk/src/site/resources/admin/historical_sampling_plan.png
trunk/src/site/resources/admin/modif_sampling_plan.png
trunk/src/site/resources/admin/synthese.png
Modified:
trunk/src/site/rst/admin/contacts.rst
trunk/src/site/rst/admin/echantillonage.rst
trunk/src/site/rst/admin/syntheses.rst
trunk/src/site/site_fr.xml
Log:
Add Sampling plan admin doc
Added: trunk/src/site/resources/admin/actions.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/actions.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/admin/create_sampling_plan.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/create_sampling_plan.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/admin/historical_sampling_plan.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/historical_sampling_plan.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/admin/modif_sampling_plan.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/modif_sampling_plan.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/admin/synthese.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/admin/synthese.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/site/rst/admin/contacts.rst
===================================================================
--- trunk/src/site/rst/admin/contacts.rst 2010-01-26 12:09:21 UTC (rev 273)
+++ trunk/src/site/rst/admin/contacts.rst 2010-01-26 13:42:35 UTC (rev 274)
@@ -0,0 +1,2 @@
+Les contacts
+------------
\ No newline at end of file
Modified: trunk/src/site/rst/admin/echantillonage.rst
===================================================================
--- trunk/src/site/rst/admin/echantillonage.rst 2010-01-26 12:09:21 UTC (rev 273)
+++ trunk/src/site/rst/admin/echantillonage.rst 2010-01-26 13:42:35 UTC (rev 274)
@@ -0,0 +1,76 @@
+Le plan d'échantillonage
+------------------------
+
+Importer le plan d'échantillonage
+=================================
+
+Pour importer le plan d'échantillonage, il suffit de sélectionner le fichier à
+importer et valider.
+
+.. image:: import_sampling_plan.png
+ :width: 800px
+
+Un message vous annonce le résultat de l'import et le nombre de lignes
+refusées.
+
+.. image:: import_sampling_plan_success.png
+ :width: 800px
+
+Gérer le plan d'échantillonage
+==============================
+
+Vous pouvez afficher le plan d'échantillonage sur une période de temps donnée
+grace aux filtres situés au dessus du plan.
+
+Pour chaque ligne du plan, vous avez 4 actions disponibles :
+
+* voir les navires elligibles pour la ligne
+* modifier la ligne
+* voir l'historique de la ligne
+* supprimer la ligne
+
+.. image:: actions.png
+
+Ces actions peuvent être non disponible suivant le statut de la ligne.
+
+Voir les navires elligibles pour la ligne
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+
+Cette action vous montre tous les navires disponibles pour cette ligne du plan.
+
+Modifier la ligne
+,,,,,,,,,,,,,,,,,
+
+Cette action vous permet d'éditer certaines informations de la ligne (plus ou
+moins suivant si cette ligne a déjà été commencée ou pas). Toutes les
+modifications ont besoin d'un commentaire décrivant la modification effectuée.
+
+.. image:: modif_sampling_plan.png
+ :width: 800px
+
+Historique des modifications
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+
+Cette action vous permet de visionner l'historique des modifications de la ligne.
+L'import n'est pas compté dans les modifications.
+
+.. image:: historical_sampling_plan.png
+ :width: 800px
+
+Suppression de la ligne
+,,,,,,,,,,,,,,,,,,,,,,,
+
+Cette action supprime la ligne du plan.
+
+Ajouter une ligne du plan
+,,,,,,,,,,,,,,,,,,,,,,,,,
+
+Cette cinquième action est disponible à l'aide de l'icone 'plus' situé au-dessus,
+à droite du plan d'échantillonage.
+
+Il vous faut compléter toutes les informations nécessaires et valider.
+
+
+.. image:: create_sampling_plan.png
+ :width: 800px
+
Modified: trunk/src/site/rst/admin/syntheses.rst
===================================================================
--- trunk/src/site/rst/admin/syntheses.rst 2010-01-26 12:09:21 UTC (rev 273)
+++ trunk/src/site/rst/admin/syntheses.rst 2010-01-26 13:42:35 UTC (rev 274)
@@ -0,0 +1,9 @@
+Les synthèses
+-------------
+
+L'écran de synthèse permet de visualiser graphiquement la réalisation du plan
+d'échantillonage. Vous pouvez filtrer par société, par façade, date, ...
+
+.. image:: synthese.png
+ :width: 800px
+
\ No newline at end of file
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2010-01-26 12:09:21 UTC (rev 273)
+++ trunk/src/site/site_fr.xml 2010-01-26 13:42:35 UTC (rev 274)
@@ -33,11 +33,11 @@
<item name="Administrateur">
<item name="Premier lancement" href="admin/firstlaunch.html"/>
- <item name="Créer/Gérer la base d'utilisateurs" href="admin/users.html"/>
- <item name="Créer/Gérer le plan d'échantillonage" href="admin/echantillonage.html"/>
- <item name="Créer/Gérer la base des navires" href="admin/boats.html"/>
- <item name="Gérer les contacts" href="admin/contacts.html"/>
- <item name="Visionner les synthèses" href="admin/syntheses.html"/>
+ <item name="La base d'utilisateurs" href="admin/users.html"/>
+ <item name="Le plan d'échantillonage" href="admin/echantillonage.html"/>
+ <item name="La base des navires" href="admin/boats.html"/>
+ <item name="Les contacts" href="admin/contacts.html"/>
+ <item name="Les synthèses" href="admin/syntheses.html"/>
<item name="Gérer la page d'accueil" href="admin/news.html"/>
</item>
@@ -45,6 +45,10 @@
<item name="Se connecter" href="user/authentication.html"/>
<item name="Mon compte utilisateur" href="user/account.html"/>
<item name="La page d'accueil" href="user/news.html"/>
+ <!--item name="Le plan d'échantillonage" href="user/echantillonage.html"/>
+ <item name="La base des navires" href="user/boats.html"/>
+ <item name="Les contacts" href="user/contacts.html"/>
+ <item name="Les synthèses" href="user/syntheses.html"/-->
</item>
<item name="Import/Export">
1
0