Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3

Commits:

8 changed files:

Changes:

  • pom.xml
    ... ... @@ -101,6 +101,7 @@
    101 101
         <applicationName>t3</applicationName>
    
    102 102
     
    
    103 103
         <t3-data.version>1.2-SNAPSHOT</t3-data.version>
    
    104
    +    <env>dev</env>
    
    104 105
     
    
    105 106
         <!-- libraries version -->
    
    106 107
     
    
    ... ... @@ -287,6 +288,9 @@
    287 288
             <module>t3-installer</module>
    
    288 289
             <module>t3</module>
    
    289 290
           </modules>
    
    291
    +      <properties>
    
    292
    +        <env>prod</env>
    
    293
    +      </properties>
    
    290 294
         </profile>
    
    291 295
     
    
    292 296
         <profile>
    

  • t3-web/.mvn/i18n-bundle

  • t3-web/.mvn/i18n-check-i18n-artifacts

  • t3-web/pom.xml
    ... ... @@ -33,14 +33,6 @@
    33 33
       <name>T3 :: Web</name>
    
    34 34
       <description>T3 web application</description>
    
    35 35
     
    
    36
    -  <properties>
    
    37
    -
    
    38
    -    <i18n.silent>true</i18n.silent>
    
    39
    -
    
    40
    -    <env>dev</env>
    
    41
    -
    
    42
    -  </properties>
    
    43
    -
    
    44 36
       <dependencies>
    
    45 37
     
    
    46 38
         <!-- sibling dependencies -->
    
    ... ... @@ -148,7 +140,6 @@
    148 140
           <artifactId>h2</artifactId>
    
    149 141
           <scope>runtime</scope>
    
    150 142
         </dependency>
    
    151
    -
    
    152 143
         <dependency>
    
    153 144
           <groupId>org.postgresql</groupId>
    
    154 145
           <artifactId>postgresql</artifactId>
    
    ... ... @@ -270,28 +261,4 @@
    270 261
     
    
    271 262
       </build>
    
    272 263
     
    
    273
    -  <profiles>
    
    274
    -
    
    275
    -    <profile>
    
    276
    -      <id>do-release</id>
    
    277
    -      <activation>
    
    278
    -        <property>
    
    279
    -          <name>performRelease</name>
    
    280
    -          <value>true</value>
    
    281
    -        </property>
    
    282
    -      </activation>
    
    283
    -      <properties>
    
    284
    -        <env>prod</env>
    
    285
    -      </properties>
    
    286
    -
    
    287
    -      <!--<dependencies>-->
    
    288
    -        <!--<dependency>-->
    
    289
    -          <!--<groupId>org.slf4j</groupId>-->
    
    290
    -          <!--<artifactId>slf4j-jcl</artifactId>-->
    
    291
    -          <!--<scope>runtime</scope>-->
    
    292
    -        <!--</dependency>-->
    
    293
    -      <!--</dependencies>-->
    
    294
    -    </profile>
    
    295
    -
    
    296
    -  </profiles>
    
    297 264
     </project>

  • t3-web/src/main/java/fr/ird/t3/web/actions/admin/UserAction.java
    ... ... @@ -28,6 +28,8 @@ import org.apache.commons.lang3.StringUtils;
    28 28
     import org.apache.commons.logging.Log;
    
    29 29
     import org.apache.commons.logging.LogFactory;
    
    30 30
     
    
    31
    +import java.util.Objects;
    
    32
    +
    
    31 33
     /**
    
    32 34
      * Action to manage user (create - update - change password,...)
    
    33 35
      *
    
    ... ... @@ -43,6 +45,7 @@ public class UserAction extends T3ActionSupport implements Preparable {
    43 45
         public static final String BACK_TO_LIST = "backToList";
    
    44 46
     
    
    45 47
         protected T3User user;
    
    48
    +    protected String checkPassword;
    
    46 49
     
    
    47 50
         protected String userEditAction;
    
    48 51
     
    
    ... ... @@ -54,6 +57,14 @@ public class UserAction extends T3ActionSupport implements Preparable {
    54 57
             this.userEditAction = userEditAction;
    
    55 58
         }
    
    56 59
     
    
    60
    +    public String getCheckPassword() {
    
    61
    +        return checkPassword;
    
    62
    +    }
    
    63
    +
    
    64
    +    public void setCheckPassword(String checkPassword) {
    
    65
    +        this.checkPassword = checkPassword;
    
    66
    +    }
    
    67
    +
    
    57 68
         @Override
    
    58 69
         public void prepare() throws Exception {
    
    59 70
     
    
    ... ... @@ -61,7 +72,11 @@ public class UserAction extends T3ActionSupport implements Preparable {
    61 72
             if (!StringUtils.isEmpty(userId)) {
    
    62 73
     
    
    63 74
                 // load user
    
    64
    -            user = getUserService().getUserById(userId);
    
    75
    +            user = new T3UserImpl();
    
    76
    +            T3User userById = getUserService().getUserById(userId);
    
    77
    +            user.setTopiaId(userById.getTopiaId());
    
    78
    +            user.setAdmin(userById.isAdmin());
    
    79
    +            user.setLogin(userById.getLogin());
    
    65 80
             }
    
    66 81
         }
    
    67 82
     
    
    ... ... @@ -85,6 +100,10 @@ public class UserAction extends T3ActionSupport implements Preparable {
    85 100
                 log.info("will update user  " + t3User.getLogin());
    
    86 101
             }
    
    87 102
     
    
    103
    +        if (!t3User.isAdmin() && getT3Session().getUser().isAdmin() && getT3Session().getUser().getLogin().equals(t3User.getLogin())) {
    
    104
    +            // never change admin flag on connected user
    
    105
    +            t3User.setAdmin(true);
    
    106
    +        }
    
    88 107
             // update user
    
    89 108
             getUserService().updateUser(t3User);
    
    90 109
             return SUCCESS;
    
    ... ... @@ -112,7 +131,7 @@ public class UserAction extends T3ActionSupport implements Preparable {
    112 131
     
    
    113 132
                 T3User t3User = getUser();
    
    114 133
                 String userLogin = t3User.getLogin();
    
    115
    -
    
    134
    +            String userPassword = t3User.getPassword();
    
    116 135
                 switch (action) {
    
    117 136
     
    
    118 137
                     case CREATE:
    
    ... ... @@ -142,18 +161,26 @@ public class UserAction extends T3ActionSupport implements Preparable {
    142 161
                             }
    
    143 162
                         }
    
    144 163
     
    
    145
    -                    String userPassword = t3User.getPassword();
    
    146 164
                         if (StringUtils.isEmpty(userPassword)) {
    
    147 165
     
    
    148 166
                             // empty user password
    
    149
    -                        addFieldError("user.password",
    
    150
    -                                      t("t3.error.required.password"));
    
    167
    +                        addFieldError("user.password", t("t3.error.required.password"));
    
    168
    +                    } else {
    
    169
    +                        if (!Objects.equals(checkPassword, userPassword)) {
    
    170
    +                            addFieldError("user.password", t("t3.error.password.mismatch"));
    
    171
    +                        }
    
    151 172
                         }
    
    152 173
     
    
    153 174
                         break;
    
    154 175
                     case EDIT:
    
    155 176
     
    
    156
    -                    // at the moment nothing to validate
    
    177
    +
    
    178
    +                    if (!StringUtils.isEmpty(userPassword)) {
    
    179
    +                        if (!Objects.equals(checkPassword, userPassword)) {
    
    180
    +                            addFieldError("user.password", t("t3.error.password.mismatch"));
    
    181
    +                        }
    
    182
    +                    }
    
    183
    +
    
    157 184
                         break;
    
    158 185
                     case DELETE:
    
    159 186
     
    

  • t3-web/src/main/resources/i18n/t3-web_en_GB.properties
    ... ... @@ -45,6 +45,7 @@ t3.common.available.vesselSimpleTypes=Types simplifiés de navire disponibles
    45 45
     t3.common.available.vessels=Navires disponibles
    
    46 46
     t3.common.canCreateVessel=Authorise to create vessels
    
    47 47
     t3.common.catchFleet=Flotte des captures
    
    48
    +t3.common.checkPassword=repeat password
    
    48 49
     t3.common.configuration=Préférences
    
    49 50
     t3.common.countries.to.select=Flottes à selectionner
    
    50 51
     t3.common.createVirtualVessel=Create virtual vessels
    
    ... ... @@ -188,6 +189,7 @@ t3.error.no.zoneVersion.selected=No zone version selected
    188 189
     t3.error.parametersProfile.already.used=Le nom de profile de paramètres est déjà utilisé
    
    189 190
     t3.error.parametersProfile.required.profileDescription=Description du profile non renseigné
    
    190 191
     t3.error.parametersProfile.required.profileName=Nom du profile non renseigné
    
    192
    +t3.error.password.mismatch=Passwords are different
    
    191 193
     t3.error.required.description=No description filled
    
    192 194
     t3.error.required.file.to.upload=No file to upload selected
    
    193 195
     t3.error.required.login=No Login filled
    
    ... ... @@ -273,7 +275,7 @@ t3.label.export.config.jdbc=Connexion parameters
    273 275
     t3.label.export.config.pilot=Output pilot configuration
    
    274 276
     t3.label.export.config.resume=Configuration summary
    
    275 277
     t3.label.importData.config.resume=Configuration resume of data import
    
    276
    -t3.label.info.changePassword=To change password, fill this field
    
    278
    +t3.label.info.changePassword=To change password, fill the both password fields
    
    277 279
     t3.label.inprogress=in progress...
    
    278 280
     t3.label.language=Langue
    
    279 281
     t3.label.locale.english=English
    

  • t3-web/src/main/resources/i18n/t3-web_fr_FR.properties
    ... ... @@ -45,6 +45,7 @@ t3.common.available.vesselSimpleTypes=Types simplifiés de navire disponibles
    45 45
     t3.common.available.vessels=Navires disponibles
    
    46 46
     t3.common.canCreateVessel=Autoriser la création de bateaux
    
    47 47
     t3.common.catchFleet=Flotte des captures
    
    48
    +t3.common.checkPassword=Répéter le mot de passe
    
    48 49
     t3.common.configuration=Préférences
    
    49 50
     t3.common.countries.to.select=Flottes à selectionner
    
    50 51
     t3.common.createVirtualVessel=Créer des bateaux virtuels
    
    ... ... @@ -188,6 +189,7 @@ t3.error.no.zoneVersion.selected=Aucune version de zone sélectionnée
    188 189
     t3.error.parametersProfile.already.used=Le nom de profile de paramètres est déjà utilisé
    
    189 190
     t3.error.parametersProfile.required.profileDescription=Description du profile non renseigné
    
    190 191
     t3.error.parametersProfile.required.profileName=Nom du profile non renseigné
    
    192
    +t3.error.password.mismatch=Mots de passe différents
    
    191 193
     t3.error.required.description=Aucune description renseignée
    
    192 194
     t3.error.required.file.to.upload=Aucun fichier à télécharger sélectionné
    
    193 195
     t3.error.required.login=Login non renseigné
    
    ... ... @@ -273,7 +275,7 @@ t3.label.export.config.jdbc=Paramètres de connexion
    273 275
     t3.label.export.config.pilot=Pilote de sortie
    
    274 276
     t3.label.export.config.resume=Résumé de configuration
    
    275 277
     t3.label.importData.config.resume=Résumé de la configuration d'import de données
    
    276
    -t3.label.info.changePassword=Pour changer de mot de passe, veuillez remplir le champs dédié
    
    278
    +t3.label.info.changePassword=Pour changer de mot de passe, veuillez remplir les deux champs dédiés
    
    277 279
     t3.label.inprogress=en cours...
    
    278 280
     t3.label.language=Langue
    
    279 281
     t3.label.locale.english=Anglais
    

  • t3-web/src/main/webapp/WEB-INF/jsp/admin/userForm.jsp
    ... ... @@ -24,6 +24,7 @@
    24 24
     <%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags" %>
    
    25 25
     
    
    26 26
     <s:set var="userIsAdmin" value="%{#session.t3Session.user.admin}"/>
    
    27
    +<s:set var="connectedUserLogin" value="%{#session.t3Session.user.login}"/>
    
    27 28
     
    
    28 29
     <s:url id="t3LoadUrl" action="getUserT3Databases" namespace="/json"
    
    29 30
            escapeAmp="false">
    
    ... ... @@ -152,14 +153,19 @@
    152 153
           </legend>
    
    153 154
           <s:hidden key="user.topiaId" label=""/>
    
    154 155
           <s:hidden key="user.login" label=""/>
    
    155
    -      <s:hidden key="user.admin" label=""/>
    
    156 156
           <s:hidden key="userEditAction" label=""/>
    
    157 157
           <s:textfield key="user.login" label="%{getText('t3.common.login')}"
    
    158 158
                        size="40"
    
    159 159
                        disabled="true"/>
    
    160
    -      <s:textfield name="user.password" value="" key="t3.common.password"
    
    161
    -                   size="40"/>
    
    162
    -      <s:checkbox value="%{user.admin}" key="t3.common.admin" disabled="true"/>
    
    160
    +      <s:textfield name="user.password" value="" key="t3.common.password" size="40"/>
    
    161
    +      <s:textfield name="checkPassword" value="" key="t3.common.checkPassword" size="40"/>
    
    162
    +      <s:if test="userIsAdmin">
    
    163
    +        <s:checkbox key="user.admin" value="%{user.admin}" label="%{getText('t3.common.admin')}"/>
    
    164
    +        <s:else>
    
    165
    +          <s:hidden key="user.admin" label=""/>
    
    166
    +          <s:checkbox value="%{user.admin}" key="t3.common.admin" disabled="true"/>
    
    167
    +        </s:else>
    
    168
    +      </s:if>
    
    163 169
         </fieldset>
    
    164 170
         <p><s:text name="t3.label.info.changePassword"/></p>
    
    165 171
         <br/>