Tutti-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
February 2014
- 6 participants
- 64 discussions
13 Feb '14
Author: tchemit
Date: 2014-02-13 09:20:41 +0100 (Thu, 13 Feb 2014)
New Revision: 1594
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1594
Log:
refs #4428: [SPECS] R?\195?\168gles de validation
Modified:
trunk/tutti-ui-swing/src/main/help/fr/validation.html
Modified: trunk/tutti-ui-swing/src/main/help/fr/validation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-13 08:03:45 UTC (rev 1593)
+++ trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-13 08:20:41 UTC (rev 1594)
@@ -77,8 +77,6 @@
Le mode validation contient en fait exactement les même règles que le mode édition, en remontant la priorité des types
de message : les avertissements deviennent des erreurs.
-<strong>A Complêter</strong>
-
<h3>Format des nombres</h3>
<p>On distingue différentes précisions de nombre</p>
<table class='table table-bordered table-striped table-hover table-condensed'>
1
0
13 Feb '14
Author: tchemit
Date: 2014-02-13 09:03:45 +0100 (Thu, 13 Feb 2014)
New Revision: 1593
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1593
Log:
refs #4428: [SPECS] R?\195?\168gles de validation
Modified:
trunk/tutti-ui-swing/src/main/help/fr/validation.html
Modified: trunk/tutti-ui-swing/src/main/help/fr/validation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-13 06:53:18 UTC (rev 1592)
+++ trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-13 08:03:45 UTC (rev 1593)
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<html lang="fr">
+<html lang="fr" xmlns="http://www.w3.org/1999/html">
<head>
<!--
#%L
@@ -75,7 +75,7 @@
</ul>
Le mode validation contient en fait exactement les même règles que le mode édition, en remontant la priorité des types
-de message : les avvertissements deviennent des erreurs.
+de message : les avertissements deviennent des erreurs.
<strong>A Complêter</strong>
@@ -89,18 +89,18 @@
</tr>
</thead>
<tbody>
- <tr><td>Entier</td><td>Nombre entier signé</td></tr>
- <tr><td>Entier positif</td><td>Nombre entier positif</td></tr>
- <tr><td>Décimal</td><td>Nombre décimal signé sans restriction sur la précision</td></tr>
- <tr><td>Décimal (xxx)</td><td>Nombre décimal positif avec une précision de <i>xxx</i> décimale(s)</td></tr>
- <tr><td>Décimal (position)</td><td>Nombre décimal signé avec une précision de deux décimales (utilisé pour les DD)</td></tr>
- <tr><td>Décimal (poids Kg)</td><td>Nombre décimal positif avec une précision de quatre décimales</td></tr>
- <tr><td>Décimal (poids g)</td><td>Nombre décimal positif avec une précision d'une décimale</td></tr>
- <tr><td>Poids espèces</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>espèces</i></td></tr>
- <tr><td>Poids benthos</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>benthos</i></td></tr>
- <tr><td>Poids macro déchets</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>macro-déchets</i></td></tr>
- <tr><td>Poids observations individuelles</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>observation individuelles</i></td></tr>
- <tr><td>Poids captures accidentelles</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>captures accidentelles</i></td></tr>
+ <tr><td><a id="integer"></a>Entier</td><td>Nombre entier signé</td></tr>
+ <tr><td><a id="positif_integer"></a>Entier positif</td><td>Nombre entier positif</td></tr>
+ <tr><td><a id="decimal"></a>Décimal</td><td>Nombre décimal signé sans restriction sur la précision</td></tr>
+ <tr><td><a id="limited_decimal"></a>Décimal (xxx)</td><td>Nombre décimal positif avec une précision de <i>xxx</i> décimale(s)</td></tr>
+ <tr><td><a id="decimal_position"></a>Position (format DD)</td><td>Nombre décimal signé avec une précision de deux décimales (utilisé pour les DD)</td></tr>
+ <tr><td><a id="kg_weight"></a>Poids Kg</td><td>Nombre décimal positif avec une précision de quatre décimales</td></tr>
+ <tr><td><a id="g_weight"></a>Poids g</td><td>Nombre décimal positif avec une précision d'une décimale</td></tr>
+ <tr><td><a id="species_weight"></a>Poids espèces</td><td><a href="#kg_weight">Poids Kg</a> ou <a href="#g_weight">Poids g</a> selon l'unité choisie pour <i>espèces</i></td></tr>
+ <tr><td><a id="benthos_weight"></a>Poids benthos</td><td><a href="#kg_weight">Poids Kg</a> ou <a href="#g_weight">Poids g</a> selon l'unité choisie pour <i>benthos</i></td></tr>
+ <tr><td><a id="marinelitter_weight"></a>Poids macro déchets</td><td><a href="#kg_weight">Poids Kg</a> ou <a href="#g_weight">Poids g</a> selon l'unité choisie pour <i>macro-déchets</i></td></tr>
+ <tr><td><a id="individual_observation_weight"></a>Poids observations individuelles</td><td><a href="#kg_weight">Poids Kg</a> ou <a href="#g_weight">Poids g</a> selon l'unité choisie pour <i>observation individuelles</i></td></tr>
+ <tr><td><a id="accidental_catch_weight"></a>Poids captures accidentelles</td><td><a href="#kg_weight">Poids Kg</a> ou <a href="#g_weight">Poids g</a> selon l'unité choisie pour <i>captures accidentelles</i></td></tr>
</tbody>
</table>
@@ -182,7 +182,7 @@
<tbody>
<tr><td>Port de départ</td><td>Une localité de type port</td><td></td></tr>
<tr><td>Port d'arrivée</td><td>Une localité de type port</td><td></td></tr>
- <tr><td>Nombre de poches</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Nombre de poches</td><td><a href="#positif_integer">Entier positif</a></td><td></td></tr>
<tr><td>Chef(s) de mission</td><td>Doublon impossible</td><td></td></tr>
<tr><td>Responsable(s) de salle de tri</td><td>Doublon impossible</td><td></td></tr>
</tbody>
@@ -270,19 +270,19 @@
</tr>
</thead>
<tbody>
- <tr><td>Numéro de trait</td><td>Entier</td><td></td></tr>
- <tr><td>Numéro de poche</td><td>Entier</td><td></td></tr>
- <tr><td>Latitude de début de traine</td><td>Décimal (position)</td><td></td></tr>
- <tr><td>Longitude de début de traine</td><td>Décimal (position)</td><td></td></tr>
- <tr><td>Latitude de fin de traine</td><td>Décimal (position)</td><td></td></tr>
- <tr><td>Longitude de fin de traine</td><td>Décimal (position)</td><td></td></tr>
+ <tr><td>Numéro de trait</td><td><a href="#integer">Entier</a></td><td></td></tr>
+ <tr><td>Numéro de poche</td><td><a href="#integer">Entier</a></td><td></td></tr>
+ <tr><td>Latitude de début de traine</td><td><a href="#decimal_position">Position (format DD)</a></td><td></td></tr>
+ <tr><td>Longitude de début de traine</td><td><a href="#decimal_position">Position (format DD)</a></td><td></td></tr>
+ <tr><td>Latitude de fin de traine</td><td><a href="#decimal_position">Position (format DD)</a></td><td></td></tr>
+ <tr><td>Longitude de fin de traine</td><td><a href="#decimal_position">Position (format DD)</a></td><td></td></tr>
<tr><td>Strate</td><td>Une localité de type strate</td><td></td></tr>
<tr><td>Sous-strate</td><td>Une localité de type sous-strate</td><td></td></tr>
<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>Une localité de type localité</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>Entier</td></tr>
+ <tr><td>Distance chalutée</td><td><a href="#integer">Entier</a></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>
@@ -363,7 +363,7 @@
</thead>
<tbody>
<tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr>
- <tr><td>Valeur</td><td>Décimal (si caractéristique de type nombre)</td><td></td></tr>
+ <tr><td>Valeur</td><td><a href="#decimal">Décimal</a> (si caractéristique de type nombre)</td><td></td></tr>
<tr><td>Valeur</td><td>Valeur parmis l'univers qualitatif (si caractéristique de type qualitatif)</td><td></td></tr>
</tbody>
</table>
@@ -399,7 +399,7 @@
</thead>
<tbody>
<tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr>
- <tr><td>Valeur</td><td>Décimal (si caractéristique de type nombre)</td><td></td></tr>
+ <tr><td>Valeur</td><td><a href="#decimal">Décimal</a> (si caractéristique de type nombre)</td><td></td></tr>
<tr><td>Valeur</td><td>Valeur parmis l'univers qualitatif (si caractéristique de type qualitatif)</td><td></td></tr>
</tbody>
</table>
@@ -422,18 +422,18 @@
</tr>
</thead>
<tbody>
- <tr><td>Capture > Poids TOTAL</td><td>Décimal (poids Kg)</td><td></td></tr>
- <tr><td>Capture > Poids total NON TRIÉ </td><td>Décimal (poids Kg)</td><td></td></tr>
- <tr><td>Espèces > Poids total VRAC</td><td>Poids espèces</td><td></td></tr>
- <tr><td>Benthos > Poids total VRAC</td><td>Poids benthos</td><td></td></tr>
- <tr><td>Macro déchets > Poids total VRAC</td><td>Poids macro déchets</td><td></td></tr>
+ <tr><td>Capture > Poids TOTAL</td><td><a href="#kg_weight">Poids Kg</a></td><td></td></tr>
+ <tr><td>Capture > Poids total NON TRIÉ </td><td><a href="#kg_weight">Poids Kg</a></td><td></td></tr>
+ <tr><td>Espèces > Poids total VRAC</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
+ <tr><td>Benthos > Poids total VRAC</td><td><a href="#benthos_weight">Poids benthos</a></td><td></td></tr>
+ <tr><td>Macro déchets > Poids total VRAC</td><td><a href="#marinelitter_weight">Poids macro déchets</a></td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
<p>Les règles sont induites par l'élévation des poids.</p>
-<h2>Captures > Espèces</h2>
+<h2><a id="species_catch"></a>Captures > Espèces</h2>
<h3>Mode édition</h3>
<p>Les règles sont induites par l'élévation des poids.</p>
@@ -461,19 +461,19 @@
</tr>
</thead>
<tbody>
- <tr><td>Poids total VRAC</td><td>Poids espèces</td><td></td></tr>
- <tr><td>Poids interte trié</td><td>Poids espèces</td><td></td></tr>
- <tr><td>Poids vivant non détaillé trié</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Poids total VRAC</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
+ <tr><td>Poids interte trié</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
+ <tr><td>Poids vivant non détaillé trié</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
<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>Poids dans le tableau</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Poids dans le tableau</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
<p>Les règles sont induites par l'élévation des poids.</p>
-<h2>Captures > Espèces > Création d'un lot</h2>
+<h2><a id="species_catch_create"></a>Captures > Espèces > Création d'un lot</h2>
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
@@ -504,15 +504,15 @@
</tr>
</thead>
<tbody>
- <tr><td>Poids du lot</td><td>Poids espèces</td><td></td></tr>
- <tr><td>Nombre</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Poids du lot</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
+ <tr><td>Nombre</td><td><a href="#positif_integer">Entier positif</a></td><td></td></tr>
<tr><td>Catégorie</td><td>Catégorie obligatoire</td><td>Si non renseigné alors pas de catégorisation à ce niveau</td></tr>
<tr><td>Tableau > 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>Tableau > Poids</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
</tbody>
</table>
-<h2>Captures > Espèces > Catégorisation d'un lot</h2>
+<h2><a id="species_catch_categorize"></a>Captures > Espèces > Catégorisation d'un lot</h2>
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
@@ -541,13 +541,11 @@
</thead>
<tbody>
<tr><td>Tableau > 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>Tableau > Poids</td><td>Poids espèces</td><td></td></tr>
- <tr><td></td><td></td><td></td></tr>
- <tr><td></td><td></td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
</tbody>
</table>
-<h2>Captures > Espèces > Mensuration</h2>
+<h2><a id="species_catch_frequency"></a>Captures > Espèces > Mensuration</h2>
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
@@ -575,14 +573,14 @@
</tr>
</thead>
<tbody>
- <tr><td>Classe min</td><td>Entier positif</td></tr>
- <tr><td>Classe max</td><td>Entier positif</td></tr>
- <tr><td>Pas de classe de taille</td><td>Décimal (1)</td></tr>
+ <tr><td>Classe min</td><td><a href="#positif_integer">Entier positif</a></td></tr>
+ <tr><td>Classe max</td><td><a href="#positif_integer">Entier positif</a></td></tr>
+ <tr><td>Pas de classe de taille</td><td><a href="#limited_decimal">Décimal (1)</a></td></tr>
<tr><td>Tableau > Mensuration</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>Tableau > Classe de taille</td><td>Décimal (1)</td><td></td></tr>
- <tr><td>Tableau > Nombre</td><td>Entier positif</td><td></td></tr>
- <tr><td>Tableau > Poids</td><td>Poids espèces</td><td></td></tr>
- <tr><td>Nombre</td><td>Entier</td><td>(Uniquement en mode simple dénombrement)</td></tr>
+ <tr><td>Tableau > Classe de taille</td><td><a href="#limited_decimal">Décimal (1)</a></td><td></td></tr>
+ <tr><td>Tableau > Nombre</td><td><a href="#positif_integer">Entier positif</a></td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td><a href="#species_weight">Poids espèces</a></td><td></td></tr>
+ <tr><td>Nombre</td><td><a href="#integer">Entier</a></td><td>(Uniquement en mode simple dénombrement)</td></tr>
</tbody>
</table>
@@ -590,16 +588,16 @@
<p>Les règles sont induites par l'élévation des poids.</p>
<h2>Captures > Benthos</h2>
-<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+<p>Identique à <a href="#species_catch">Captures > Espèces</a> en utilisant <i><a href="#benthos_weight">Poids benthos</a></i> au lieu de <i><a href="#species_weight">Poids espèces</a></i>.</p>
<h2>Captures > Benthos > Création d'un lot</h2>
-<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+<p>Identique à <a href="#species_catch_create">Captures > Espèces > Création d'un lot</a> en utilisant <i><a href="#benthos_weight">Poids benthos</a></i> au lieu de <i><a href="#species_weight">Poids espèces</a></i>.</p>
<h2>Captures > Benthos > Catégorisation d'un lot</h2>
-<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+<p>Identique à <a href="#species_catch_categorize">Captures > Espèces > Catégorisation d'un lot</a> en utilisant <i><a href="#benthos_weight">Poids benthos</a></i> au lieu de <i><a href="#species_weight">Poids espèces</a></i>.</p>
<h2>Captures > Espèces > Mensuration</h2>
-<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+<p>Identique à <a href="#species_catch_frequency">Captures > Espèces > Mensuration</a> en utilisant <i><a href="#benthos_weight">Poids benthos</a></i> au lieu de <i><a href="#species_weight">Poids espèces</a></i>.</p>
<h2>Captures > Macro-déchets</h2>
@@ -630,9 +628,9 @@
</tr>
</thead>
<tbody>
- <tr><td>Poids total</td><td>Poids macro déchets</td><td></td></tr>
- <tr><td>Tableau > Nombre</td><td>Entier positif</td><td></td></tr>
- <tr><td>Tableau > Poids</td><td>Poids macro déchets</td><td></td></tr>
+ <tr><td>Poids total</td><td><a href="#marinelitter_weight">Poids macro déchets</a></td><td></td></tr>
+ <tr><td>Tableau > Nombre</td><td><a href="#positif_integer">Entier positif</a></td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td><a href="#marinelitter_weight">Poids macro déchets</a></td><td></td></tr>
</tbody>
</table>
@@ -669,8 +667,8 @@
</tr>
</thead>
<tbody>
- <tr><td>Nombre</td><td>Entier positif</td><td></td></tr>
- <tr><td>Poids</td><td>Poids macro déchets</td><td></td></tr>
+ <tr><td>Nombre</td><td><a href="#positif_integer">Entier positif</a></td><td></td></tr>
+ <tr><td>Poids</td><td><a href="#marinelitter_weight">Poids macro déchets</a></td><td></td></tr>
</tbody>
</table>
@@ -703,8 +701,9 @@
</tr>
</thead>
<tbody>
- <tr><td>Tableau > Poids</td><td>Poids observations individuelles</td><td></td></tr>
- <tr><td>Tableau > Taille</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td><a href="#individual_observation_weight">Poids observations individuelles</a></td><td></td></tr>
+ <tr><td>Tableau > Taille</td><td><a href="#positif_integer">Entier positif</a></td><td></td></tr>
+ <tr class="danger"><td>Tableau > Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td></td></tr>
</tbody>
</table>
@@ -740,12 +739,45 @@
</tr>
</thead>
<tbody>
- <tr><td>Poids</td><td>Poids observations individuelles</td><td></td></tr>
- <tr><td>Taille</td><td>Décimal</td><td></td></tr>
- <tr><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td>A revalider</td></tr>
+ <tr><td>Poids</td><td><a href="#individual_observation_weight">Poids observations individuelles</a></td><td></td></tr>
+ <tr><td>Taille</td><td><a href="#decimal">Décimal</a></td><td></td></tr>
+ <tr class="danger"><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td></td></tr>
</tbody>
</table>
+<h2>Captures > Observations individuelles > Autres caractéristiques</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>
+ <tr><td>Valeur</td><td><a href="#decimal">Décimal</a> (si caractéristique de type nombre)</td><td></td></tr>
+ <tr><td>Valeur</td><td>Valeur parmis l'univers qualitatif (si caractéristique de type qualitatif)</td><td></td></tr>
+ </tbody>
+</table>
+
<h2>Captures > Captures accidentelles</h2>
<h3>Mode édition</h3>
@@ -772,10 +804,10 @@
</tr>
</thead>
<tbody>
- <tr><td>Tableau > Poids observé</td><td>Poids captures accidentelles</td><td></td></tr>
+ <tr><td>Tableau > Poids observé</td><td><a href="#accidental_catch_weight">Poids captures accidentelles</a></td><td></td></tr>
<tr><td>Tableau > Sexe</td><td>Valeur qualitative de la caractéristique <i>Sexe</i></td><td></td></tr>
- <tr><td>Tableau > Taille</td><td>Décimal (3)</td><td></td></tr>
- <tr><td>Tableau > Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td>A revalider</td></tr>
+ <tr><td>Tableau > Taille</td><td><a href="#limited_decimal">Décimal (3)</a></td><td></td></tr>
+ <tr class="danger"><td>Tableau > Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td></td></tr>
<tr><td>Tableau > Mort ou vivant</td><td>Valeur qualitative de la caractéristique <i>Mort ou vivant</i></td><td></td></tr>
</tbody>
</table>
@@ -809,32 +841,32 @@
</tr>
</thead>
<tbody>
- <tr><td>Poids observé</td><td>Poids captures accidentelles</td><td></td></tr>
+ <tr><td>Poids observé</td><td><a href="#accidental_catch_weight">Poids captures accidentelles</a></td><td></td></tr>
<tr><td>Sexe</td><td>Valeur qualitative de la caractéristique <i>Sexe</i></td><td></td></tr>
- <tr><td>Taille</td><td>Décimal (3)</td><td></td></tr>
- <tr><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td>A revalider</td></tr>
+ <tr><td>Taille</td><td><a href="#limited_decimal">Décimal (3)</a></td><td></td></tr>
+ <tr class="danger"><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td></td></tr>
<tr><td>Mort ou vivant</td><td>Valeur qualitative de la caractéristique <i>Mort ou vivant</i></td><td></td></tr>
</tbody>
</table>
-<h2>Captures > Suppression des poids en double</h2>
+<h2>Captures > Captures accidentelles > Autres caractéristiques</h2>
+
+<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
- <th>Champs</th>
+ <th>Niveau - 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>
+ <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>
-<h2>Captures > Élévation des poids</h2>
+<h3>Mode édition (règles induites par l'interface graphique)</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
@@ -844,13 +876,57 @@
</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>
+ <tr><td>Caractéristique</td><td>Doublon impossible</td><td></td></tr>
+ <tr><td>Valeur</td><td><a href="#decimal">Décimal</a> (si caractéristique de type nombre)</td><td></td></tr>
+ <tr><td>Valeur</td><td>Valeur parmis l'univers qualitatif (si caractéristique de type qualitatif)</td><td></td></tr>
</tbody>
</table>
+<h2>Captures > Supprimer les poids</h2>
+
+<p>Ensemble des règles utilisées lors de l'opération <i>Supprimer les poids</i>.</p>.
+<table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Règle</th>
+ <th>Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr><td>Le poids de la catégorie vaut celui de la catégorie supérieure</td><td></td></tr>
+ <tr><td>Le poids du sous-échantillon vaut la somme des poids des échantillons mesurés</td><td></td></tr>
+ <tr><td>Le poids de sous-échantillon vaut celui de la plus fine catégorie</td><td></td></tr>
+ </tbody>
+</table>
+
+<h2>Captures > Élever les poids</h2>
+
+<p>Ensemble des règles utilisées lors de l'opération <i>Élever les poids</i>.</p>.
+<table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Type</th>
+ <th>Règle</th>
+ <th>Commentaire</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr><td>Capture</td><td>Le poids total de la capture ne correspond pas à la somme des poids totaux Vrac, Hors Vrac et non triés</td><td></td></tr>
+ <tr><td>Espèces</td><td>Le poids total Vrac des espèces est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié</td><td></td></tr>
+ <tr><td>Espèces</td><td>Le poids d'un lot est inférieur à la somme des poids de ses sous-catégories</td><td></td></tr>
+ <tr><td>Espèces</td><td>Le poids total des mensurations d'un lot est différent du poids du sous-échantillon</td><td></td></tr>
+ <tr><td>Espèces</td><td>Le poids total des mensurations d'un lot est supérieur au poids de la catégorie</td><td></td></tr>
+ <tr><td>Espèces</td><td>Le lot n'a pas de poids</td><td></td></tr>
+ <tr><td>Benthos</td><td>Le poids total Vrac du benthos est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié</td><td></td></tr>
+ <tr><td>Benthos</td><td>Le poids d'un lot est inférieur à la somme des poids de ses sous-catégories</td><td></td></tr>
+ <tr><td>Benthos</td><td>Le poids total des mensurations d'un lot est différent du poids du sous-échantillon</td><td></td></tr>
+ <tr><td>Benthos</td><td>Le poids total des mensurations d'un lot est supérieur au poids de la catégorie</td><td></td></tr>
+ <tr><td>Benthos</td><td>Le lot n'a pas de poids</td><td></td></tr>
+ <tr><td>Macro déchets</td><td>Le poids total des macro-déchets est inférieur à la somme des poids des macro-déchets saisis</td><td></td></tr>
+ <tr><td>Macro déchets</td><td>Vous devez saisir la valeur du poids total des déchets ou le poids de chacune des catégories observées.</td><td></td></tr>
+ </tbody>
+</table>
+
</div>
</body>
</html>
\ No newline at end of file
1
0
13 Feb '14
Author: tchemit
Date: 2014-02-13 07:53:18 +0100 (Thu, 13 Feb 2014)
New Revision: 1592
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1592
Log:
refs #4428: [SPECS] R?\195?\168gles de validation
Modified:
trunk/tutti-ui-swing/src/main/help/fr/validation.html
Modified: trunk/tutti-ui-swing/src/main/help/fr/validation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-12 17:30:49 UTC (rev 1591)
+++ trunk/tutti-ui-swing/src/main/help/fr/validation.html 2014-02-13 06:53:18 UTC (rev 1592)
@@ -38,18 +38,19 @@
<div class="container">
<div class="page-header">
- <h1>Règles de validation</h1>
+<h1>Règles de validation</h1>
</div>
- <h2>Préambule</h2>
+<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>
+<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>
@@ -66,17 +67,46 @@
</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>
+<h3>Mode de validation</h3>
+<p>On distingue deux modes distincts de validation :</p>
+<ul>
+ <li>Mode édition (pour tous les écrans de saisie)</li>
+ <li>Mode validation (pour les écrans de saisi des traits et captures)</li>
+</ul>
- <strong>A Complêter</strong>
+Le mode validation contient en fait exactement les même règles que le mode édition, en remontant la priorité des types
+de message : les avvertissements deviennent des erreurs.
+
+<strong>A Complêter</strong>
+
+<h3>Format des nombres</h3>
+<p>On distingue différentes précisions de nombre</p>
+<table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Type de nombre</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr><td>Entier</td><td>Nombre entier signé</td></tr>
+ <tr><td>Entier positif</td><td>Nombre entier positif</td></tr>
+ <tr><td>Décimal</td><td>Nombre décimal signé sans restriction sur la précision</td></tr>
+ <tr><td>Décimal (xxx)</td><td>Nombre décimal positif avec une précision de <i>xxx</i> décimale(s)</td></tr>
+ <tr><td>Décimal (position)</td><td>Nombre décimal signé avec une précision de deux décimales (utilisé pour les DD)</td></tr>
+ <tr><td>Décimal (poids Kg)</td><td>Nombre décimal positif avec une précision de quatre décimales</td></tr>
+ <tr><td>Décimal (poids g)</td><td>Nombre décimal positif avec une précision d'une décimale</td></tr>
+ <tr><td>Poids espèces</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>espèces</i></td></tr>
+ <tr><td>Poids benthos</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>benthos</i></td></tr>
+ <tr><td>Poids macro déchets</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>macro-déchets</i></td></tr>
+ <tr><td>Poids observations individuelles</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>observation individuelles</i></td></tr>
+ <tr><td>Poids captures accidentelles</td><td>Décimal (poids Kg) ou Décimal (poids g) selon l'unité choisie pour <i>captures accidentelles</i></td></tr>
+ </tbody>
+</table>
+
<h2>Série de campagne</h2>
- <h3>Mode édition</h3>
+<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
@@ -93,126 +123,7 @@
<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>
@@ -223,14 +134,15 @@
</tr>
</thead>
<tbody>
- <tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr>
+ <tr><td>Zone</td><td>Une localité de type zone</td><td></td></tr>
</tbody>
</table>
- <h3>Mode validation</h3>
- <strong>TODO</strong>
+<h3>Mode validation</h3>
+<p>Pas de règle.</p>
-<h2>Trait > Autres paramètres</h2>
+<h2>Campagne</h2>
+
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -241,10 +153,23 @@
</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>
+ <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 de départ</span></td><td>Le port d'embarquement est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Port d'arrivée</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>Taille de la description trop longue (limitée à 2000 caractères)</td><td></td></tr>
+ <tr><td><span class="validation-warning">Nom</span></td><td>Le format n'est pas celui attendu ...</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>
@@ -255,14 +180,19 @@
</tr>
</thead>
<tbody>
- <tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr>
+ <tr><td>Port de départ</td><td>Une localité de type port</td><td></td></tr>
+ <tr><td>Port d'arrivée</td><td>Une localité de type port</td><td></td></tr>
+ <tr><td>Nombre de poches</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Chef(s) de mission</td><td>Doublon impossible</td><td></td></tr>
+ <tr><td>Responsable(s) de salle de tri</td><td>Doublon impossible</td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Pas de règle.</p>
-<h2>Captures > Résumé</h2>
+<h2>Protocole</h2>
+
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -273,29 +203,17 @@
</tr>
</thead>
<tbody>
- <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr>
+ <tr><td><span class="validation-fatal">Nom</span></td><td>Le nom du protocole est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Nom</span></td><td>Le nom du protocole est déjà utilisé</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Commentaire</span></td><td>Taille de la description trop longue (limitée à 2000 caractères)</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>
+<p>Pas de règle.</p>
-<h2>Captures > Espèces</h2>
+<h2>Trait > Trait</h2>
+
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -306,9 +224,42 @@
</tr>
</thead>
<tbody>
- <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr>
+ <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 - fin de traine</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-error">Date de fin de traine</span></td><td>Les dates ne peuvent pas être identiques si les positions sont différentes</td><td></td></tr>
+ <tr><td><span class="validation-error">Date de fin de traine</span></td><td>Si les positions sont identiques, les dates ne peuvent être identiques</td><td></td></tr>
+ <tr><td><span class="validation-error">Commentaire</span></td><td>Taille de la description trop longue (limitée à 2000 caractères)</td><td></td></tr>
+ <tr><td><span class="validation-warning">Strate</span></td><td>La strate, sous-strate ou localité doit être renseignée</td><td></td></tr>
+ <tr><td><span class="validation-warning">sous-strate</span></td><td>La strate, sous-strate ou localité doit être renseignée</td><td></td></tr>
+ <tr><td><span class="validation-warning">Localité</span></td><td>La strate, sous-strate ou localité doit être renseignée</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de début de traine</span></td><td>La date de début est en dehors des dates de la campagne</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de début de traine</span></td><td>La durée du trait dépasse 45 minutes ou est inférieure à 20 minutes, merci de vérifier les dates/heures du trait</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>La date de la fin du trait est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>La date de fin est en dehors des dates de la campagne</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>La durée du trait dépasse 45 minutes ou est inférieure à 20 minutes, merci de vérifier les dates/heures du trait</td><td></td></tr>
+ <tr><td><span class="validation-warning">Latitude de début de traine</span></td><td>La latitude de début de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Latitude de début de traine</span></td><td>La Latitude doit être comprise entre -90.0 et 90.0</td><td></td></tr>
+ <tr><td><span class="validation-warning">Longitude de début de traine</span></td><td>La longitude de début de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Longitude de début de traine</span></td><td>La longitude doit être comprise entre -180.0 et 180.0</td><td></td></tr>
+ <tr><td><span class="validation-warning">Latitude de fin de traine</span></td><td>La latitude de fin de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Latitude de fin de traine</span></td><td>La Latitude doit être comprise entre -90.0 et 90.0</td><td></td></tr>
+ <tr><td><span class="validation-warning">Longitude de fin de traine</span></td><td>La longitude de fin de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Longitude de fin de traine</span></td><td>La longitude doit être comprise entre -180.0 et 180.0</td><td></td></tr>
+ <tr><td><span class="validation-warning">Distance chalutée</span></td><td>La distance du trait dépasse 3 milles marin (5556 m), merci de vérifier les coordonnées</td><td></td></tr>
+ <tr><td><span class="validation-warning">Opération valide</span></td><td>La validité du trait est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Saisisseur</span></td><td>Au moins un saisisseur est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Navire</span></td><td>Le navire est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Engin</span></td><td>L'engin est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Commentaire</span></td><td>Le commentaire est obligatoire si le trait est invalide</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>
@@ -319,16 +270,26 @@
</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>
+ <tr><td>Numéro de trait</td><td>Entier</td><td></td></tr>
+ <tr><td>Numéro de poche</td><td>Entier</td><td></td></tr>
+ <tr><td>Latitude de début de traine</td><td>Décimal (position)</td><td></td></tr>
+ <tr><td>Longitude de début de traine</td><td>Décimal (position)</td><td></td></tr>
+ <tr><td>Latitude de fin de traine</td><td>Décimal (position)</td><td></td></tr>
+ <tr><td>Longitude de fin de traine</td><td>Décimal (position)</td><td></td></tr>
+ <tr><td>Strate</td><td>Une localité de type strate</td><td></td></tr>
+ <tr><td>Sous-strate</td><td>Une localité de type sous-strate</td><td></td></tr>
+ <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>Une localité de type localité</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>Entier</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>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>
@@ -338,32 +299,44 @@
</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>
+ <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>La date de début est en dehors des dates de la campagne</td><td></td></tr>
+ <tr><td><span class="validation-error">Date de début - fin de traine</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-error">Date de fin de traine</span></td><td>Les dates ne peuvent pas être identiques si les positions sont différentes</td><td></td></tr>
+ <tr><td><span class="validation-error">Date de fin de traine</span></td><td>Si les positions sont identiques, les dates ne peuvent être identiques</td><td></td></tr>
+ <tr><td><span class="validation-error">Date de fin de traine</span></td><td>La date de la fin du trait est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Date de fin de traine</span></td><td>La date de fin est en dehors des dates de la campagne</td><td></td></tr>
+ <tr><td><span class="validation-error">Commentaire</span></td><td>Taille de la description trop longue (limitée à 2000 caractères)</td><td></td></tr>
+ <tr><td><span class="validation-error">Commentaire</span></td><td>Le commentaire est obligatoire si le trait est invalide</td><td></td></tr>
+ <tr><td><span class="validation-error">Strate</span></td><td>La strate, sous-strate ou localité doit être renseignée</td><td></td></tr>
+ <tr><td><span class="validation-error">sous-strate</span></td><td>La strate, sous-strate ou localité doit être renseignée</td><td></td></tr>
+ <tr><td><span class="validation-error">Localité</span></td><td>La strate, sous-strate ou localité doit être renseignée</td><td></td></tr> <tr><td><span class="validation-error">Latitude de début de traine</span></td><td>La latitude de début de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Latitude de début de traine</span></td><td>La Latitude doit être comprise entre -90.0 et 90.0</td><td></td></tr>
+ <tr><td><span class="validation-error">Longitude de début de traine</span></td><td>La longitude de début de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Longitude de début de traine</span></td><td>La longitude doit être comprise entre -180.0 et 180.0</td><td></td></tr>
+ <tr><td><span class="validation-error">Latitude de fin de traine</span></td><td>La latitude de fin de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Latitude de fin de traine</span></td><td>La Latitude doit être comprise entre -90.0 et 90.0</td><td></td></tr>
+ <tr><td><span class="validation-error">Longitude de fin de traine</span></td><td>La longitude de fin de traîne est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Longitude de fin de traine</span></td><td>La longitude doit être comprise entre -180.0 et 180.0</td><td></td></tr>
+ <tr><td><span class="validation-error">Distance chalutée</span></td><td>La distance est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Opération valide</span></td><td>La validité du trait est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Saisisseur</span></td><td>Au moins un saisisseur est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Navire</span></td><td>Le navire est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-error">Engin</span></td><td>L'engin est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de début de traine</span></td><td>La durée du trait dépasse 45 minutes ou est inférieure à 20 minutes, merci de vérifier les dates/heures du trait</td><td></td></tr>
+ <tr><td><span class="validation-warning">Date de fin de traine</span></td><td>La durée du trait dépasse 45 minutes ou est inférieure à 20 minutes, merci de vérifier les dates/heures du trait</td><td></td></tr>
+ <tr><td><span class="validation-warning">Distance chalutée</span></td><td>La distance du trait dépasse 3 milles marin (5556 m), merci de vérifier les coordonnées</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>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>
+<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>
@@ -374,11 +347,11 @@
</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>
+ <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>
@@ -389,14 +362,17 @@
</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>
+ <tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr>
+ <tr><td>Valeur</td><td>Décimal (si caractéristique de type nombre)</td><td></td></tr>
+ <tr><td>Valeur</td><td>Valeur parmis l'univers qualitatif (si caractéristique de type qualitatif)</td><td></td></tr>
</tbody>
</table>
-<h2>Captures > Espèces > Mensuration</h2>
+<h3>Mode validation</h3>
+<p>Pas de règle.</p>
+
+<h2>Trait > Autres paramètres</h2>
+
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -407,11 +383,11 @@
</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>
+ <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>
@@ -422,34 +398,21 @@
</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>
+ <tr><td>Caractéristique</td><td>doublon impossible</td><td></td></tr>
+ <tr><td>Valeur</td><td>Décimal (si caractéristique de type nombre)</td><td></td></tr>
+ <tr><td>Valeur</td><td>Valeur parmis l'univers qualitatif (si caractéristique de type qualitatif)</td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Pas de règle.</p>
-<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 > Résumé</h2>
-<h2>Captures > Espèces > Import Psion</h2>
+<h3>Mode édition</h3>
+<p>Les règles sont induites par l'élévation des poids.</p>
+
+<h3>Mode édition (règles induites par l'interface graphique)</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
@@ -459,15 +422,22 @@
</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>
+ <tr><td>Capture > Poids TOTAL</td><td>Décimal (poids Kg)</td><td></td></tr>
+ <tr><td>Capture > Poids total NON TRIÉ </td><td>Décimal (poids Kg)</td><td></td></tr>
+ <tr><td>Espèces > Poids total VRAC</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Benthos > Poids total VRAC</td><td>Poids benthos</td><td></td></tr>
+ <tr><td>Macro déchets > Poids total VRAC</td><td>Poids macro déchets</td><td></td></tr>
</tbody>
</table>
-<h2>Captures > Benthos</h2>
+<h3>Mode validation</h3>
+<p>Les règles sont induites par l'élévation des poids.</p>
+
+<h2>Captures > Espèces</h2>
+
<h3>Mode édition</h3>
+<p>Les règles sont induites par l'élévation des poids.</p>
+
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
@@ -480,6 +450,7 @@
<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>
@@ -490,15 +461,20 @@
</tr>
</thead>
<tbody>
+ <tr><td>Poids total VRAC</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Poids interte trié</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Poids vivant non détaillé trié</td><td>Poids espèces</td><td></td></tr>
<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>
+ <tr><td>Poids dans le tableau</td><td>Poids espèces</td><td></td></tr>
</tbody>
</table>
+
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Les règles sont induites par l'élévation des poids.</p>
-<h2>Captures > Benthos > Création d'un lot</h2>
+<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>
@@ -517,6 +493,7 @@
<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>
@@ -527,14 +504,16 @@
</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>
+ <tr><td>Poids du lot</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Nombre</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Catégorie</td><td>Catégorie obligatoire</td><td>Si non renseigné alors pas de catégorisation à ce niveau</td></tr>
+ <tr><td>Tableau > 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>Tableau > Poids</td><td>Poids espèces</td><td></td></tr>
</tbody>
</table>
-<h2>Captures > Benthos > Catégorisation d'un lot</h2>
+<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>
@@ -550,6 +529,7 @@
<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>
@@ -560,14 +540,15 @@
</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>Tableau > 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>Tableau > Poids</td><td>Poids espèces</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>
+<h2>Captures > Espèces > Mensuration</h2>
+
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -583,6 +564,7 @@
<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>
@@ -593,18 +575,36 @@
</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>
+ <tr><td>Classe min</td><td>Entier positif</td></tr>
+ <tr><td>Classe max</td><td>Entier positif</td></tr>
+ <tr><td>Pas de classe de taille</td><td>Décimal (1)</td></tr>
+ <tr><td>Tableau > Mensuration</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>Tableau > Classe de taille</td><td>Décimal (1)</td><td></td></tr>
+ <tr><td>Tableau > Nombre</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td>Poids espèces</td><td></td></tr>
+ <tr><td>Nombre</td><td>Entier</td><td>(Uniquement en mode simple dénombrement)</td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Les règles sont induites par l'élévation des poids.</p>
-<h2>Captures > Macro-déchets > Création d'un lot</h2>
+<h2>Captures > Benthos</h2>
+<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+
+<h2>Captures > Benthos > Création d'un lot</h2>
+<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+
+<h2>Captures > Benthos > Catégorisation d'un lot</h2>
+<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+
+<h2>Captures > Espèces > Mensuration</h2>
+<p>Identique à captures > Espèces en utilisant <i>Poids benthos</i> au lieu de <i>Poids espèces</i></p>
+
+<h2>Captures > Macro-déchets</h2>
+
<h3>Mode édition</h3>
+<p>Les règles sont induites par l'élévation des poids.</p>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
@@ -614,13 +614,12 @@
</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>
+ <tr><td><span class="validation-fatal">Tableau > Catégorie</span></td><td>Catégorie obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Tableau > Catégorie de taille</span></td><td>La catégorie de taille est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Tableau > Nombre</span></td><td>Le nombre 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>
@@ -631,17 +630,17 @@
</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>
+ <tr><td>Poids total</td><td>Poids macro déchets</td><td></td></tr>
+ <tr><td>Tableau > Nombre</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Tableau > Poids</td><td>Poids macro déchets</td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Les règles sont induites par l'élévation des poids.</p>
<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>
@@ -652,9 +651,14 @@
</tr>
</thead>
<tbody>
- <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr>
+ <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>
@@ -665,15 +669,13 @@
</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>
+ <tr><td>Nombre</td><td>Entier positif</td><td></td></tr>
+ <tr><td>Poids</td><td>Poids macro déchets</td><td></td></tr>
</tbody>
</table>
+<h2>Captures > Observations individuelles</h2>
-<h2>Captures > Observations individuelles</h2>
<h3>Mode édition</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -684,12 +686,13 @@
</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>
+ <tr><td><span class="validation-fatal">Tableau > Espèce</span></td><td>L'espèce est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Tableau > Poids</span></td><td>Le poids est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Tableau > Taille</span></td><td>La taille est obligatoire</td><td></td></tr>
+ <tr><td><span class="validation-fatal">Tableau > 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>
@@ -700,17 +703,16 @@
</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>
+ <tr><td>Tableau > Poids</td><td>Poids observations individuelles</td><td></td></tr>
+ <tr><td>Tableau > Taille</td><td>Entier positif</td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Pas de règle supplémentaire.</p>
<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>
@@ -722,8 +724,12 @@
</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>
@@ -734,15 +740,14 @@
</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>
+ <tr><td>Poids</td><td>Poids observations individuelles</td><td></td></tr>
+ <tr><td>Taille</td><td>Décimal</td><td></td></tr>
+ <tr><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td>A revalider</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>
@@ -753,9 +758,10 @@
</tr>
</thead>
<tbody>
- <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr>
+ <tr><td><span class="validation-fatal">Tableau > 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>
@@ -766,17 +772,19 @@
</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>
+ <tr><td>Tableau > Poids observé</td><td>Poids captures accidentelles</td><td></td></tr>
+ <tr><td>Tableau > Sexe</td><td>Valeur qualitative de la caractéristique <i>Sexe</i></td><td></td></tr>
+ <tr><td>Tableau > Taille</td><td>Décimal (3)</td><td></td></tr>
+ <tr><td>Tableau > Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td>A revalider</td></tr>
+ <tr><td>Tableau > Mort ou vivant</td><td>Valeur qualitative de la caractéristique <i>Mort ou vivant</i></td><td></td></tr>
</tbody>
</table>
<h3>Mode validation</h3>
-<strong>TODO</strong>
+<p>Pas de règle supplémentaire.</p>
<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>
@@ -787,9 +795,10 @@
</tr>
</thead>
<tbody>
- <tr><td><span class="validation-fatal"></span></td><td></td><td></td></tr>
+ <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>
@@ -800,10 +809,11 @@
</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>
+ <tr><td>Poids observé</td><td>Poids captures accidentelles</td><td></td></tr>
+ <tr><td>Sexe</td><td>Valeur qualitative de la caractéristique <i>Sexe</i></td><td></td></tr>
+ <tr><td>Taille</td><td>Décimal (3)</td><td></td></tr>
+ <tr><td>Classe de taille</td><td>Valeur contrainte par le protocole ?</td><td>A revalider</td></tr>
+ <tr><td>Mort ou vivant</td><td>Valeur qualitative de la caractéristique <i>Mort ou vivant</i></td><td></td></tr>
</tbody>
</table>
1
0
r1591 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content: home operation operation/catches/benthos/create operation/catches/species/create
by tchemit@users.forge.codelutin.com 12 Feb '14
by tchemit@users.forge.codelutin.com 12 Feb '14
12 Feb '14
Author: tchemit
Date: 2014-02-12 18:30:49 +0100 (Wed, 12 Feb 2014)
New Revision: 1591
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1591
Log:
clean some codes
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2014-02-12 17:26:34 UTC (rev 1590)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2014-02-12 17:30:49 UTC (rev 1591)
@@ -81,7 +81,7 @@
SelectCruiseUIModel model = new SelectCruiseUIModel();
- List<Program> programs = persistenceService.getAllProgram();
+ List<Program> programs = Lists.newArrayList(persistenceService.getAllProgram());
model.setPrograms(programs);
if (programs.isEmpty()) {
@@ -98,7 +98,7 @@
List<Cruise> cruises = null;
if (getContext().isProgramFilled()) {
selectedProgram = getDataContext().getProgram();
- cruises = persistenceService.getAllCruise(selectedProgram.getId());
+ cruises = Lists.newArrayList(persistenceService.getAllCruise(selectedProgram.getId()));
}
model.setProgram(selectedProgram);
@@ -145,28 +145,28 @@
SelectCruiseUIModel model = getModel();
- List<Program> programs = Lists.newArrayList();
- if (model.getPrograms() != null) {
- programs.addAll(model.getPrograms());
- }
+// List<Program> programs = Lists.newArrayList();
+// if (model.getPrograms() != null) {
+// programs.addAll(model.getPrograms());
+// }
initBeanFilterableComboBox(ui.getProgramCombobox(),
- programs,
+ model.getPrograms(),
model.getProgram());
- List<Cruise> cruises = Lists.newArrayList();
- if (model.getCruises() != null) {
- cruises.addAll(model.getCruises());
- }
+// List<Cruise> cruises = Lists.newArrayList();
+// if (model.getCruises() != null) {
+// cruises.addAll(model.getCruises());
+// }
initBeanFilterableComboBox(ui.getCruiseCombobox(),
- cruises,
+ model.getCruises(),
model.getCruise());
- List<TuttiProtocol> protocols = Lists.newArrayList();
- if (model.getProtocols() != null) {
- protocols.addAll(model.getProtocols());
- }
+// List<TuttiProtocol> protocols = Lists.newArrayList();
+// if (model.getProtocols() != null) {
+// protocols.addAll(model.getProtocols());
+// }
initBeanFilterableComboBox(ui.getProtocolCombobox(),
- Lists.newArrayList(model.getProtocols()),
+ model.getProtocols(),
model.getProtocol());
initActionComboBox(ui.getEditProgramComboBox());
@@ -182,7 +182,9 @@
List<TuttiProtocol> protocols = (List<TuttiProtocol>) evt.getNewValue();
combobox.setData(null);
- combobox.setData(protocols);
+ if (protocols != null) {
+ combobox.setData(protocols);
+ }
SelectCruiseUIHandler.this.ui.applyDataBinding(SelectCruiseUI.BINDING_PROTOCOL_COMBOBOX_ENABLED);
}
@@ -201,7 +203,7 @@
if (noProgram) {
cruises = Lists.newArrayList();
} else {
- cruises = getPersistenceService().getAllCruise(newValue.getId());
+ cruises = Lists.newArrayList(getPersistenceService().getAllCruise(newValue.getId()));
}
SelectCruiseUIModel source = (SelectCruiseUIModel) evt.getSource();
source.setCruises(cruises);
@@ -216,7 +218,9 @@
BeanFilterableComboBox<Cruise> combobox = SelectCruiseUIHandler.this.ui.getCruiseCombobox();
List<Cruise> campaigns = (List<Cruise>) evt.getNewValue();
combobox.setData(null);
- combobox.setData(campaigns);
+ if (campaigns != null) {
+ combobox.setData(campaigns);
+ }
}
});
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2014-02-12 17:26:34 UTC (rev 1590)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2014-02-12 17:30:49 UTC (rev 1591)
@@ -745,9 +745,9 @@
List<TuttiLocation> location =
getPersistenceService().getAllFishingOperationLocation(zoneId, strataId, null);
- ui.getSubStrataComboBox().setData(subStrata);
+ ui.getSubStrataComboBox().setData(Lists.newArrayList(subStrata));
- ui.getLocationComboBox().setData(location);
+ ui.getLocationComboBox().setData(Lists.newArrayList(location));
if (newStrata == null) {
@@ -786,7 +786,7 @@
List<TuttiLocation> location =
getPersistenceService().getAllFishingOperationLocation(zoneId, strataId, subStrataId);
- ui.getLocationComboBox().setData(location);
+ ui.getLocationComboBox().setData(Lists.newArrayList(location));
if (newSubStrata == null) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2014-02-12 17:26:34 UTC (rev 1590)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2014-02-12 17:30:49 UTC (rev 1591)
@@ -212,7 +212,7 @@
categories.remove(0);
initBeanFilterableComboBox(this.ui.getCategoryComboBox(),
- Lists.<SampleCategoryModelEntry>newArrayList(categories),
+ Lists.newArrayList(categories),
null);
Caracteristic caracteristic =
@@ -274,45 +274,9 @@
newValue
);
-// if (getDataContext().isProtocolFilled()) {
-//
-// // try to find the first category from protocol
-//// TuttiProtocol protocol = getDataContext().getProtocol();
-// SpeciesProtocol speciesProtocol = getPersistenceService().getBenthosProtocol(newValue);
-// if (speciesProtocol != null) {
-//
-// // species defined in protocol
-// if (speciesProtocol.sizeMandatorySampleCategoryId() > 1) {
-//
-// // use the second category (the first one is V/HV)
-// Integer categoryId = speciesProtocol.getMandatorySampleCategoryId().get(1);
-// selectedCategory = sampleCategoryModel.getCategoryById(categoryId);
-// if (log.isInfoEnabled()) {
-// log.info("Use category from protocol: " + categoryId + " :: " + selectedCategory);
-// }
-// }
-// }
-// }
-//
-// if (selectedCategory == null) {
-//
-// // by default use the first one
-// List<SampleCategoryModelEntry> categories =
-// getUI().getCategoryComboBox().getData();
-// if (!categories.isEmpty()) {
-// selectedCategory = categories.get(0);
-//
-// if (log.isInfoEnabled()) {
-// log.info("Use default first category: " + selectedCategory);
-// }
-// }
-// }
-
if (log.isDebugEnabled()) {
log.debug("Selected category : " + selectedCategory);
}
-// // force reset of selected category
-// source.setSelectedCategory(null);
// set new selected category
source.setSelectedCategory(selectedCategory);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2014-02-12 17:26:34 UTC (rev 1590)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2014-02-12 17:30:49 UTC (rev 1591)
@@ -213,14 +213,14 @@
categories.remove(0);
initBeanFilterableComboBox(this.ui.getCategoryComboBox(),
- Lists.<SampleCategoryModelEntry>newArrayList(categories),
+ Lists.newArrayList(categories),
null);
Caracteristic caracteristic =
getPersistenceService().getSortedUnsortedCaracteristic();
initBeanFilterableComboBox(this.ui.getSampleCategoryComboBox(),
- caracteristic.getQualitativeValue(),
+ Lists.newArrayList(caracteristic.getQualitativeValue()),
null);
CreateSpeciesBatchUIModel model = getModel();
@@ -275,54 +275,9 @@
newValue
);
-// if (getDataContext().isProtocolFilled()) {
-//
-// if (log.isInfoEnabled()) {
-// log.info("Use protocol to find first category");
-// }
-// // try to find the first category from protocol
-//// TuttiProtocol protocol = getDataContext().getProtocol();
-// SpeciesProtocol speciesProtocol = getPersistenceService().getSpeciesProtocol(newValue);
-// if (speciesProtocol != null) {
-//
-// if (log.isInfoEnabled()) {
-// log.info("Use protocol species to find first category: " + speciesProtocol.getMandatorySampleCategoryId());
-// }
-//
-// // species defined in protocol
-// if (!speciesProtocol.isMandatorySampleCategoryIdEmpty()) {
-//
-// // use the first category
-// Integer categoryId = speciesProtocol.getMandatorySampleCategoryId().get(0);
-//
-// selectedCategory = sampleCategoryModel.getCategoryById(categoryId);
-// if (log.isInfoEnabled()) {
-// log.info("Use category from protocol: " + categoryId + " :: " + selectedCategory);
-// }
-// }
-// }
-// }
-//
-// if (selectedCategory == null) {
-//
-// // by default use the first one
-// List<SampleCategoryModelEntry> categories =
-// getUI().getCategoryComboBox().getData();
-//
-// if (!categories.isEmpty()) {
-// selectedCategory = categories.get(0);
-//
-// if (log.isInfoEnabled()) {
-// log.info("Use default first category: " + selectedCategory);
-// }
-// }
-// }
-
if (log.isDebugEnabled()) {
log.debug("Selected category : " + selectedCategory);
}
-// // force reset of selected category
-// source.setSelectedCategory(null);
// set new selected category
source.setSelectedCategory(selectedCategory);
1
0
Author: tchemit
Date: 2014-02-12 18:26:34 +0100 (Wed, 12 Feb 2014)
New Revision: 1590
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1590
Log:
fixes #2299: [ERGO] s?\195?\169lectionner automatiquement le dernier choix dans une liste d?\195?\169roulante pour pouvoir valider l'entr?\195?\169e
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-02-11 18:41:35 UTC (rev 1589)
+++ trunk/pom.xml 2014-02-12 17:26:34 UTC (rev 1590)
@@ -132,10 +132,10 @@
<!-- libraries version -->
<nuitonI18nVersion>3.0</nuitonI18nVersion>
- <nuitonValidatorVersion>3.0-alpha-3</nuitonValidatorVersion>
+ <nuitonValidatorVersion>3.0-rc-1</nuitonValidatorVersion>
<eugenePluginVersion>2.7.4</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.8</jaxxVersion>
+ <jaxxVersion>2.8.1</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
<adagioVersion>3.4.1</adagioVersion>
1
0
r1589 - in trunk/tutti-ui-swing/src/main: help/css help/fr help/img resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create
by tchemit@users.forge.codelutin.com 11 Feb '14
by tchemit@users.forge.codelutin.com 11 Feb '14
11 Feb '14
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/hel… $
+ %%
+ 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">
1
0
r1588 - trunk/tutti-ui-swing/src/main/resources/i18n
by tchemit@users.forge.codelutin.com 11 Feb '14
by tchemit@users.forge.codelutin.com 11 Feb '14
11 Feb '14
Author: tchemit
Date: 2014-02-11 18:48:01 +0100 (Tue, 11 Feb 2014)
New Revision: 1588
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1588
Log:
fix i18n
Modified:
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-02-11 17:47:47 UTC (rev 1587)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-02-11 17:48:01 UTC (rev 1588)
@@ -1558,7 +1558,7 @@
tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required=La catégorie Vrac / Hors Vrac est obligatoire
tutti.validator.error.createSpeciesBatch.species.required=L'espèce est obligatoire
tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable=Couple (espèce - Vrac/Hors Vrac) déjà utilisée
-tutti.validator.error.cruise.name.format=Le format n'est pas celui ...
+tutti.validator.error.cruise.name.format=Le format n'est pas celui attendu ...
tutti.validator.error.latitude.decimal.outOfBounds=La décimale de la latitude doit être comprise entre 0 et 99
tutti.validator.error.latitude.degree.outOfBounds=Le degré de la latitude doit être compris entre -90 et 90
tutti.validator.error.latitude.end.required=La latitude de fin de traîne est obligatoire
1
0
r1587 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches
by tchemit@users.forge.codelutin.com 11 Feb '14
by tchemit@users.forge.codelutin.com 11 Feb '14
11 Feb '14
Author: tchemit
Date: 2014-02-11 18:47:47 +0100 (Tue, 11 Feb 2014)
New Revision: 1587
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1587
Log:
fix NPE
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightCleaningService.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightCleaningService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightCleaningService.java 2014-02-11 14:03:33 UTC (rev 1586)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/WeightCleaningService.java 2014-02-11 17:47:47 UTC (rev 1587)
@@ -515,7 +515,7 @@
Float frequenciesWeigth =
persistenceService.countFrequenciesWeight(frequencies, true);
- if (TuttiEntities.isEqualWeight(weight, frequenciesWeigth)) {
+ if (frequenciesWeigth != null && TuttiEntities.isEqualWeight(weight, frequenciesWeigth)) {
result = t("tutti.service.operations.cleanWeights.error.redundant.frequencyWeight",
weightUnit.fromEntity(weight),
weightUnit.getShortLabel(),
@@ -536,7 +536,7 @@
// on a leaf, check if weight is not = to the finest category weight
Float weight = batch.getWeight();
Float sampleCategoryWeight = batch.getSampleCategoryWeight();
- if (weight != null && TuttiEntities.isEqualWeight(weight, sampleCategoryWeight)) {
+ if (weight != null && sampleCategoryWeight != null && TuttiEntities.isEqualWeight(weight, sampleCategoryWeight)) {
result = t("tutti.service.operations.cleanWeights.error.redundant.weight",
weightUnit.fromEntity(weight),
1
0
Author: tchemit
Date: 2014-02-11 15:03:33 +0100 (Tue, 11 Feb 2014)
New Revision: 1586
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1586
Log:
back to jaxx 2.8
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-02-11 11:54:55 UTC (rev 1585)
+++ trunk/pom.xml 2014-02-11 14:03:33 UTC (rev 1586)
@@ -135,7 +135,7 @@
<nuitonValidatorVersion>3.0-alpha-3</nuitonValidatorVersion>
<eugenePluginVersion>2.7.4</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.8.1-SNAPSHOT</jaxxVersion>
+ <jaxxVersion>2.8</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
<adagioVersion>3.4.1</adagioVersion>
1
0
r1585 - in trunk: . tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing
by tchemit@users.forge.codelutin.com 11 Feb '14
by tchemit@users.forge.codelutin.com 11 Feb '14
11 Feb '14
Author: tchemit
Date: 2014-02-11 12:54:55 +0100 (Tue, 11 Feb 2014)
New Revision: 1585
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1585
Log:
fixes #4415: [TECH] Lors d'une action longue, impossible d'acc?\195?\169der ?\195?\160 une popup
Modified:
trunk/pom.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-02-11 11:53:19 UTC (rev 1584)
+++ trunk/pom.xml 2014-02-11 11:54:55 UTC (rev 1585)
@@ -135,7 +135,7 @@
<nuitonValidatorVersion>3.0-alpha-3</nuitonValidatorVersion>
<eugenePluginVersion>2.7.4</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.8</jaxxVersion>
+ <jaxxVersion>2.8.1-SNAPSHOT</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
<adagioVersion>3.4.1</adagioVersion>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2014-02-11 11:53:19 UTC (rev 1584)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2014-02-11 11:54:55 UTC (rev 1585)
@@ -860,7 +860,7 @@
@Override
public ApplicationActionUI getExistingActionUI() {
- while (actionUI == null) {
+ while (actionUI == null || !actionUI.isShowing()) {
try {
Thread.sleep(50);
1
0