Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 7d7d9912 by Tony Chemit at 2024-01-25T12:20:32+01:00 [client-datasource-editor-api] Be able to launch after save action (even if the button is disabled) - - - - - e44b7039 by Tony Chemit at 2024-01-25T13:49:46+01:00 Revue de la validation du caractère obligatoire des coordonnées de l'activité - Closes #2663 - - - - - 22 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/SaveContentOpenableUIAdapter.java - client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUI.jaxx - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUI.jcss - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIHandler.java - core/api/dto-decoration/src/main/i18n/getters/labels.getter - core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/logbook/ActivityDto.java - core/api/dto/src/main/java/fr/ird/observe/dto/referential/ps/common/VesselActivityReference.java - core/api/validation/src/main/filtered-resources/META-INF/validators/validation.json - core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/ActivityDto-create-error-validation.xml - core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/ActivityDto-update-error-validation.xml - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/logbook/ActivityImpl.java - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/logbook/ActivitySpi.java - core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ps/logbook/Activity/validation-create.json - core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ps/logbook/Activity/validation-update.json - core/services/i18n/src/main/i18n/translations/services_en_GB.properties - core/services/i18n/src/main/i18n/translations/services_es_ES.properties - core/services/i18n/src/main/i18n/translations/services_fr_FR.properties - model/src/main/models/Observe/dto/21-data-ps-logbook.model - model/src/main/models/Observe/dto/attribute/notNullIf.properties - model/src/main/models/Observe/dto/class/i18nLabels.properties - model/src/main/models/Observe/persistence/21-data-ps-logbook.model Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/SaveContentOpenableUIAdapter.java ===================================== @@ -80,7 +80,13 @@ public class SaveContentOpenableUIAdapter<D extends OpenableDto, U extends Conte if (notPersisted && predicate.test(bean)) { // reload ui and do click U newUi = dataSourceEditor.getModel().getTypedContent(); - SwingUtilities.invokeLater(() -> Objects.requireNonNull(buttonGetter).apply(newUi).doClick()); + SwingUtilities.invokeLater(() -> { + AbstractButton button = Objects.requireNonNull(buttonGetter).apply(newUi); + if (!button.isEnabled()) { + button.setEnabled(true); + } + button.doClick(); + }); return; } else { dataSourceEditor.getModel().resetFromPreviousUi(ui); ===================================== client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter ===================================== @@ -158,6 +158,7 @@ observe.data.ps.logbook.Activity.physicalMeasurements observe.data.ps.logbook.Activity.setCount observe.data.ps.logbook.Activity.setMeasurements observe.data.ps.logbook.Activity.setSuccessStatus +observe.data.ps.logbook.Activity.skipMandatoryCoordinate observe.data.ps.logbook.Activity.time observe.data.ps.logbook.Activity.totalWeight observe.data.ps.logbook.Activity.vmsDivergent ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUI.jaxx ===================================== @@ -95,7 +95,11 @@ </cell> <cell fill="both" columns="2" weightx="1"> <JPanel layout="{new BorderLayout()}"> - <JLabel id='coordinateLabel' constraints='BorderLayout.NORTH' styleClass="center"/> + <JPanel id="coordinateHeader" layout="{new BorderLayout()}" constraints='BorderLayout.NORTH'> + + <JLabel id='coordinateLabel' constraints='BorderLayout.WEST' styleClass="center"/> + <JToggleButton id="skipMandatoryCoordinate" constraints='BorderLayout.CENTER' onItemStateChanged="{getHandler().onSkipMandatoryCoordinateChanged(event);}"/> + </JPanel> <CoordinatesEditor id='coordinate' constraints='BorderLayout.CENTER'/> </JPanel> </cell> ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUI.jcss ===================================== @@ -41,6 +41,12 @@ horizontalAlignment:{JLabel.CENTER}; } +#skipMandatoryCoordinate { + i18nProperty:""; + selected:{bean.isSkipMandatoryCoordinate()}; + visible:{states.isCreatingMode()}; +} + #previousFpaZone { enabled:{bean.isChangedZoneOperation()}; } ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIHandler.java ===================================== @@ -31,8 +31,10 @@ import fr.ird.observe.client.datasource.editor.ps.ObservePsKeyStrokes; import fr.ird.observe.dto.data.ps.common.TripDto; import fr.ird.observe.dto.data.ps.logbook.ActivityDto; import fr.ird.observe.dto.data.ps.logbook.ActivityReference; +import fr.ird.observe.dto.referential.ps.common.VesselActivityReference; import io.ultreia.java4all.i18n.I18n; +import java.awt.event.ItemEvent; import java.beans.PropertyChangeListener; import java.util.Objects; @@ -49,11 +51,14 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { */ private final PropertyChangeListener originalDataModifiedChanged; private final PropertyChangeListener fpaZoneChangedChanged; + private final PropertyChangeListener vesselActivityChanged; public ActivityUIHandler() { originalDataModifiedChanged = evt -> onOriginalDataModifiedChanged((Boolean) evt.getNewValue()); fpaZoneChangedChanged = evt -> onFpaZoneChanged((Boolean) evt.getNewValue()); + vesselActivityChanged = evt -> onVesselActivityChanged((VesselActivityReference) evt.getNewValue()); } + @Override public void startEditUI() { ActivityDto bean = getModel().getStates().getBean(); @@ -64,12 +69,15 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { } bean.removePropertyChangeListener(ActivityDto.PROPERTY_ORIGINAL_DATA_MODIFIED, originalDataModifiedChanged); bean.removePropertyChangeListener(ActivityDto.PROPERTY_CHANGED_ZONE_OPERATION, fpaZoneChangedChanged); + bean.removePropertyChangeListener(ActivityDto.PROPERTY_VESSEL_ACTIVITY, vesselActivityChanged); onOriginalDataModifiedChanged(bean.isOriginalDataModified()); onFpaZoneChanged(bean.isChangedZoneOperation()); + onVesselActivityChanged(bean.getVesselActivity()); getModel().getStates().startEditUI(); super.startEditUI(); bean.addPropertyChangeListener(ActivityDto.PROPERTY_ORIGINAL_DATA_MODIFIED, originalDataModifiedChanged); bean.addPropertyChangeListener(ActivityDto.PROPERTY_CHANGED_ZONE_OPERATION, fpaZoneChangedChanged); + bean.addPropertyChangeListener(ActivityDto.PROPERTY_VESSEL_ACTIVITY, vesselActivityChanged); TripDto trip = getClientValidationContext().getCurrentPsCommonTrip(); getModel().getStates().setNumberEnabled(Objects.requireNonNull(trip.getActivitiesAcquisitionMode()).isByNumber()); } @@ -85,7 +93,7 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { SaveAction.create(ui, ActivityDto.class) .on(ui.getModel()::toSaveRequest) .call((r, d) -> getOpenableService().save(r.getParentId(), d)) - .then(new SaveContentOpenableUIAdapter<>(d -> false, ui -> null) { + .then(new SaveContentOpenableUIAdapter<>(ActivityDto::isSkipMandatoryCoordinate, ActivityUI::getAddFloatingObject) { @Override protected void afterNodeUpdated(DataSourceEditor dataSourceEditor, ActivityUI ui, NavigationTree tree, ContentOpenableUINavigationNode node, boolean notPersisted, ActivityDto bean) { @@ -114,6 +122,25 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { ui.getCopyFirstCoordinate()); } + private void onVesselActivityChanged(VesselActivityReference vesselActivity) { + if (!getModel().getStates().isCreatingMode()) { + return; + } + + if (VesselActivityReference.isCoordinateRequiredForVesselActivity(vesselActivity)) { + ui.getSkipMandatoryCoordinate().setEnabled(false); + ui.getSkipMandatoryCoordinate().setSelected(false); + } else { + ui.getSkipMandatoryCoordinate().setEnabled(true); + } + } + + void onSkipMandatoryCoordinateChanged(ItemEvent newValue) { + if (!getModel().getStates().isCreatingMode()) { + return; + } + ui.getBean().setSkipMandatoryCoordinate(newValue.getStateChange() == ItemEvent.SELECTED); + } private void onOriginalDataModifiedChanged(Boolean newValue) { ===================================== core/api/dto-decoration/src/main/i18n/getters/labels.getter ===================================== @@ -920,6 +920,7 @@ observe.data.ps.logbook.Activity.physicalMeasurements observe.data.ps.logbook.Activity.setCount observe.data.ps.logbook.Activity.setMeasurements observe.data.ps.logbook.Activity.setSuccessStatus +observe.data.ps.logbook.Activity.skipMandatoryCoordinate observe.data.ps.logbook.Activity.time observe.data.ps.logbook.Activity.title observe.data.ps.logbook.Activity.totalWeight ===================================== core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/logbook/ActivityDto.java ===================================== @@ -37,6 +37,9 @@ import java.util.Date; @GenerateJavaBeanDefinition public class ActivityDto extends GeneratedActivityDto { + public boolean isCoordinateRequiredForVesselActivity() { + return VesselActivityReference.isCoordinateRequiredForVesselActivity(getVesselActivity()); + } @Override public void setVesselActivity(VesselActivityReference vesselActivity) { ===================================== core/api/dto/src/main/java/fr/ird/observe/dto/referential/ps/common/VesselActivityReference.java ===================================== @@ -38,4 +38,7 @@ public class VesselActivityReference extends GeneratedVesselActivityReference { return id != null && ProtectedIdsPs.PS_COMMON_VESSEL_ACTIVITY_ID_FOR_END_OF_SEARCHING.equals(id.getId()); } + public static boolean isCoordinateRequiredForVesselActivity(VesselActivityReference reference) { + return reference == null || reference.isAllowSet() || !reference.isAllowFad(); + } } ===================================== core/api/validation/src/main/filtered-resources/META-INF/validators/validation.json ===================================== @@ -10053,7 +10053,7 @@ "comments": [ "check latitude format", "is latitude required ?", - "latitude is mandatory except if !coordinateRequired" + "latitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, { @@ -10068,7 +10068,7 @@ "comments": [ "check longitude format", "is longitude required ?", - "longitude is mandatory except if !coordinateRequired" + "longitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, { @@ -10112,7 +10112,7 @@ "comments": [ "check quadrant (on quadrant)", "is quadrant required ?", - "quadrant is mandatory except if !coordinateRequired" + "quadrant is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, { @@ -10360,7 +10360,7 @@ "comments": [ "check latitude format", "is latitude required ?", - "latitude is mandatory except if !coordinateRequired" + "latitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, { @@ -10375,7 +10375,7 @@ "comments": [ "check longitude format", "is longitude required ?", - "longitude is mandatory except if !coordinateRequired" + "longitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, { @@ -10419,7 +10419,7 @@ "comments": [ "check quadrant (on quadrant)", "is quadrant required ?", - "quadrant is mandatory except if !coordinateRequired" + "quadrant is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, { ===================================== core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/ActivityDto-create-error-validation.xml ===================================== @@ -107,9 +107,9 @@ </field> <field name="latitude"> - <!-- latitude is mandatory except if !coordinateRequired --> + <!-- latitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) --> <field-validator type="mandatory" short-circuit="true"> - <param name="skip"><![CDATA[ !coordinateRequired ]]></param> + <param name="skip"><![CDATA[ !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) ]]></param> <message>observe.Common.latitude.validation.required</message> </field-validator> @@ -139,9 +139,9 @@ </field> <field name="longitude"> - <!-- longitude is mandatory except if !coordinateRequired --> + <!-- longitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) --> <field-validator type="mandatory" short-circuit="true"> - <param name="skip"><![CDATA[ !coordinateRequired ]]></param> + <param name="skip"><![CDATA[ !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) ]]></param> <message>observe.Common.longitude.validation.required</message> </field-validator> @@ -231,9 +231,9 @@ </field> <field name="quadrant"> - <!-- quadrant is mandatory except if !coordinateRequired --> + <!-- quadrant is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) --> <field-validator type="mandatory" short-circuit="true"> - <param name="skip"><![CDATA[ !coordinateRequired ]]></param> + <param name="skip"><![CDATA[ !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) ]]></param> <message>observe.Common.quadrant.validation.required</message> </field-validator> ===================================== core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/ActivityDto-update-error-validation.xml ===================================== @@ -107,9 +107,9 @@ </field> <field name="latitude"> - <!-- latitude is mandatory except if !coordinateRequired --> + <!-- latitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) --> <field-validator type="mandatory" short-circuit="true"> - <param name="skip"><![CDATA[ !coordinateRequired ]]></param> + <param name="skip"><![CDATA[ !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) ]]></param> <message>observe.Common.latitude.validation.required</message> </field-validator> @@ -139,9 +139,9 @@ </field> <field name="longitude"> - <!-- longitude is mandatory except if !coordinateRequired --> + <!-- longitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) --> <field-validator type="mandatory" short-circuit="true"> - <param name="skip"><![CDATA[ !coordinateRequired ]]></param> + <param name="skip"><![CDATA[ !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) ]]></param> <message>observe.Common.longitude.validation.required</message> </field-validator> @@ -231,9 +231,9 @@ </field> <field name="quadrant"> - <!-- quadrant is mandatory except if !coordinateRequired --> + <!-- quadrant is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) --> <field-validator type="mandatory" short-circuit="true"> - <param name="skip"><![CDATA[ !coordinateRequired ]]></param> + <param name="skip"><![CDATA[ !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) ]]></param> <message>observe.Common.quadrant.validation.required</message> </field-validator> ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/logbook/ActivityImpl.java ===================================== @@ -55,16 +55,7 @@ public class ActivityImpl extends ActivityAbstract { * @return {@code true} if coordinate are required, {@code false} otherwise. */ @Override - public boolean isCoordinateRequired() { - if (getVesselActivity() == null) { - return true; - } - if (getVesselActivity().isAllowSet()) { - return true; - } - if (!getVesselActivity().isAllowFad()) { - return true; - } + public boolean isCoordinateRequiredForFloatingObjects() { if (getFloatingObject() == null) { return true; } ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/logbook/ActivitySpi.java ===================================== @@ -114,7 +114,7 @@ public class ActivitySpi extends GeneratedActivitySpi { public void loadDtoForValidation(ServiceContext context, Route parent, Activity entity, ActivityDto dto) { addRouteDate(parent, dto); // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2663 - dto.setCoordinateRequired(entity.isCoordinateRequired()); + dto.setCoordinateRequiredForFloatingObjects(entity.isCoordinateRequiredForFloatingObjects()); } @Override ===================================== core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ps/logbook/Activity/validation-create.json ===================================== @@ -55,7 +55,7 @@ "errors": [ "check latitude format", "is latitude required ?", - "latitude is mandatory except if !coordinateRequired" + "latitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, "latitudeOriginal": { @@ -68,7 +68,7 @@ "errors": [ "check longitude format", "is longitude required ?", - "longitude is mandatory except if !coordinateRequired" + "longitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, "longitudeOriginal": { @@ -115,7 +115,7 @@ "errors": [ "check quadrant (on quadrant)", "is quadrant required ?", - "quadrant is mandatory except if !coordinateRequired" + "quadrant is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, "quadrantOriginal": { ===================================== core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ps/logbook/Activity/validation-update.json ===================================== @@ -60,7 +60,7 @@ "errors": [ "check latitude format", "is latitude required ?", - "latitude is mandatory except if !coordinateRequired" + "latitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, "latitudeOriginal": { @@ -73,7 +73,7 @@ "errors": [ "check longitude format", "is longitude required ?", - "longitude is mandatory except if !coordinateRequired" + "longitude is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, "longitudeOriginal": { @@ -120,7 +120,7 @@ "errors": [ "check quadrant (on quadrant)", "is quadrant required ?", - "quadrant is mandatory except if !coordinateRequired" + "quadrant is mandatory except if !coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects)" ] }, "quadrantOriginal": { ===================================== core/services/i18n/src/main/i18n/translations/services_en_GB.properties ===================================== @@ -1118,6 +1118,7 @@ observe.data.ps.logbook.Activity.setMeasurements=Set measurements observe.data.ps.logbook.Activity.setStat=Count of fishing operation observe.data.ps.logbook.Activity.setSuccessStatus=Success observe.data.ps.logbook.Activity.setSuccessStatus.validation.required=Mandatory if successful set operation +observe.data.ps.logbook.Activity.skipMandatoryCoordinate=A 'End of signal' or 'End of use' buoy operation is to be created on this activity observe.data.ps.logbook.Activity.time=Observation time observe.data.ps.logbook.Activity.time.validation.required=Mandatory if activities acquisition mode is timestamping observe.data.ps.logbook.Activity.title=Activity ===================================== core/services/i18n/src/main/i18n/translations/services_es_ES.properties ===================================== @@ -1118,6 +1118,7 @@ observe.data.ps.logbook.Activity.setMeasurements=Fishing operation measurements observe.data.ps.logbook.Activity.setStat=Count of fishing operation observe.data.ps.logbook.Activity.setSuccessStatus=Success \#TODO observe.data.ps.logbook.Activity.setSuccessStatus.validation.required=Mandatory if successful set operation \#TODO +observe.data.ps.logbook.Activity.skipMandatoryCoordinate=En esta actividad se debe crear una operación de boya de 'Fin de señal' o 'Fin de uso' observe.data.ps.logbook.Activity.time=Hora de la observación observe.data.ps.logbook.Activity.time.validation.required=Mandatory if activities acquisition mode is timestamping \#TODO observe.data.ps.logbook.Activity.title=Actividad ===================================== core/services/i18n/src/main/i18n/translations/services_fr_FR.properties ===================================== @@ -1118,6 +1118,7 @@ observe.data.ps.logbook.Activity.setMeasurements=Paramètres de calée observe.data.ps.logbook.Activity.setStat=Nombre de calées observe.data.ps.logbook.Activity.setSuccessStatus=Succès observe.data.ps.logbook.Activity.setSuccessStatus.validation.required=Obligatoire si opération de pêche réussie +observe.data.ps.logbook.Activity.skipMandatoryCoordinate=Une opération balise 'Perte de signal' ou 'Fin d'utilisation' sera créée sur cette activité observe.data.ps.logbook.Activity.time=Heure d'observation observe.data.ps.logbook.Activity.time.validation.required=Obligatoire si le mode d'acquisition des activités est horodaté observe.data.ps.logbook.Activity.title=Activité ===================================== model/src/main/models/Observe/dto/21-data-ps-logbook.model ===================================== @@ -35,7 +35,8 @@ setSuccessStatus {*:0..1} referential.ps.logbook.SetSuccessStatusReference reasonForNullSet {*:0..1} referential.ps.common.ReasonForNullSetReference observedSystem {*:*} referential.ps.common.ObservedSystemReference maxNumberAuthorized Integer -coordinateRequired boolean +coordinateRequiredForFloatingObjects boolean +skipMandatoryCoordinate boolean data.ps.logbook.ActivityCatch > data.Container catches {*} data.ps.logbook.Catch ===================================== model/src/main/models/Observe/dto/attribute/notNullIf.properties ===================================== @@ -42,9 +42,9 @@ data.ps.common.Trip.attribute.observationsProgram=!observationsEnabled data.ps.common.Trip.attribute.observer=!observationsEnabled data.ps.localmarket.Batch.attribute.count=countOrWeightValid data.ps.localmarket.Batch.attribute.weight=countOrWeightValid -data.ps.logbook.Activity.attribute.latitude=!coordinateRequired -data.ps.logbook.Activity.attribute.longitude=!coordinateRequired -data.ps.logbook.Activity.attribute.quadrant=!coordinateRequired +data.ps.logbook.Activity.attribute.latitude=!coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) +data.ps.logbook.Activity.attribute.longitude=!coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) +data.ps.logbook.Activity.attribute.quadrant=!coordinateRequiredForVesselActivity && (skipMandatoryCoordinate || !coordinateRequiredForFloatingObjects) data.ps.logbook.Activity.attribute.schoolType=!setEnabled || reasonForNoFishing != null data.ps.logbook.Activity.attribute.setCount=!setEnabled data.ps.logbook.Activity.attribute.setSuccessStatus=!setEnabled || reasonForNoFishing != null ===================================== model/src/main/models/Observe/dto/class/i18nLabels.properties ===================================== @@ -69,7 +69,7 @@ data.ps.localmarket.SampleSpeciesMeasure=count,sizeClass data.ps.localmarket.Survey=number,batches.available,comment,date,surveyPart,generalTab,surveyPartTab,batches.available,batches.selected data.ps.localmarket.SurveyPart=species data.ps.localmarket.WellId=well -data.ps.logbook.Activity=date,observedSystem.available,observedSystem.selected,comment,coordinate,coordinateOriginal,currentDirection,currentSpeed,dataQuality,floatingObjectEmpty,currentFpaZone,nextFpaZone,previousFpaZone,informationSource,latitude,latitudeOriginal,longitude,longitudeOriginal,number,observedSystem,originalDataModified,quadrant,quadrantOriginal,relatedObservedActivity,schoolType,seaSurfaceTemperature,setCount,time,totalWeight,vesselActivity,vmsDivergent,wind,windDirection,generalTab,measurementsTab,observedSystemTab,error.no.activity.6,physicalMeasurements,setMeasurements,reasonForNoFishing,setSuccessStatus,reasonForNullSet,latitude.validation.required,longitude.validation.required,quadrant.validation.required +data.ps.logbook.Activity=date,observedSystem.available,observedSystem.selected,comment,coordinate,coordinateOriginal,currentDirection,currentSpeed,dataQuality,floatingObjectEmpty,currentFpaZone,nextFpaZone,previousFpaZone,informationSource,latitude,latitudeOriginal,longitude,longitudeOriginal,number,observedSystem,originalDataModified,quadrant,quadrantOriginal,relatedObservedActivity,schoolType,seaSurfaceTemperature,setCount,time,totalWeight,vesselActivity,vmsDivergent,wind,windDirection,generalTab,measurementsTab,observedSystemTab,error.no.activity.6,physicalMeasurements,setMeasurements,reasonForNoFishing,setSuccessStatus,reasonForNullSet,latitude.validation.required,longitude.validation.required,quadrant.validation.required,skipMandatoryCoordinate data.ps.logbook.ActivityStub=date,comment,latitude,longitude,number,quadrant,seaSurfaceTemperature,time,vesselActivity data.ps.logbook.Catch=comment,species,speciesFate,weight,weightCategory,weightMeasureMethod,well,weight.validation.required,weightMeasureMethod.validation.required data.ps.logbook.FloatingObject=materialsValid,objectOperation,quadrant,supportVesselName,country,vessel,computedBiodegradable,computedNonEntangling,computedSimplifiedObjectType,computedValues,generalTab,buoysTab,materialsTab,notComputed,type.short,computedWhenArrivingBiodegradable,computedWhenLeavingBiodegradable,computedWhenArrivingNonEntangling,computedWhenLeavingNonEntangling,computedWhenArrivingSimplifiedObjectType,computedWhenLeavingSimplifiedObjectType ===================================== model/src/main/models/Observe/persistence/21-data-ps-logbook.model ===================================== @@ -33,7 +33,7 @@ reasonForNoFishing {*:0..1} referential.ps.common.ReasonForNoFishing setSuccessStatus {*:0..1} referential.ps.logbook.SetSuccessStatus reasonForNullSet {*:0..1} referential.ps.common.ReasonForNullSet getDate() Date -isCoordinateRequired() boolean +isCoordinateRequiredForFloatingObjects() boolean data.ps.logbook.Catch > data.DataEntity >> fr.ird.observe.dto.data.WellIdAware comment String View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/ee974f7a5a03cce6b4104095e... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/ee974f7a5a03cce6b4104095e... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)