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; }