Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe Commits: e18a2ccd by Tony Chemit at 2023-01-04T17:28:06+01:00 Si on quitte le formulaire marée modifié, aucune alerte n'est proposée pour enregistrer les modifications - closes #2587 - - - - - b8e6082e by Tony Chemit at 2023-01-04T17:29:00+01:00 Sur un formulaire tableau modifié, la demande confirmation est demandée deux fois si la première fois, on dit annuler - closes #2589 - - - - - 09569172 by Tony Chemit at 2023-01-04T17:56:56+01:00 Sur le formulaire lot, le champs commentaire n'est pas lié à un commentaire de la marée - closes #2592 - - - - - 7 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIManager.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIModelStates.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/localmarket/TripBatchUI.jaxx - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripBatchSpi.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIManager.java ===================================== @@ -90,7 +90,7 @@ public class ContentUIManager { // no content ui return true; } - log.info(String.format("[%s] Will close ui", ui.getClass().getSimpleName())); + log.info(String.format("%sWill close ui", ui.getModel().getPrefix())); boolean closed; try { closed = ui.close(); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModelStates.java ===================================== @@ -170,7 +170,12 @@ public class ContentUIModelStates extends AbstractJavaBean implements Closeable, return Objects.requireNonNull(mode).getValidationContext(); } - public boolean canQuit() { + /** + * Test if we can qui the form. + * + * @return {@code null} if was canceled, {@code true} if form can be quit, {@code false} otherwise. + */ + public Boolean canQuit() { if (!isEnabled()) { // model disabled, no check return true; @@ -183,12 +188,8 @@ public class ContentUIModelStates extends AbstractJavaBean implements Closeable, // model in reading mode, no check return true; } - if (!isGlobalModified()) { - // model not modified, no check - return true; - } - // check model is valid - return isValid(); + // can quit only if model not modified + return !isGlobalModified(); } public boolean isEnabled() { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java ===================================== @@ -339,7 +339,11 @@ public class ContentOpen<U extends ContentUI> { String prefix = ui.getModel().getPrefix(); log.info(String.format("%s Try to close content...", prefix)); ContentUIModelStates states = ui.getModel().getStates(); - boolean canQuit = states.canQuit(); + Boolean canQuit = states.canQuit(); + if (canQuit == null) { + // cancel + return Close.CANCEL; + } if (canQuit) { // simple close return Close.CLOSE; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIModelStates.java ===================================== @@ -124,8 +124,14 @@ public class ContentTableUIModelStates<D extends DataDto, C extends ContainerChi } @Override - public boolean canQuit() { - return isReadingMode() || (getTableModel().isCanQuitEditingRow() && super.canQuit()); + public Boolean canQuit() { + if (isReadingMode()) { + return true; + } + if (!getTableModel().isCanQuitEditingRow()) { + return null; + } + return super.canQuit(); } public boolean isCanSaveRow() { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIModelStates.java ===================================== @@ -98,24 +98,6 @@ public abstract class ContentReferentialUIModelStates<D extends ReferentialDto, } } - @Override - public boolean canQuit() { - if (!isEnabled()) { - // model disabled, no check - return true; - } - if (!isEditing()) { - // model not editing, no check - return true; - } - if (isReadingMode()) { - // model in reading mode, no check - return true; - } - // can quit only if model not modified - return !isGlobalModified(); - } - public D getBeanToSave() { return getBean(); } ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/localmarket/TripBatchUI.jaxx ===================================== @@ -123,7 +123,7 @@ <Table id='extraZone' fill='both' weightx='1' insets='0'> <row> <cell weighty='1'> - <BigTextEditor id="comment"/> + <BigTextEditor id="comment" title="observe.Common.logbookComment" styleClass="skipI18n"/> </cell> </row> </Table> ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripBatchSpi.java ===================================== @@ -24,6 +24,7 @@ package fr.ird.observe.entities.data.ps.common; import fr.ird.observe.dto.data.ps.localmarket.TripBatchDto; import fr.ird.observe.dto.form.Form; +import fr.ird.observe.dto.referential.ReferentialLocale; import fr.ird.observe.dto.referential.ps.localmarket.PackagingReference; import fr.ird.observe.entities.referential.common.Harbour; import fr.ird.observe.entities.referential.ps.localmarket.Packaging; @@ -42,6 +43,18 @@ public class TripBatchSpi extends GeneratedTripBatchSpi { form.getObject().setAvailablePackagings(availablePackaging); } + @Override + public void toDto(ReferentialLocale referentialLocale, Trip entity, TripBatchDto dto) { + super.toDto(referentialLocale, entity, dto); + dto.setComment(entity.getLogbookComment()); + } + + @Override + public void fromDto(ReferentialLocale referentialLocale, Trip entity, TripBatchDto dto) { + super.fromDto(referentialLocale, entity, dto); + entity.setLogbookComment(dto.getComment()); + } + protected LinkedHashSet<PackagingReference> getPackaging(ServiceContext context, Trip trip) { Harbour landingHarbour = trip.getLandingHarbour(); Date date = trip.getEndDate(); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/49d90e71d88b41f2fcac5c9a9... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/49d90e71d88b41f2fcac5c9a9... You're receiving this email because of your account on gitlab.com.