Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe

Commits:

14 changed files:

Changes:

  • client/datasource/editor/ps/src/main/i18n/getters/java.getter
    ... ... @@ -6,6 +6,8 @@ observe.Common.whenArriving
    6 6
     observe.Common.whenLeaving
    
    7 7
     observe.data.Activity.comment2
    
    8 8
     observe.data.message.will.delete.sub.data
    
    9
    +observe.data.ps.common.Trip.landingHarbour.localMarketNotPossible
    
    10
    +observe.data.ps.common.Trip.landingHarbour.localMarketPossible
    
    9 11
     observe.data.ps.dcp.FloatingObjectPreset.action.add
    
    10 12
     observe.data.ps.dcp.FloatingObjectPreset.action.add.tip
    
    11 13
     observe.data.ps.dcp.FloatingObjectPreset.add.title
    

  • client/datasource/editor/ps/src/main/i18n/templates/checkPsTripLocalMarketAcquisitionStatus_en_GB.ftl
    ... ... @@ -20,23 +20,35 @@
    20 20
     <html>
    
    21 21
     <body>
    
    22 22
     <p>
    
    23
    -  To be able to acquire data of type <i>${dtoLabel}</i>, the trip form must first be completed:
    
    23
    +  To acquire <i>${dtoLabel}</i> data, the trip form must first be completed:
    
    24 24
     </p>
    
    25 25
     <ul>
    
    26
    -  <li>The <i>Local market collection</i> must be filled with a value that indicate presence of data</li>
    
    27
    -  <li>The <i>Logbook and associated data</i> tab must be properly filled</li>
    
    26
    +  <li>The <i>landing harbour</i> must be filled in</li>
    
    27
    +  <li>This harbour must have packaging reference data associated with it</li>
    
    28
    +  <li>The tab named <i>Logbook and associated data</i> must be properly filled in</li>
    
    29
    +  <li>The field named <i>Local market collection</i> must be filled in with a value that indicates existence of data</li>
    
    28 30
     </ul>
    
    29 31
     <hr/>
    
    30 32
     <br/>
    
    31 33
     <p>
    
    32
    -  Click on <b>Access to trip form</b> to fill properly the form and save.
    
    34
    +  Click on <b>Access to trip form</b> to fill in properly the form and save.
    
    33 35
     </p>
    
    34 36
     <br/>
    
    35
    -<p>The <i>Local market collection</i> widget will be focused in the proper tab.
    
    37
    +<p>
    
    38
    +  If <i>landing harbour</i> is not filled in,
    
    39
    +<ul>
    
    40
    +  <li>Its widget will be focused in the proper tab, to enable you to fill in it</li>
    
    41
    +  <li>Once the landing harbour is provided, you need to fill in the tab named <i>Local market collection</i> in the proper tab</li>
    
    42
    +</ul>
    
    43
    +</p>
    
    44
    +<p>
    
    45
    +  <b>If <i>landing harbour</i> is filled in, but doesn't have packaging reference data associated associated with it, you will not be able to acquire local market data.</b>
    
    46
    +</p>
    
    47
    +<p>In other cases, the field named <i>Local market collection</i> is focused in the proper tab.
    
    36 48
     </p>
    
    37 49
     <br/>
    
    38 50
     <p>
    
    39
    -  You can then enter the data.
    
    51
    +  You can then acquire <i>${dtoLabel}</i> data.
    
    40 52
     </p>
    
    41 53
     </body>
    
    42 54
     </html>

  • client/datasource/editor/ps/src/main/i18n/templates/checkPsTripLocalMarketAcquisitionStatus_es_ES.ftl
    ... ... @@ -21,23 +21,35 @@
    21 21
     <body>
    
    22 22
     <h1>#TODO</h1>
    
    23 23
     <p>
    
    24
    -  To be able to acquire data of type <i>${dtoLabel}</i>, the trip form must first be completed:
    
    24
    +  To acquire <i>${dtoLabel}</i> data, the trip form must first be completed:
    
    25 25
     </p>
    
    26 26
     <ul>
    
    27
    -  <li>The <i>Local market collection</i> must be filled with a value that indicate presence of data</li>
    
    28
    -  <li>The <i>Logbook and associated data</i> tab must be properly filled</li>
    
    27
    +  <li>The <i>landing harbour</i> must be filled in</li>
    
    28
    +  <li>This harbour must have packaging reference data associated with it</li>
    
    29
    +  <li>The tab named <i>Logbook and associated data</i> must be properly filled in</li>
    
    30
    +  <li>The field named <i>Local market collection</i> must be filled in with a value that indicates existence of data</li>
    
    29 31
     </ul>
    
    30 32
     <hr/>
    
    31 33
     <br/>
    
    32 34
     <p>
    
    33
    -  Click on <b>Access to trip form</b> to fill properly the form and save.
    
    35
    +  Click on <b>Access to trip form</b> to fill in properly the form and save.
    
    34 36
     </p>
    
    35 37
     <br/>
    
    36
    -<p>The <i>Local market collection</i> widget will be focused in the proper tab.
    
    38
    +<p>
    
    39
    +  If <i>landing harbour</i> is not filled in,
    
    40
    +<ul>
    
    41
    +  <li>Its widget will be focused in the proper tab, to enable you to fill in it</li>
    
    42
    +  <li>Once the landing harbour is provided, you need to fill in the tab named <i>Local market collection</i> in the proper tab</li>
    
    43
    +</ul>
    
    44
    +</p>
    
    45
    +<p>
    
    46
    +  <b>If <i>landing harbour</i> is filled in, but doesn't have packaging reference data associated associated with it, you will not be able to acquire local market data.</b>
    
    47
    +</p>
    
    48
    +<p>In other cases, the field named <i>Local market collection</i> is focused in the proper tab.
    
    37 49
     </p>
    
    38 50
     <br/>
    
    39 51
     <p>
    
    40
    -  You can then enter the data.
    
    52
    +  You can then acquire <i>${dtoLabel}</i> data.
    
    41 53
     </p>
    
    42 54
     </body>
    
    43 55
     </html>

  • client/datasource/editor/ps/src/main/i18n/templates/checkPsTripLocalMarketAcquisitionStatus_fr_FR.ftl
    ... ... @@ -23,18 +23,30 @@
    23 23
       Pour pouvoir créer une donnée de type <i>${dtoLabel}</i>, le formulaire marée doit d'abord être complété :
    
    24 24
     </p>
    
    25 25
     <ul>
    
    26
    -  <li>La valeur du champs <i>Collecte du marché local</i> doit être renseignée avec une valeur reflétant l'existence de données</li>
    
    26
    +  <li>Le port d'arrivée doit être renseigné</li>
    
    27
    +  <li>Ce port doit disposer d'un référentiel de conditionnements</li>
    
    27 28
       <li>L'onglet <i>Livre de bord et données associées</i> doit être renseigné</li>
    
    29
    +  <li>Le champ <i>Collecte du marché local</i> doit être renseigné avec une valeur attestant de l'existence de données</li>
    
    28 30
     </ul>
    
    29 31
     <hr/>
    
    30 32
     <br/>
    
    31 33
     <p>
    
    32
    -  Cliquer sur <b>Accéder au formulaire marée</b> pour compléter ces données et enregistrer.
    
    34
    +  Cliquez sur <b>Accéder au formulaire marée</b> pour compléter ces données et enregistrer.
    
    33 35
     <p>
    
    34
    -<br/>
    
    35
    -<p> Vous serez redirigé vers l'onglet à renseigner et le champs <i>Collecte du marché local</i> sera sélectionné.
    
    36
    +  <br/>
    
    37
    +<p>
    
    38
    +  Si le port d'arrivée n'est pas renseigné :
    
    39
    +<ul>
    
    40
    +  <li>Vous serez redirigé vers l'onglet « Caractéristiques générales », et le champs <i>Port d'arrivée</i> sera sélectionné pour vous permettre de le saisir.</li>
    
    41
    +  <li>Une fois celui-ci renseigné, il vous faudra aller renseigner le champs <i>Collecte du marché local</i> sur l'onglet <i>Livre de bord et données associées</i></li>
    
    42
    +</ul>
    
    43
    +</p>
    
    44
    +<p>
    
    45
    +  <b>Si le port d'arrivée est renseigné mais que celui-ci ne dispose pas d'un référentiel de conditionnements, il ne sera pas possible de saisir des données de marché local.</b>
    
    46
    +</p>
    
    47
    +<p>Si le port d'arrivée est renseigné et dispose d'un référentiel de conditionnements, vous serez directement redirigé vers l'onglet <i>Livre de bord et données associées</i>, et le champ <i>Collecte du marché local</i> sera sélectionné pour vous permettre de le saisir.
    
    36 48
     </p>
    
    37 49
     <br/>
    
    38
    -<p> Vous pourrez ensuite saisir la donnée souhaitée.</p>
    
    50
    +<p>Vous pourrez ensuite saisir les données du <i>${dtoLabel}</i>.</p>
    
    39 51
     </body>
    
    40 52
     </html>

  • client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUI.jaxx
    ... ... @@ -113,6 +113,11 @@
    113 113
                   <FilterableComboBox id='landingHarbour' genericType='HarbourReference'/>
    
    114 114
                 </cell>
    
    115 115
               </row>
    
    116
    +          <row>
    
    117
    +            <cell anchor='west' columns="2">
    
    118
    +              <JLabel id='landingHarbourMessage' styleClass="skipI18n"/>
    
    119
    +            </cell>
    
    120
    +          </row>
    
    116 121
               <row>
    
    117 122
                 <cell anchor='west'>
    
    118 123
                   <JLabel id='homeIdLabel'/>
    

  • client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUI.jcss
    ... ... @@ -24,6 +24,11 @@
    24 24
       enabled:{!states.isUpdatingMode() || bean.isRouteObsEmpty()};
    
    25 25
     }
    
    26 26
     
    
    27
    +#landingHarbourMessage {
    
    28
    +  icon:{states.getLandingHarbourMessageIcon(states.isLocalmarketPossible())};
    
    29
    +  text:{states.getLandingHarbourMessage(states.isLocalmarketPossible())};
    
    30
    +}
    
    31
    +
    
    27 32
     #formsUrl {
    
    28 33
       openLinkTip:"observe.data.ps.common.Trip.action.openLinkFormsUrl.tip";
    
    29 34
     }
    

  • client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUIModelStates.java
    ... ... @@ -41,8 +41,11 @@ import fr.ird.observe.dto.referential.ps.logbook.WellContentStatusReference;
    41 41
     import fr.ird.observe.navigation.id.Project;
    
    42 42
     import fr.ird.observe.services.ObserveServicesProvider;
    
    43 43
     import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
    
    44
    +import io.ultreia.java4all.i18n.I18n;
    
    44 45
     import io.ultreia.java4all.util.Dates;
    
    46
    +import org.nuiton.jaxx.validator.swing.SwingValidatorUtil;
    
    45 47
     
    
    48
    +import javax.swing.Icon;
    
    46 49
     import java.beans.PropertyChangeEvent;
    
    47 50
     import java.util.Date;
    
    48 51
     import java.util.Objects;
    
    ... ... @@ -133,6 +136,20 @@ public class TripUIModelStates extends GeneratedTripUIModelStates {
    133 136
             firePropertyChange(PROPERTY_LOCALMARKET_POSSIBLE, oldValue, localmarketPossible);
    
    134 137
         }
    
    135 138
     
    
    139
    +    public Icon getLandingHarbourMessageIcon(boolean localmarketPossible) {
    
    140
    +        if (localmarketPossible) {
    
    141
    +            return SwingValidatorUtil.getInfoIcon();
    
    142
    +        }
    
    143
    +        return SwingValidatorUtil.getErrorIcon();
    
    144
    +    }
    
    145
    +
    
    146
    +    public String getLandingHarbourMessage(boolean localmarketPossible) {
    
    147
    +        if (localmarketPossible) {
    
    148
    +            return I18n.t("observe.data.ps.common.Trip.landingHarbour.localMarketPossible");
    
    149
    +        }
    
    150
    +        return I18n.t("observe.data.ps.common.Trip.landingHarbour.localMarketNotPossible");
    
    151
    +    }
    
    152
    +
    
    136 153
         public void setDefaultObservationValues(boolean reset) {
    
    137 154
             TripDto bean = getBean();
    
    138 155
             if (reset) {
    

  • client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/predicates/CheckTripLocalMarketAcquisitionStatus.java
    ... ... @@ -45,7 +45,13 @@ import java.util.Set;
    45 45
     public class CheckTripLocalMarketAcquisitionStatus<U extends ContentUI, D extends DataDto> extends CheckTripSupport<U, D> {
    
    46 46
     
    
    47 47
         public CheckTripLocalMarketAcquisitionStatus() {
    
    48
    -        super(Set.of(TripLocalmarketDto.class, TripBatchDto.class), TripReference::isLocalmarketEnabled, TripUI::getLogbookTab, TripUI::getLocalMarketAcquisitionStatus);
    
    48
    +        super(Set.of(TripLocalmarketDto.class, TripBatchDto.class),
    
    49
    +              TripReference::isLocalmarketEnabled,
    
    50
    +              TripUI::getLogbookTab,
    
    51
    +              TripUI::getLocalMarketAcquisitionStatus,
    
    52
    +              r -> r.getStates().isLocalmarketPossible(),
    
    53
    +              TripUI::getGeneralTab,
    
    54
    +              TripUI::getLandingHarbour);
    
    49 55
         }
    
    50 56
     
    
    51 57
         @Override
    

  • client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/predicates/CheckTripSupport.java
    ... ... @@ -49,16 +49,42 @@ public abstract class CheckTripSupport<U extends ContentUI, D extends DataDto> e
    49 49
         private final Predicate<TripReference> tripPredicate;
    
    50 50
         private TripUINavigationNode tripNode;
    
    51 51
     
    
    52
    -    public CheckTripSupport(Set<Class<? extends DataDto>> acceptedTypes, Predicate<TripReference> tripPredicate, Function<TripUI, TabInfo> getTab, Function<TripUI, FilterableComboBox<?>> getCombo) {
    
    52
    +    public CheckTripSupport(Set<Class<? extends DataDto>> acceptedTypes,
    
    53
    +                            Predicate<TripReference> tripPredicate,
    
    54
    +                            Function<TripUI, TabInfo> getTab,
    
    55
    +                            Function<TripUI, FilterableComboBox<?>> getCombo) {
    
    56
    +        super(acceptedTypes, TripUI.class, target -> SwingUtilities.invokeLater(() -> applyStrategy(target, getTab, getCombo)));
    
    57
    +        this.tripPredicate = Objects.requireNonNull(tripPredicate);
    
    58
    +    }
    
    59
    +
    
    60
    +    public CheckTripSupport(Set<Class<? extends DataDto>> acceptedTypes,
    
    61
    +                            Predicate<TripReference> tripPredicate,
    
    62
    +                            Function<TripUI, TabInfo> getTab,
    
    63
    +                            Function<TripUI, FilterableComboBox<?>> getCombo,
    
    64
    +                            Predicate<TripUI> tripPredicate2,
    
    65
    +                            Function<TripUI, TabInfo> getTab2,
    
    66
    +                            Function<TripUI, FilterableComboBox<?>> getCombo2) {
    
    53 67
             super(acceptedTypes, TripUI.class, target -> SwingUtilities.invokeLater(() -> {
    
    54
    -            TabInfo tabInfo = getTab.apply(target);
    
    55
    -            target.selectTab(tabInfo);
    
    56
    -            FilterableComboBox<?> comboBox = getCombo.apply(target);
    
    57
    -            SwingUtilities.invokeLater(comboBox.getCombobox()::requestFocusInWindow);
    
    68
    +            if (tripPredicate2.test(target)) {
    
    69
    +                // the second predicate is ok, use the first behaviour
    
    70
    +                applyStrategy(target, getTab, getCombo);
    
    71
    +            } else {
    
    72
    +                // the second predicate is ko, use the second behaviour
    
    73
    +                applyStrategy(target, getTab2, getCombo2);
    
    74
    +            }
    
    58 75
             }));
    
    59 76
             this.tripPredicate = Objects.requireNonNull(tripPredicate);
    
    60 77
         }
    
    61 78
     
    
    79
    +    private static void applyStrategy(TripUI target,
    
    80
    +                                      Function<TripUI, TabInfo> getTab,
    
    81
    +                                      Function<TripUI, FilterableComboBox<?>> getCombo) {
    
    82
    +        TabInfo tabInfo = getTab.apply(target);
    
    83
    +        target.selectTab(tabInfo);
    
    84
    +        FilterableComboBox<?> comboBox = getCombo.apply(target);
    
    85
    +        SwingUtilities.invokeLater(comboBox.getCombobox()::requestFocusInWindow);
    
    86
    +    }
    
    87
    +
    
    62 88
         @Override
    
    63 89
         public final boolean checkCanCreate(U source, Class<D> dtoType) {
    
    64 90
             TripReference reference = (TripReference) getTripNode(source).getCapability().getReference();
    

  • core/api/dto-decoration/src/main/i18n/getters/labels.getter
    ... ... @@ -776,6 +776,9 @@ observe.data.ps.common.Trip.departureWellContentStatus
    776 776
     observe.data.ps.common.Trip.fishingTime
    
    777 777
     observe.data.ps.common.Trip.landingAcquisitionStatus
    
    778 778
     observe.data.ps.common.Trip.landingAcquisitionStatusLabel.tip
    
    779
    +observe.data.ps.common.Trip.landingHarbour.localMarketNotPossible
    
    780
    +observe.data.ps.common.Trip.landingHarbour.localMarketPossible
    
    781
    +observe.data.ps.common.Trip.landingHarbour.requiredForLocalMarket
    
    779 782
     observe.data.ps.common.Trip.landingTotalWeight
    
    780 783
     observe.data.ps.common.Trip.landingWellContentStatus
    
    781 784
     observe.data.ps.common.Trip.localMarketAcquisitionStatusLabel.tip
    

  • core/services/i18n/src/main/i18n/translations/services_en_GB.properties
    ... ... @@ -916,6 +916,9 @@ observe.data.ps.common.Trip.fishingTime=Fishing time (h)
    916 916
     observe.data.ps.common.Trip.gearUseFeaturesStat=Count of vessel equipment
    
    917 917
     observe.data.ps.common.Trip.landingAcquisitionStatus=Landing sheet collection
    
    918 918
     observe.data.ps.common.Trip.landingAcquisitionStatusLabel.tip=Only choices that indicate existence of data allow acquisition for landing
    
    919
    +observe.data.ps.common.Trip.landingHarbour.localMarketNotPossible=Local market data can not be acquired using this landing harbour
    
    920
    +observe.data.ps.common.Trip.landingHarbour.localMarketPossible=Local market data can be acquired using this landing harbour
    
    921
    +observe.data.ps.common.Trip.landingHarbour.requiredForLocalMarket=The landing harbour is required to acquire local market data
    
    919 922
     observe.data.ps.common.Trip.landingStat=Count of landing
    
    920 923
     observe.data.ps.common.Trip.landingTotalWeight=Landing total weight (t)
    
    921 924
     observe.data.ps.common.Trip.landingWellContentStatus=Landing well content status
    

  • core/services/i18n/src/main/i18n/translations/services_es_ES.properties
    ... ... @@ -916,6 +916,9 @@ observe.data.ps.common.Trip.fishingTime=Heures de peche \#TODO
    916 916
     observe.data.ps.common.Trip.gearUseFeaturesStat=Count of vessel equipment
    
    917 917
     observe.data.ps.common.Trip.landingAcquisitionStatus=Landing sheet collection \#TODO
    
    918 918
     observe.data.ps.common.Trip.landingAcquisitionStatusLabel.tip=Only choices that indicate existence of data allow acquisition for landing
    
    919
    +observe.data.ps.common.Trip.landingHarbour.localMarketNotPossible=Local market data can not be acquired using this landing harbour \#TODO
    
    920
    +observe.data.ps.common.Trip.landingHarbour.localMarketPossible=Local market data can be acquired using this landing harbour \#TODO
    
    921
    +observe.data.ps.common.Trip.landingHarbour.requiredForLocalMarket=The landing harbour is required to acquire local market data \#TODO
    
    919 922
     observe.data.ps.common.Trip.landingStat=Count of landing
    
    920 923
     observe.data.ps.common.Trip.landingTotalWeight=Total débarqué (en t) \#TODO
    
    921 924
     observe.data.ps.common.Trip.landingWellContentStatus=État de remplissage des cuves après débarquement \#TODO
    

  • core/services/i18n/src/main/i18n/translations/services_fr_FR.properties
    ... ... @@ -916,6 +916,9 @@ observe.data.ps.common.Trip.fishingTime=Heures de pêche
    916 916
     observe.data.ps.common.Trip.gearUseFeaturesStat=Nombre d'équipements
    
    917 917
     observe.data.ps.common.Trip.landingAcquisitionStatus=Collecte du bon de débarquement
    
    918 918
     observe.data.ps.common.Trip.landingAcquisitionStatusLabel.tip=Seuls les choix reflétant l'existence des données permettront la collecte du bon de débarquement
    
    919
    +observe.data.ps.common.Trip.landingHarbour.localMarketNotPossible=Il n'est pas possible de saisir des données du marché local avec le port d'arrivée sélectionné
    
    920
    +observe.data.ps.common.Trip.landingHarbour.localMarketPossible=Il est possible de saisir des données du marché local avec le port d'arrivée sélectionné
    
    921
    +observe.data.ps.common.Trip.landingHarbour.requiredForLocalMarket=Il faut renseigner un port d'arrivée pour permettre la saisie des données du marché local
    
    919 922
     observe.data.ps.common.Trip.landingStat=Nombre de débarquements
    
    920 923
     observe.data.ps.common.Trip.landingTotalWeight=Total débarqué (en t)
    
    921 924
     observe.data.ps.common.Trip.landingWellContentStatus=État de remplissage des cuves après débarquement
    

  • model/src/main/models/Observe/dto/class/i18nLabels.properties
    ... ... @@ -56,7 +56,7 @@ data.ll.observation.Tdr=basket,branchline,deploymentEnd,deploymentStart,fishingE
    56 56
     data.ll.observation.WeightMeasure=weight,weightMeasureType
    
    57 57
     data.ps.common.GearUseFeatures=comment,gear,gearUseFeaturesMeasurement,number,usedInTrip
    
    58 58
     data.ps.common.GearUseFeaturesMeasurement=gearCharacteristic,measurementValue
    
    59
    -data.ps.common.Trip=advancedSamplingAcquisitionStatus,captain,departureHarbour,departureWellContentStatus,endDate,ersId,fishingTime,formsUrl,generalComment,landingAcquisitionStatus,landingHarbour,landingTotalWeight,landingWellContentStatus,localMarketAcquisitionStatus,localMarketSurveySamplingAcquisitionStatus,localMarketTotalWeight,localMarketWellsSamplingAcquisitionStatus,loch,logbookAcquisitionStatus,logbookComment,logbookDataEntryOperator,logbookDataQuality,observationsAcquisitionStatus,observationsComment,observationsDataEntryOperator,observationsDataQuality,observer,ocean,observationsProgram,logbookProgram,reportsUrl,routeLogbook,routeObs,startDate,targetWellsSamplingAcquisitionStatus,timeAtSea,vessel,generalTab,action.openLinkFormsUrl.tip,action.openLinkReportsUrl.tip,landingAcquisitionStatusLabel.tip,localMarketAcquisitionStatusLabel.tip,localMarketSurveySamplingAcquisitionStatusLabel.tip,localMarketWellsSamplingAcquisitionStatusLabel.tip,logbookAcquisitionStatusLabel.tip,logbookTab,mapTab,observationsAcquisitionStatusLabel.tip,observationsTab,targetWellsSamplingAcquisitionStatusLabel.tip,action.create,choice.go.to.trip,list.navigation.node,list.title,message.not.open,navigation.unsaved,observationsTab,title.can.not.create.trip.sub.data,list.title,type,title,root.list.message.none,logbookDataEntryOperator.validation.required,logbookDataQuality.validation.required,logbookProgram.validation.required,observationsDataEntryOperator.validation.required,observationsProgram.validation.required,observer.validation.required
    
    59
    +data.ps.common.Trip=advancedSamplingAcquisitionStatus,captain,departureHarbour,departureWellContentStatus,endDate,ersId,fishingTime,formsUrl,generalComment,landingAcquisitionStatus,landingHarbour,landingTotalWeight,landingWellContentStatus,localMarketAcquisitionStatus,localMarketSurveySamplingAcquisitionStatus,localMarketTotalWeight,localMarketWellsSamplingAcquisitionStatus,loch,logbookAcquisitionStatus,logbookComment,logbookDataEntryOperator,logbookDataQuality,observationsAcquisitionStatus,observationsComment,observationsDataEntryOperator,observationsDataQuality,observer,ocean,observationsProgram,logbookProgram,reportsUrl,routeLogbook,routeObs,startDate,targetWellsSamplingAcquisitionStatus,timeAtSea,vessel,generalTab,action.openLinkFormsUrl.tip,action.openLinkReportsUrl.tip,landingAcquisitionStatusLabel.tip,localMarketAcquisitionStatusLabel.tip,localMarketSurveySamplingAcquisitionStatusLabel.tip,localMarketWellsSamplingAcquisitionStatusLabel.tip,logbookAcquisitionStatusLabel.tip,logbookTab,mapTab,observationsAcquisitionStatusLabel.tip,observationsTab,targetWellsSamplingAcquisitionStatusLabel.tip,action.create,choice.go.to.trip,list.navigation.node,list.title,message.not.open,navigation.unsaved,observationsTab,title.can.not.create.trip.sub.data,list.title,type,title,root.list.message.none,logbookDataEntryOperator.validation.required,logbookDataQuality.validation.required,logbookProgram.validation.required,observationsDataEntryOperator.validation.required,observationsProgram.validation.required,observer.validation.required,landingHarbour.localMarketPossible,landingHarbour.localMarketNotPossible,landingHarbour.requiredForLocalMarket
    
    60 60
     data.ps.common.TripGearUseFeatures=gearUseFeatures
    
    61 61
     data.ps.common.TripLocalmarket=localMarketAcquisitionStatus,localMarketSurveySamplingAcquisitionStatus,localMarketWellsSamplingAcquisitionStatus
    
    62 62
     data.ps.common.TripLogbook=logbookAcquisitionStatus,targetWellsSamplingAcquisitionStatus