Author: tchemit Date: 2014-02-11 19:41:35 +0100 (Tue, 11 Feb 2014) New Revision: 1589 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1589 Log: refs #4279: [SPECS] Finaliser les specs (validation) Added: trunk/tutti-ui-swing/src/main/help/fr/validation.html trunk/tutti-ui-swing/src/main/help/img/error.png trunk/tutti-ui-swing/src/main/help/img/fatal.png trunk/tutti-ui-swing/src/main/help/img/info.png trunk/tutti-ui-swing/src/main/help/img/warning.png Modified: trunk/tutti-ui-swing/src/main/help/css/style.css trunk/tutti-ui-swing/src/main/help/fr/index.html trunk/tutti-ui-swing/src/main/help/fr/navbar.js trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml Modified: trunk/tutti-ui-swing/src/main/help/css/style.css =================================================================== --- trunk/tutti-ui-swing/src/main/help/css/style.css 2014-02-11 17:48:01 UTC (rev 1588) +++ trunk/tutti-ui-swing/src/main/help/css/style.css 2014-02-11 18:41:35 UTC (rev 1589) @@ -34,7 +34,7 @@ margin-top: 30px !important; } -.brand { +.navbar-brand { padding-left: 40px !important; background: url('../img/allegro_32.png') center left no-repeat; } @@ -60,4 +60,23 @@ text-align: center; font-weight: bold; } + +.validation-fatal { + padding-left: 40px !important; + background: url('../img/fatal.png') center left no-repeat; +} + +.validation-error { + padding-left: 40px !important; + background: url('../img/error.png') center left no-repeat; +} + +.validation-warning { + padding-left: 40px !important; + background: url('../img/warning.png') center left no-repeat; +} + +.validation-info { + padding-left: 40px !important; + background: url('../img/info.png') center left no-repeat; } \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/help/fr/index.html =================================================================== --- trunk/tutti-ui-swing/src/main/help/fr/index.html 2014-02-11 17:48:01 UTC (rev 1588) +++ trunk/tutti-ui-swing/src/main/help/fr/index.html 2014-02-11 18:41:35 UTC (rev 1589) @@ -141,16 +141,18 @@ / Captures accidentelles</a></li> </ul> </li> - <li><a href="editFishingOperation.html">Saisie du trait et de la - capture</a></li> - + </ul> + </li> + <li> + Autres fonctionnalités + <ul> <li><a href="dbManager.html">Gestionnaire de base</a></li> <li><a href="config.html">Configuration</a></li> - <li><a href="manageTemporaryReferential.html">Gestionnaire de - référentiels temporaires</a></li> + <li><a href="manageTemporaryReferential.html">Gestionnaire de référentiels temporaires</a></li> <li><a href="report.html">Générer des rapports</a></li> <li><a href="genericExport.html">Export générique</a></li> <li><a href="dbMapping.html">Mapping des écrans / base de données</a></li> + <li><a href="validation.html">Règles de validation</a></li> </ul> </li> <li> Modified: trunk/tutti-ui-swing/src/main/help/fr/navbar.js =================================================================== --- trunk/tutti-ui-swing/src/main/help/fr/navbar.js 2014-02-11 17:48:01 UTC (rev 1588) +++ trunk/tutti-ui-swing/src/main/help/fr/navbar.js 2014-02-11 18:41:35 UTC (rev 1589) @@ -95,13 +95,18 @@ document.write(' <li><a href="editFishingOperation.html#captureCapturesAccidentelles">Captures / Captures accidentelles</a></li>'); document.write(' </ul>'); document.write(' </li>'); -document.write(' <li class="divider"></li>'); +document.write(' </ul>'); +document.write(' </li>'); +document.write(' <li class="dropdown-submenu">'); +document.write(' <a href="#">Autres fonctionnalités</a>'); +document.write(' <ul class="dropdown-menu" role="menu">'); document.write(' <li><a href="dbManager.html">Gestionnaire de base</a></li>'); document.write(' <li><a href="config.html">Configuration</a></li>'); document.write(' <li><a href="manageTemporaryReferential.html">Gestionnaire de référentiels temporaires</a></li>'); document.write(' <li><a href="report.html">Générer des rapports</a></li>'); document.write(' <li><a href="genericExport.html">Export générique</a></li>'); document.write(' <li><a href="dbMapping.html">Mapping des écrans / base de données</a></li>'); +document.write(' <li><a href="validation.html">Règles de validation</a></li>'); document.write(' </ul>'); document.write(' </li>'); document.write(' <li class="dropdown-submenu">'); Added: trunk/tutti-ui-swing/src/main/help/fr/validation.html =================================================================== --- trunk/tutti-ui-swing/src/main/help/fr/validation.html (rev 0) +++ trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-11 18:41:35 UTC (rev 1589) @@ -0,0 +1,846 @@ +<!DOCTYPE html> +<html lang="fr"> +<head> +<!-- + #%L + Tutti :: UI + $Id$ + $HeadURL: https://svn.forge.codelutin.com/svn/tutti/trunk/tutti-ui-swing/src/main/help... $ + %% + Copyright (C) 2012 - 2013 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 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>. + #L% + --> + <meta charset="utf-8"> + + <title>Allegro Campagne - Export générique</title> + <link href="../css/bootstrap.min.css" rel="stylesheet"> + <link href="../css/style.css" rel="stylesheet"> + <script type="text/javascript" src="../js/jquery-2.0.3.min.js"></script> + <script type="text/javascript" src="../js/bootstrap.min.js"></script> + <script type="text/javascript" src="navbar.js"></script> +</head> +<body> + +<div class="container"> + +<div class="page-header"> + <h1>Règles de validation</h1> +</div> + + <h2>Préambule</h2> +<p>Cette page décrit l'ensemble des règles de validation appliquée dans l'application par chaque écran.</p> +<p> + On retrouve aussi ici l'ensemble des règles induites par l'interface graphique (que l'on devra alors + aussi appliquer lors de l'import générique) +</p> + <h3>Niveaux de messages</h3> + + <p>On distingue 4 niveaux de messages de validation:</p> + +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Type de message</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Erreur bloquante</span></td><td>Erreur bloquante qui interdit la sauvegarde</td></tr> + <tr><td><span class="validation-error">Erreur non bloquante</span></td><td>Erreur non bloquante qui autorise la sauvegarde, devient normalement une erreur bloquante en mode validation</td></tr> + <tr><td><span class="validation-warning">Avertissement</span></td><td>Avertissement qui autorise la sauvegarde, devient normalement une erreur bloquante en mode validation</td></tr> + <tr><td><span class="validation-info">Information</span></td><td>Message d'information</td></tr> + </tbody> +</table> + + <h3>Mode de validation</h3> + <p>On distingue deux modes distincts de validation :</p> + <ul> + <li>Mode édition</li> + <li>Mode validation</li> + </ul> + + <strong>A Complêter</strong> +<h2>Série de campagne</h2> + + <h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Nom</span></td><td>Le nom de la série est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Zone</span></td><td>La zone de la série est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Nom - Zone</span></td><td>le couple nom - zone doit être unique</td><td></td></tr> + <tr><td><span class="validation-fatal">Description</span></td><td>La description de la série est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Description</span></td><td>Taille de la description trop longue (limitée à 2000 caractères)</td><td></td></tr> + </tbody> +</table> + <h3>Mode validation</h3> + <strong>TODO</strong> + +<h2>Campagne</h2> + + <h3>Mode édition</h3> + <table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Nom</span></td><td>Le nom de la campagne est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Série de campagne</span></td><td>La série est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Port d'embarquement</span></td><td>Le port d'embarquement est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Port de débarquement</span></td><td>Le port de débarquement est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Nombre de poches</span></td><td>Le nombre de poche est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Date de début</span></td><td>La date de début est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Date de fin</span></td><td>La date de fin est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Date de début - fin</span></td><td>La date de fin doit être après la date de début</td><td></td></tr> + <tr><td><span class="validation-fatal">Navire</span></td><td>Au moins un bateau doit être sélectionné</td><td></td></tr> + <tr><td><span class="validation-fatal">Engin</span></td><td>Au moins un engin doit être sélectionné</td><td></td></tr> + <tr><td><span class="validation-fatal">Chef(s) de mission</span></td><td>Au moins un chef de mission doit être sélectionné</td><td></td></tr> + <tr><td><span class="validation-fatal">Responsable(s) de salle de tri</span></td><td>Au moins un responsable de salle de tri doit être sélectionné</td><td></td></tr> + <tr><td><span class="validation-fatal">Commentaire</span></td><td>Le commentaire est obligatoire si le trait est invalide</td><td></td></tr> + <tr><td><span class="validation-warning">Nom</span></td><td>tutti.validator.error.cruise.name.format</td><td></td></tr> + </tbody> + </table> + <h3>Mode validation</h3> + <strong>TODO</strong> + +<h2>Trait > Trait</h2> + + <h3>Mode édition</h3> + <table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Numéro de station</span></td><td>Le numéro de station est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Numéro de station</span></td><td>Valeur trop longue (limitée à 40 caractères)</td><td></td></tr> + <tr><td><span class="validation-fatal">Numéro de trait</span></td><td>Le numéro de trait est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Numéro de poche</span></td><td>Le numéro de poche est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Numéro de poche</span></td><td>Le numéro de poche doit être inférieur ou égal au nombre de poches déclarées dans la campagne</td><td></td></tr> + <tr><td><span class="validation-fatal">Date de début</span></td><td>La date du début du trait est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Numéro de station - numéro de trait - date début</span></td><td>La clé code station/numéro de trait/date de début existe déjà</td><td></td></tr> + <tr><td><span class="validation-error">Date de début de traine</span></td><td>tutti.validator.error.fishingOperation.dates.endBeforeStart</td><td></td></tr> + <tr><td><span class="validation-error">Date de fin de traine</span></td><td>tutti.validator.error.fishingOperation.dates.endBeforeStart</td><td></td></tr> + <tr><td><span class="validation-error">Date de fin de traine</span></td><td>tutti.validator.error.fishingOperation.invalid.dates.for.position</td><td></td></tr> + <tr><td><span class="validation-error">Date de fin de traine</span></td><td>tutti.validator.error.fishingOperation.invalid.position.for.dates</td><td></td></tr> + <tr><td><span class="validation-error">Commentaire</span></td><td>tutti.validator.error.comment.too.long##2000</td><td></td></tr> + <tr><td><span class="validation-warning">Strate</span></td><td>tutti.validator.error.fishingOperation.strataLocation.required</td><td></td></tr> + <tr><td><span class="validation-warning">sous-strate</span></td><td>tutti.validator.error.fishingOperation.strataLocation.required</td><td></td></tr> + <tr><td><span class="validation-warning">Localité</span></td><td>tutti.validator.error.fishingOperation.strataLocation.required</td><td></td></tr> + <tr><td><span class="validation-warning">Date de début de traine</span></td><td>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</td><td></td></tr> + <tr><td><span class="validation-warning">Date de début de traine</span></td><td>tutti.validator.error.fishingOperation.dates.wrongTime</td><td></td></tr> + <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>tutti.validator.error.fishingOperation.date.end.required</td><td></td></tr> + <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>tutti.validator.error.fishingOperation.dates.endOutOfCruiseDates</td><td></td></tr> + <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>tutti.validator.error.fishingOperation.dates.wrongTime</td><td></td></tr> + <tr><td><span class="validation-warning">Latitude de début de traine</span></td><td>tutti.validator.error.latitude.start.required</td><td></td></tr> + <tr><td><span class="validation-warning">Latitude de début de traine</span></td><td>tutti.validator.warning.latitude.outOfBounds</td><td></td></tr> + <tr><td><span class="validation-warning">Longitude de début de traine</span></td><td>tutti.validator.error.longitude.start.required</td><td></td></tr> + <tr><td><span class="validation-warning">Longitude de début de traine</span></td><td>tutti.validator.warning.longitude.outOfBounds</td><td></td></tr> + <tr><td><span class="validation-warning">Latitude de fin de traine</span></td><td>tutti.validator.error.latitude.end.required</td><td></td></tr> + <tr><td><span class="validation-warning">Latitude de fin de traine</span></td><td>tutti.validator.error.latitude.end.required</td><td></td></tr> + <tr><td><span class="validation-warning">Longitude de fin de traine</span></td><td>tutti.validator.error.longitude.end.required</td><td></td></tr> + <tr><td><span class="validation-warning">Longitude de fin de traine</span></td><td>tutti.validator.warning.longitude.outOfBounds</td><td></td></tr> + <tr><td><span class="validation-warning">Distance chalutée</span></td><td>tutti.validator.error.fishingOperation.trawlDistance.tooLong</td><td></td></tr> + <tr><td><span class="validation-warning">Opération valide</span></td><td>tutti.validator.error.fishingOperation.fishingOperationValid.required</td><td></td></tr> + <tr><td><span class="validation-warning">Saisisseur</span></td><td>tutti.validator.error.fishingOperation.catcher.required</td><td></td></tr> + <tr><td><span class="validation-warning">Navire</span></td><td>tutti.validator.error.fishingOperation.vessel.required</td><td></td></tr> + <tr><td><span class="validation-warning">Engin</span></td><td>tutti.validator.error.fishingOperation.gear.required</td><td></td></tr> + <tr><td><span class="validation-warning">Commentaire</span></td><td>tutti.validator.error.fishingOperation.comment.required</td><td></td></tr> + </tbody> + </table> + + <h3>Mode édition (règles induites par l'interface graphique)</h3> + <table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Sous-strate</td><td>Parmis les sous-strates de la strate choisie (si une strate est sélectionnée)</td><td></td></tr> + <tr><td>Localité</td><td>Parmis les localités de la strate ou sous-strate choisie (si strate ou sous-strate choisie)</td><td></td></tr> + <tr><td>Engin</td><td>Un des engins définies sur la campagne</td><td></td></tr> + <tr><td>Distance chalutée</td><td>Calculée si le trait est rectiligne</td><td>Il faut donc lors d'un import vérifier la valeur par rapport à celle calculée</td></tr> + <tr><td>Navire(s) associé(s)</td><td>Doublon impossible</td><td></td></tr> + <tr><td>Saisisseur(s)</td><td>Doublon impossible</td><td></td></tr> + </tbody> + </table> + + <h3>Mode validation</h3> + <strong>TODO</strong> + + <h2>Trait > Mise en oeuvre de l'engin</h2> + <h3>Mode édition</h3> + <table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">caractéristique</span></td><td>Caractéristique obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Valeur</span></td><td>Valeur obligatoire</td><td></td></tr> + </tbody> + </table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr> + </tbody> +</table> + + <h3>Mode validation</h3> + <strong>TODO</strong> + +<h2>Trait > Autres paramètres</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">caractéristique</span></td><td>Caractéristique obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Valeur</span></td><td>Valeur obligatoire</td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr> + </tbody> +</table> + +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Résumé</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Espèces</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Lots jumeaux</td><td>Impossible d'avoir deux lots avec exactement la même catégorisation (i.e ayant le même père dans l'arbre d'échantillonnage et la même catégorie finale)</td><td></td></tr> + <tr><td>Ordre de catégorisation</td><td>L'arbre d'échantillonnage doit obligatoirement respecter l'ordre des catégories définies dans la configuration</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Espèces > Création d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Espèce du lot</span></td><td>L'espèce est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">V/HV</span></td><td>La catégorie Vrac / Hors Vrac est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Espèce du lot - V/HV</span></td><td>Le couple (espèce - Vrac/Hors Vrac) ne doit pas déjà être utilisé</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids du lot</span></td><td>Le poids du lot doit être strictement positif</td><td>Peut-être non renseigné</td></tr> + <tr><td><span class="validation-fatal">Poids total catégorisé</span></td><td>La somme des poids ventilés doit être strictement positive</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids du lot - Poids total catégorisé</span></td><td>La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot</td><td>Sauf si le poids total n'est pas renseigné</td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Catégorie</td><td>Catégorie obligatoire</td><td></td></tr> + <tr><td>Lot catégorisé</td><td>Seuls les lots sélectionnés et dont le poids est renseigné sont conservés</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Espèces > Catégorisation d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Catégorie</span></td><td>La catégorie est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids total catégorisé</span></td><td>La somme des poids ventilés doit être strictement positive</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids total catégorisé</span></td><td>La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot</td><td>Sauf si le lot père n'a pas de poids</td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Lot catégorisé</td><td>Seuls les lots sélectionnés et dont le poids est renseigné sont conservés</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Espèces > Mensuration</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Type de mesure</span></td><td>La classe de taille est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Pas de classe de taille</span></td><td>Le pas de la classe de taille doit être strictement positif</td><td></td></tr> + <tr><td><span class="validation-fatal">Tableau</span></td><td>Au moins une classe de taille doit être observée</td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Tableau</td><td>Si une mensuration comporte un poids, toutes les mensurations doivent comporter un poids</td><td>Si l'utilisateur confirme, seules les mensurations avec poids sont conservées</td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Espèces > Import Pupitri</h2> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Espèces > Import Psion</h2> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Benthos</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Lots jumeaux</td><td>Impossible d'avoir deux lots avec exactement la même catégorisation (i.e ayant le même père dans l'arbre d'échantillonnage et la même catégorie finale)</td><td></td></tr> + <tr><td>Ordre de catégorisation</td><td>L'arbre d'échantillonnage doit obligatoirement respecter l'ordre des catégories définies dans la configuration</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Benthos > Création d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Espèce du lot</span></td><td>L'espèce est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">V/HV</span></td><td>La catégorie Vrac / Hors Vrac est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Espèce du lot - V/HV</span></td><td>Le couple (espèce - Vrac/Hors Vrac) ne doit pas déjà être utilisé</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids du lot</span></td><td>Le poids du lot doit être strictement positif</td><td>Peut-être non renseigné</td></tr> + <tr><td><span class="validation-fatal">Poids total catégorisé</span></td><td>La somme des poids ventilés doit être strictement positive</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids du lot - Poids total catégorisé</span></td><td>La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot</td><td>Sauf si le poids total n'est pas renseigné</td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Catégorie</td><td>Catégorie obligatoire</td><td></td></tr> + <tr><td>Lot catégorisé</td><td>Seuls les lots sélectionnés et dont le poids est renseigné sont conservés</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Benthos > Catégorisation d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Catégorie</span></td><td>La catégorie est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids total catégorisé</span></td><td>La somme des poids ventilés doit être strictement positive</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids total catégorisé</span></td><td>La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot</td><td>Sauf si le lot père n'a pas de poids</td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Lot catégorisé</td><td>Seuls les lots sélectionnés et dont le poids est renseigné sont conservés</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Benthos > Mensuration</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Type de mesure</span></td><td>La classe de taille est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Pas de classe de taille</span></td><td>Le pas de la classe de taille doit être strictement positif</td><td></td></tr> + <tr><td><span class="validation-fatal">Tableau</span></td><td>Au moins une classe de taille doit être observée</td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td>Pas de classe de taille<td></td><td></td></tr> + <tr><td>Tableau</td><td>Si une mensuration comporte un poids, toutes les mensurations doivent comporter un poids</td><td>Si l'utilisateur confirme, seules les mensurations avec poids sont conservées</td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Macro-déchets > Création d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Catégorie de déchets</span></td><td>La catégorie de déchet est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Catégorie de taille</span></td><td>La catégorie de taille est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Catégorie de déchets - Catégorie de taille</span></td><td>Couple (catégorie de déchet - catégorie de taille) déjà utilisée</td><td></td></tr> + <tr><td><span class="validation-fatal">Nombre</span></td><td>Le nombre est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Nombre</span></td><td>Le nombre doit être strictement positif</td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Nombre</td><td>est un entier</td><td></td></tr> + <tr><td>Poids</td><td>est un décimal dont le nombre de décimals maximum dépend de l'unité</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Macro-déchets > Création d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + + +<h2>Captures > Observations individuelles</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Espèce</span></td><td>L'espèce est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Poids</span></td><td>Le poids est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Taille</span></td><td>La taille est obligatoire</td><td></td></tr> + <tr><td><span class="validation-fatal">Classe de taille</span></td><td>La classe de taille est obligatoire</td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Poids</td><td>est un décimal dont le nombre de décimals maximum dépend de l'unité</td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Observations individuelles > Création d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal">Espèce</span></td><td>L'espèce est obligatoire</td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td>Sexe</td><td>Valeur contrainte par le psfm TODO</td><td></td></tr> + <tr><td>Poids</td><td>est un décimal dont le nombre de décimals maximum dépend de l'unité</td><td></td></tr> + <tr><td>Taille</td><td>est un décimal avec au maximum 4 décimales</td><td></td></tr> + <tr><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td></td></tr> + <tr><td>Mort ou vivant</td><td>Valeur contrainte par le psfm TODO</td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Captures accidentelles</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h3>Mode validation</h3> +<strong>TODO</strong> + +<h2>Captures > Captures accidentelles > Création d'un lot</h2> +<h3>Mode édition</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Niveau - Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr> + </tbody> +</table> +<h3>Mode édition (règles induites par l'interface graphique)</h3> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Suppression des poids en double</h2> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +<h2>Captures > Élévation des poids</h2> +<table class='table table-bordered table-striped table-hover table-condensed'> + <thead> + <tr> + <th>Champs</th> + <th>Règle</th> + <th>Commentaire</th> + </tr> + </thead> + <tbody> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + <tr><td></td><td></td><td></td></tr> + </tbody> +</table> + +</div> +</body> +</html> \ No newline at end of file Property changes on: trunk/tutti-ui-swing/src/main/help/fr/validation.html ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Copied: trunk/tutti-ui-swing/src/main/help/img/error.png (from rev 1586, trunk/tutti-ui-swing/src/main/resources/icons/error.png) =================================================================== (Binary files differ) Copied: trunk/tutti-ui-swing/src/main/help/img/fatal.png (from rev 1586, trunk/tutti-ui-swing/src/main/resources/icons/fatal.png) =================================================================== (Binary files differ) Copied: trunk/tutti-ui-swing/src/main/help/img/info.png (from rev 1586, trunk/tutti-ui-swing/src/main/resources/icons/info.png) =================================================================== (Binary files differ) Copied: trunk/tutti-ui-swing/src/main/help/img/warning.png (from rev 1586, trunk/tutti-ui-swing/src/main/resources/icons/warning.png) =================================================================== (Binary files differ) Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml 2014-02-11 17:48:01 UTC (rev 1588) +++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml 2014-02-11 18:41:35 UTC (rev 1589) @@ -29,7 +29,8 @@ <field name="species"> <field-validator type="required" short-circuit="true"> - <message>tutti.validator.error.createSpeciesBatch.species.required + <message> + tutti.validator.error.createSpeciesBatch.species.required </message> </field-validator> <field-validator type="fieldexpression" short-circuit="true"> Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml 2014-02-11 17:48:01 UTC (rev 1588) +++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml 2014-02-11 18:41:35 UTC (rev 1589) @@ -29,7 +29,8 @@ <field name="species"> <field-validator type="required" short-circuit="true"> - <message>tutti.validator.error.createSpeciesBatch.species.required + <message> + tutti.validator.error.createSpeciesBatch.species.required </message> </field-validator> <field-validator type="fieldexpression" short-circuit="true">