Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 121edbe0 by Tony Chemit at 2023-09-16T18:52:09+02:00 Améliorer le rapport de validation (ajout d'une action tout plier, tout déplier) - See #2215 - - - - - d9907027 by Tony Chemit at 2023-09-17T12:32:16+02:00 Ajout de caractéristiques autorisées sur des équipements - See #2787 - - - - - 8 changed files: - client/datasource/actions/src/main/i18n/templates/validationReport_en_GB.ftl - client/datasource/actions/src/main/i18n/templates/validationReport_es_ES.ftl - client/datasource/actions/src/main/i18n/templates/validationReport_fr_FR.ftl - core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_2.java - + core/persistence/migration/src/main/resources/db/migration/v9/9.2/13_issue-2787-common.sql - core/persistence/test/src/test/resources/fixtures/persistence/table_count/referential.properties - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ValidateService-referentialResult-common.json - model/src/main/resources/fixtures/global.properties Changes: ===================================== client/datasource/actions/src/main/i18n/templates/validationReport_en_GB.ftl ===================================== @@ -163,6 +163,11 @@ ul.messages { list-style-type: none; } + + .action { + cursor: pointer; + user-select: none; + } </style> </head> <body> @@ -191,6 +196,8 @@ <div class="information">To collapse a note, click on icon <span class="caret-down"></span> (Combination with key <b>Shift</b> will also collapse his inner sub-tree).</div> <div class="information">A click on a id will select it automatically.</div> <br/> +<div class="information">To expand all, click on the following icon: <span id="expandAll" class="caretSymbol action"></span>.</div> +<div class="information">To collapse all, click on the following icon: <span id="collapseAll" class="caret-down action"></span>.</div> <#assign rootNode = .data_model.rootNode /> <ul id="result"> <#list rootNode.getChildren() as node> @@ -230,10 +237,22 @@ } } }); - <#if .data_model.modelMode.name() == "REFERENTIEL"> - caret.click(); - </#if> } + let collapseAll = document.getElementById("collapseAll"); + collapseAll.addEventListener("click", function (event) { + for (const caret of document.getElementsByClassName("caret")) { + collapse(caret); + } + }); + let expandAll = document.getElementById("expandAll"); + expandAll.addEventListener("click", function (event) { + for (const caret of document.getElementsByClassName("caret")) { + expand(caret); + } + }); + <#if .data_model.modelMode.name() == "REFERENTIEL"> + expandAll.click(); + </#if> for (const caret of document.getElementsByClassName("leaf")) { let element = caret.parentElement.querySelector(".nested"); if (element != null) { ===================================== client/datasource/actions/src/main/i18n/templates/validationReport_es_ES.ftl ===================================== @@ -26,8 +26,9 @@ <#assign withMessages = node.messagesCount != 0 /> <li> <span id="${node.id}" class="<#if withChildren>caret<#else>leaf</#if>"></span> - <span class="datum">${node.label}</span> <#if node.id?starts_with("fr.ird.referential") || node.id?starts_with("fr.ird.data") > - <span - class="topiaId">${node.id}</span></#if> + <span class="datum">${node.label}</span> <#if node.id?starts_with("fr.ird.referential") || node.id?starts_with("fr.ird.data") > - + <span + class="topiaId">${node.id}</span></#if> <#if withChildren || withMessages> <ul class="nested"> <#if withMessages> @@ -90,6 +91,7 @@ display: inline-block; margin-right: 6px; } + .leaf { margin-top: 6px; } @@ -163,6 +165,11 @@ ul.messages { list-style-type: none; } + + .action { + cursor: pointer; + user-select: none; + } </style> </head> <body> @@ -179,19 +186,34 @@ <span class="<#if scope.name() == "ERROR">error<#else>warning</#if>">${scope.label}</span> </#list> </li> - <li>Velocidad máxima autorizada en el control de las velocidades de las actividades: ${.data_model.validationSpeedMaxValue}</li> - <li>Forzar la validación de las velocidades de las actividades: ${.data_model.validationSpeedEnable?string("yes", "no")}</li> - <li>Forzar la validación de la talla de especies min/max: ${.data_model.validationLengthWeightEnable?string("yes", "no")}</li> - <li>Para que la utilización de referenciales obsoletos sea autorizado (se advertirá en los mensajes de validación): ${.data_model.validationUseDisabledReferential?string("yes", "no")}</li> + <li>Velocidad máxima autorizada en el control de las velocidades de las + actividades: ${.data_model.validationSpeedMaxValue}</li> + <li>Forzar la validación de las velocidades de las + actividades: ${.data_model.validationSpeedEnable?string("yes", "no")}</li> + <li>Forzar la validación de la talla de especies + min/max: ${.data_model.validationLengthWeightEnable?string("yes", "no")}</li> + <li>Para que la utilización de referenciales obsoletos sea autorizado (se advertirá en los mensajes de + validación): ${.data_model.validationUseDisabledReferential?string("yes", "no")}</li> <li>Diccionario de sistemas observados requeridos por especies en la modalidad de cerco: ...</li> </ul> <h2>Results</h2> <h3>Notes</h3> -<div class="information">To expand a node, click on icon <span class="caretSymbol"></span> (Combination with key <b>Shift</b> will also expand his inner sub-tree).</div> -<div class="information">To collapse a note, click on icon <span class="caret-down"></span> (Combination with key <b>Shift</b> will also collapse his inner sub-tree).</div> +<div class="information">To expand a node, click on icon <span class="caretSymbol"></span> (Combination with key <b>Shift</b> + will also expand his inner sub-tree). +</div> +<div class="information">To collapse a note, click on icon <span class="caret-down"></span> (Combination with key <b>Shift</b> + will also collapse his inner sub-tree). +</div> <div class="information">A click on a id will select it automatically.</div> <br/> +<div class="information">To expand all, click on the following icon: <span id="expandAll" + class="caretSymbol action"></span>. +</div> +<div class="information">To collapse all, click on the following icon: <span id="collapseAll" + class="caret-down action"></span>. +</div> + <#assign rootNode = .data_model.rootNode /> <ul id="result"> <#list rootNode.getChildren() as node> @@ -231,10 +253,22 @@ } } }); - <#if .data_model.modelMode.name() == "REFERENTIEL"> - caret.click(); - </#if> } + let collapseAll = document.getElementById("collapseAll"); + collapseAll.addEventListener("click", function (event) { + for (const caret of document.getElementsByClassName("caret")) { + collapse(caret); + } + }); + let expandAll = document.getElementById("expandAll"); + expandAll.addEventListener("click", function (event) { + for (const caret of document.getElementsByClassName("caret")) { + expand(caret); + } + }); + <#if .data_model.modelMode.name() == "REFERENTIEL"> + expandAll.click(); + </#if> for (const caret of document.getElementsByClassName("leaf")) { let element = caret.parentElement.querySelector(".nested"); if (element != null) { ===================================== client/datasource/actions/src/main/i18n/templates/validationReport_fr_FR.ftl ===================================== @@ -164,6 +164,10 @@ ul.messages { list-style-type: none; } + .action { + cursor: pointer; + user-select: none; + } </style> </head> <body> @@ -192,6 +196,8 @@ <div class="information">Pour replier un nœud, cliquez sur l'icone <span class="caret-down"></span> (la combinaison avec la touche <b>Maj</b> effectue l'action sur le sous-arbre constitué de ses fils).</div> <div class="information">Un clic sur un identifiant le sélectionne automatiquement.</div> <br/> +<div class="information">Pour tout déplier, cliquez sur l'icone suivant : <span id="expandAll" class="caretSymbol action"></span>.</div> +<div class="information">Pour tout replier, cliquez sur l'icone suivant : <span id="collapseAll" class="caret-down action"></span>.</div> <#assign rootNode = .data_model.rootNode /> <ul id="result"> <#list rootNode.getChildren() as node> @@ -220,7 +226,6 @@ expand(node); } } - for (const caret of document.getElementsByClassName("caret")) { caret.addEventListener("click", function (event) { let expanded = this.classList.contains("caret-down"); @@ -234,10 +239,22 @@ } } }); - <#if .data_model.modelMode.name() == "REFERENTIEL"> - caret.click(); - </#if> } + let collapseAll = document.getElementById("collapseAll"); + collapseAll.addEventListener("click", function (event) { + for (const caret of document.getElementsByClassName("caret")) { + collapse(caret); + } + }); + let expandAll = document.getElementById("expandAll"); + expandAll.addEventListener("click", function (event) { + for (const caret of document.getElementsByClassName("caret")) { + expand(caret); + } + }); + <#if .data_model.modelMode.name() == "REFERENTIEL"> + expandAll.click(); + </#if> for (const caret of document.getElementsByClassName("leaf")) { let element = caret.parentElement.querySelector(".nested"); if (element != null) { ===================================== core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_2.java ===================================== @@ -125,6 +125,10 @@ public class DataSourceMigrationForVersion_9_2 extends ByMajorMigrationVersionRe } // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2765 addNewTable(executor, withIds, "12_01_issue-2765", "table-common_gear_associations"); + if (withIds) { + // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2787 + executor.addScript("13", "issue-2787"); + } } ===================================== core/persistence/migration/src/main/resources/db/migration/v9/9.2/13_issue-2787-common.sql ===================================== @@ -0,0 +1,83 @@ +--- +-- #%L +-- ObServe Core :: Persistence :: Migration +-- %% +-- Copyright (C) 2008 - 2023 IRD, Ultreia.io +-- %% +-- 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% +--- +-- add caracteristic 27 +INSERT INTO common.GearCharacteristic (TOPIAID, TOPIAVERSION, TOPIACREATEDATE, LASTUPDATEDATE, CODE, URI, HOMEID, NEEDCOMMENT, STATUS, LABEL1, LABEL2, LABEL3, LABEL4, LABEL5, LABEL6, LABEL7, LABEL8, UNIT, GEARCHARACTERISTICTYPE) VALUES ('fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '27', null, null, false, 1, 'Electric power', 'Puissance électrique', 'Energia electrica', null, null, null, null, null, 'kW', 'fr.ird.referential.common.GearCharacteristicType#1239832686123#0.3'), + +-- add characteristic (4, 5, 15 and 27) to gear 2 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.1', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ( 'fr.ird.referential.common.Gear#1239832686125#0.1', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ( 'fr.ird.referential.common.Gear#1239832686125#0.1', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ( 'fr.ird.referential.common.Gear#1239832686125#0.1', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 3 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.2', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.2', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.2', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.2', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 4 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.3', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.3', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.3', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.3', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 5 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.4', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.4', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +-- INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.4', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.4', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 6 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.5', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.5', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.5', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1239832686125#0.5', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 32 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#32', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#32', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#32', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#32', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 34 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#34', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#34', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#34', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#34', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 35 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#35', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#35', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#35', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#35', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 36 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#36', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#36', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#36', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#36', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); + +-- add characteristic (4, 5, 15 and 27) to gear 37 +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#37', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.4'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#37', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.5'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#37', 'fr.ird.referential.common.GearCharacteristic#1239832686124#0.1'); +INSERT INTO common.gear_allowedGearCharacteristic(gear, gearCharacteristic) VALUES ('fr.ird.referential.common.Gear#1464000000000#37', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}027'); ===================================== core/persistence/test/src/test/resources/fixtures/persistence/table_count/referential.properties ===================================== @@ -23,7 +23,7 @@ common.country=91 common.dataQuality=5 common.fpaZone=45 common.gear=38 -common.gearCharacteristic=46 +common.gearCharacteristic=47 common.gearCharacteristicListItem=220 common.gearCharacteristicType=8 common.harbour=98 @@ -114,7 +114,7 @@ ps_observation.reasonForDiscard=5 ps_observation.speciesStatus=6 ps_observation.surroundingActivity=8 -common.gear_allowedGearCharacteristic=43 +common.gear_allowedGearCharacteristic=82 common.gear_defaultGearCharacteristic=39 common.species_ocean=553 common.speciesGroup_speciesGroupReleaseMode=19 ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ValidateService-referentialResult-common.json ===================================== @@ -4387,6 +4387,22 @@ } ] }, + { + "datum": { + "text": "27##Puissance électrique##kW", + "type": "fr.ird.observe.dto.referential.common.GearCharacteristicDto", + "id": "fr.ird.referential.common.GearCharacteristic#1464000000000#027", + "topiaVersion": 0, + "lastUpdateDate": "2023-09-01T00:00:00.000Z" + }, + "messages": [ + { + "fieldName": "uri", + "scope": "WARNING", + "message": "Le champ n'est pas renseigné." + } + ] + }, { "datum": { "text": "FURUNO - CI-30##001_001", ===================================== model/src/main/resources/fixtures/global.properties ===================================== @@ -25,4 +25,4 @@ REFERENCE_DATA_COUNT=68 ENTITIES_LIMIT_SIZE=100 # fr.ird.observe.services.service.referential.ReferentialService # fr.ird.observe.services.local.service.referential.DifferentialModelTest -REFERENTIAL_COUNT=4356 +REFERENTIAL_COUNT=4357 View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/4aab601162ab50c713b149a8c... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/4aab601162ab50c713b149a8c... You're receiving this email because of your account on gitlab.com.