From a0c51eae45f950a9fc811569e737f87c7f5a00db Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Tue, 10 Oct 2023 11:28:41 +0200
Subject: [PATCH 1/2] =?UTF-8?q?r=C3=A9paration=20fermeture=20modal=20mots?=
 =?UTF-8?q?=20de=20passe=20oublier?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ui/src/components/login/PasswordLostModal.vue | 238 ++++++++----------
 ui/src/components/login/Signin.vue            | 118 +++++----
 2 files changed, 171 insertions(+), 185 deletions(-)

diff --git a/ui/src/components/login/PasswordLostModal.vue b/ui/src/components/login/PasswordLostModal.vue
index b2bf162cc..f1fabde30 100644
--- a/ui/src/components/login/PasswordLostModal.vue
+++ b/ui/src/components/login/PasswordLostModal.vue
@@ -1,5 +1,5 @@
 <script>
-import { computed, inject } from "vue";
+import { inject } from "vue";
 import useNumber from "@/composable/components/number";
 import useText from "@/composable/components/text";
 import services from "@/composable/services";
@@ -10,10 +10,6 @@ import TextField from "@/components/forms/TextField.vue";
 export default {
   emit: ["changeState"],
   props: {
-    isComponentModalActive: {
-      required: true,
-      type: Boolean,
-    },
     signIn: {
       required: true,
       type: Function,
@@ -28,14 +24,6 @@ export default {
     const email = inject("email");
     const password = inject("password");
     const verificationKey = inject("verificationKey");
-    const isActive = computed({
-      get() {
-        return props.isComponentModalActive;
-      },
-      set(bool) {
-        this.$emit("changeState", bool);
-      },
-    });
 
     const testLostPassword = async function (
       login,
@@ -76,9 +64,6 @@ export default {
       email,
       password,
       activeStep,
-
-      isActive,
-
       testLostPassword,
     };
   },
@@ -86,124 +71,111 @@ export default {
 </script>
 
 <template>
-  <b-modal
-    v-model="isActive"
-    :destroy-on-hide="false"
-    aria-label="Example Modal"
-    aria-modal
-    aria-role="dialog"
-    close-button-aria-label="Close"
-    has-modal-card
-    trap-focus
-  >
-    <template>
-      <div class="card">
-        <div class="card-content">
-          <ValidationObserver ref="observer">
-            <b-steps
-              v-model="activeStep"
-              :animated="true"
-              :has-navigation="true"
-              :rounded="true"
-              label-position="bottom"
-            >
-              <b-step-item :clickable="false" :label="$t('login.profil')" step="1">
-                <h1 class="titleModal has-text-centered">
-                  {{ $t("login.lost-pwd.title-step-1") }}
-                </h1>
-                <TextField
-                  v-model="login"
-                  rules="min:4"
-                  label="login.login"
-                  name="missing-password.login"
-                  place-holder="login.login-placeholder"
-                  :mandatory="true"
-                  @update:value="login = $event"
-                />
-                <TextField
-                  v-model="email"
-                  rules="email"
-                  label="login.email"
-                  name="missing-password.email"
-                  place-holder="login.email-placeholder"
-                  :mandatory="true"
-                  @update:value="email = $event"
-                />
-              </b-step-item>
+  <div class="card">
+    <div class="card-content">
+      <ValidationObserver ref="observer">
+        <b-steps
+          v-model="activeStep"
+          :animated="true"
+          :has-navigation="true"
+          :rounded="true"
+          label-position="bottom"
+        >
+          <b-step-item :clickable="false" :label="$t('login.profil')" step="1">
+            <h1 class="titleModal has-text-centered">
+              {{ $t("login.lost-pwd.title-step-1") }}
+            </h1>
+            <TextField
+              v-model="login"
+              rules="min:4"
+              label="login.login"
+              name="missing-password.login"
+              place-holder="login.login-placeholder"
+              :mandatory="true"
+              @update:value="login = $event"
+            />
+            <TextField
+              v-model="email"
+              rules="email"
+              label="login.email"
+              name="missing-password.email"
+              place-holder="login.email-placeholder"
+              :mandatory="true"
+              @update:value="email = $event"
+            />
+          </b-step-item>
 
-              <b-step-item :clickable="false" :label="$t('login.pwd')" step="2">
-                <h1 class="titleModal has-text-centered">
-                  {{ $t("login.lost-pwd.title-step-2") }}
-                </h1>
-                <b-notification
-                  v-if="email"
-                  :aria-close-label="$t('message.close')"
-                  type="is-info is-light"
-                >
-                  <span v-html="$t('login.info-mail-validate-key', { email })" class="column" />
-                </b-notification>
-                <TextField
-                  v-model="verificationKey"
-                  rules="length:10"
-                  label="login.lost-pwd.temporary-pwd"
-                  name="missing-password.verificationKey"
-                  place-holder="login.verificationKey-placeholder"
-                  :mandatory="true"
-                  @update:value="verificationKey = $event"
-                />
-                <TextField
-                  v-model="newPassword"
-                  type="password"
-                  label="login.lost-pwd.new-pwd"
-                  name="missing-password.new-pwd"
-                  place-holder="login.pwd-placeholder"
-                  :mandatory="true"
-                  @update:value="newPassword = $event"
-                />
-                <TextField
-                  :disabled="newPassword === null"
-                  v-model="newPasswordConfirm"
-                  rules="confirmed:missing-password.new-pwd"
-                  type="password"
-                  label="login.lost-pwd.new-pwd-confirm"
-                  name="missing-password.new-pwd-confirm"
-                  place-holder="login.pwd-placeholder"
-                  :mandatory="true"
-                  @update:value="newPasswordConfirm = $event"
-                />
-              </b-step-item>
-              <template #navigation="{ previous, next }">
-                <b-button
-                  aria-description="missing-password.toSecondStep"
-                  :disabled="previous.disabled"
-                  icon-right="chevron-left"
-                  outlined
-                  @click.prevent="previous.action"
-                >
-                </b-button>
-                <b-button
-                  :disabled="
-                    activeStep === 1
-                      ? verificationKey === '' && newPassword === '' && newPasswordConfirm === ''
-                      : login === '' || email === ''
-                  "
-                  icon-right="chevron-right"
-                  outlined
-                  type="is-primary"
-                  @click="
-                    testLostPassword(login, email, verificationKey, newPassword, newPasswordConfirm)
-                  "
-                  @click.prevent="next.action"
-                >
-                  {{ activeStep === 1 ? $t("login.finish-step") : $t("login.next-step") }}
-                </b-button>
-              </template>
-            </b-steps>
-          </ValidationObserver>
-        </div>
-      </div>
-    </template>
-  </b-modal>
+          <b-step-item :clickable="false" :label="$t('login.pwd')" step="2">
+            <h1 class="titleModal has-text-centered">
+              {{ $t("login.lost-pwd.title-step-2") }}
+            </h1>
+            <b-notification
+              v-if="email"
+              :aria-close-label="$t('message.close')"
+              type="is-info is-light"
+            >
+              <span v-html="$t('login.info-mail-validate-key', { email })" class="column" />
+            </b-notification>
+            <TextField
+              v-model="verificationKey"
+              rules="length:10"
+              label="login.lost-pwd.temporary-pwd"
+              name="missing-password.verificationKey"
+              place-holder="login.verificationKey-placeholder"
+              :mandatory="true"
+              @update:value="verificationKey = $event"
+            />
+            <TextField
+              v-model="newPassword"
+              type="password"
+              label="login.lost-pwd.new-pwd"
+              name="missing-password.new-pwd"
+              place-holder="login.pwd-placeholder"
+              :mandatory="true"
+              @update:value="newPassword = $event"
+            />
+            <TextField
+              :disabled="newPassword === null"
+              v-model="newPasswordConfirm"
+              rules="confirmed:missing-password.new-pwd"
+              type="password"
+              label="login.lost-pwd.new-pwd-confirm"
+              name="missing-password.new-pwd-confirm"
+              place-holder="login.pwd-placeholder"
+              :mandatory="true"
+              @update:value="newPasswordConfirm = $event"
+            />
+          </b-step-item>
+          <template #navigation="{ previous, next }">
+            <b-button
+              aria-description="missing-password.toSecondStep"
+              :disabled="previous.disabled"
+              icon-right="chevron-left"
+              outlined
+              @click.prevent="previous.action"
+            >
+            </b-button>
+            <b-button
+              :disabled="
+                activeStep === 1
+                  ? verificationKey === '' && newPassword === '' && newPasswordConfirm === ''
+                  : login === '' || email === ''
+              "
+              icon-right="chevron-right"
+              outlined
+              type="is-primary"
+              @click="
+                testLostPassword(login, email, verificationKey, newPassword, newPasswordConfirm)
+              "
+              @click.prevent="next.action"
+            >
+              {{ activeStep === 1 ? $t("login.finish-step") : $t("login.next-step") }}
+            </b-button>
+          </template>
+        </b-steps>
+      </ValidationObserver>
+    </div>
+  </div>
 </template>
 
 <style scoped lang="scss"></style>
diff --git a/ui/src/components/login/Signin.vue b/ui/src/components/login/Signin.vue
index 0080c3fef..5a421228a 100644
--- a/ui/src/components/login/Signin.vue
+++ b/ui/src/components/login/Signin.vue
@@ -4,55 +4,55 @@
       <div v-if="errorsMessages.length" style="margin: 10px">
         <div v-for="msg in errorsMessages" :key="msg">
           <b-message
-            :aria-close-label="$t('message.close')"
-            :title="$t('message.login-warning')"
-            has-icon
-            type="is-danger"
+              :aria-close-label="$t('message.close')"
+              :title="$t('message.login-warning')"
+              has-icon
+              type="is-danger"
           >
-            <span v-html="msg" />
+            <span v-html="msg"/>
           </b-message>
         </div>
       </div>
       <TextField
-        v-model:value="login"
-        rules="min:4"
-        label="login.login"
-        name="login.login"
-        place-holder="login.login-placeholder"
-        :mandatory="true"
-        @update:value="login = $event"
+          v-model:value="login"
+          :mandatory="true"
+          label="login.login"
+          name="login.login"
+          place-holder="login.login-placeholder"
+          rules="min:4"
+          @update:value="login = $event"
       />
       <TextField
-        v-model:value="password"
-        type="password"
-        label="login.pwd"
-        name="password"
-        place-holder="login.pwd-placeholder"
-        :mandatory="true"
-        @update:value="password = $event"
+          v-model:value="password"
+          :mandatory="true"
+          label="login.pwd"
+          name="password"
+          place-holder="login.pwd-placeholder"
+          type="password"
+          @update:value="password = $event"
       />
       <div v-if="warningMessages.length && password" style="margin: 10px">
         <div v-for="msg in warningMessages" :key="msg">
           <b-message
-            :aria-close-label="$t('message.close')"
-            :title="$t('message.login-warning')"
-            has-icon
-            icon="exclamation-triangle"
-            type="is-warning"
+              :aria-close-label="$t('message.close')"
+              :title="$t('message.login-warning')"
+              has-icon
+              icon="exclamation-triangle"
+              type="is-warning"
           >
-            <span class="column" v-html="msg" />
+            <span class="column" v-html="msg"/>
           </b-message>
         </div>
       </div>
       <TextField
-        v-if="verificationKeyVisible"
-        rules="length:10"
-        v-model:value="verificationKey"
-        label="login.verificationKey"
-        name="verificationKey"
-        place-holder="login.verificationKey-placeholder"
-        :mandatory="true"
-        @update:value="
+          v-if="verificationKeyVisible"
+          v-model:value="verificationKey"
+          :mandatory="true"
+          label="login.verificationKey"
+          name="verificationKey"
+          place-holder="login.verificationKey-placeholder"
+          rules="length:10"
+          @update:value="
           verificationKey = $event;
           activateLogin();
         "
@@ -61,44 +61,58 @@
 
     <div class="buttons">
       <b-button
-        aria-description="login.signIn"
-        :aria-label="$t('login.aria-btn-login')"
-        icon-left="sign-in-alt"
-        type="is-primary"
-        @click="handleSubmit(signIn)"
+          :aria-label="$t('login.aria-btn-login')"
+          aria-description="login.signIn"
+          icon-left="sign-in-alt"
+          type="is-primary"
+          @click="handleSubmit(signIn)"
       >
         {{ $t("login.signin") }}
       </b-button>
       <b-button
-        aria-description="login.pwd-forgotten"
-        :label="$t('login.pwd-forgotten')"
-        outlined
-        type="is-warning"
-        @click="isComponentModalActive = true"
+          :label="$t('login.pwd-forgotten')"
+          aria-description="login.pwd-forgotten"
+          outlined
+          type="is-warning"
+          @click="isComponentModalActive = true"
       />
-      <PasswordLostModal :isComponentModalActive="isComponentModalActive" :sign-in="signIn" />
+
+      <b-modal
+          v-model="isComponentModalActive"
+          :destroy-on-hide="false"
+          aria-label="Example Modal"
+          aria-modal
+          aria-role="dialog"
+          close-button-aria-label="Close"
+          has-modal-card
+          trap-focus
+      >
+        <template>
+          <PasswordLostModal :sign-in="signIn"/>
+        </template>
+      </b-modal>
     </div>
   </ValidationObserver>
 </template>
 
 <script>
 import services from "@/composable/services";
-import { HttpStatusCodes } from "@/utils/HttpUtils";
-import { inject, provide } from "vue";
+import {HttpStatusCodes} from "@/utils/HttpUtils";
+import {inject, provide} from "vue";
 import useBoolean from "@/composable/components/boolean";
 import useText from "@/composable/components/text";
 import useArray from "@/composable/components/array";
-import { ValidationObserver } from "vee-validate";
+import {ValidationObserver} from "vee-validate";
 import TextField from "@/components/forms/TextField.vue";
 import PasswordLostModal from "@/components/login/PasswordLostModal.vue";
-import { i18n } from "@/main";
+import {i18n} from "@/main";
 
 export default {
   name: "SigIn",
-  components: { PasswordLostModal, TextField, ValidationObserver },
+  components: {PasswordLostModal, TextField, ValidationObserver},
   setup() {
-    const { refBoolean: verificationKeyVisible } = useBoolean();
-    const { refBoolean: isComponentModalActive } = useBoolean();
+    const {refBoolean: verificationKeyVisible} = useBoolean();
+    const {refBoolean: isComponentModalActive} = useBoolean();
 
     const login = inject("login");
     const verificationKey = useText().refText;
@@ -110,7 +124,7 @@ export default {
     provide("verificationKey", verificationKey);
     const paymentRequired = function (m) {
       warningMessages.value.push(
-        services.errorsService.getErrorsLoginMessages(m.message, m.params)
+          services.errorsService.getErrorsLoginMessages(m.message, m.params)
       );
       //services.loginService.modifAcount(m.params);
     };
-- 
GitLab


From bd80b286ecd53450c0cf3286873a12cf75a9cbdf Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Tue, 10 Oct 2023 11:29:05 +0200
Subject: [PATCH 2/2] =?UTF-8?q?r=C3=A9parations=20de=20changement=20de=20p?=
 =?UTF-8?q?age=20oubli=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ui/src/composable/applications/useFunction.js        | 8 ++++----
 ui/src/views/references/ReferencesManagementView.vue | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/ui/src/composable/applications/useFunction.js b/ui/src/composable/applications/useFunction.js
index 86b5a2c92..7e6943992 100644
--- a/ui/src/composable/applications/useFunction.js
+++ b/ui/src/composable/applications/useFunction.js
@@ -86,9 +86,9 @@ export function useRedirections(application = { authorizations: [] }) {
   /*
     restricted
      */
-  function showReferenceRights() {
+  function showReferenceRights(applicationName) {
     if (isCharteSigned(application)) {
-      app.$router.push("/applications/" + application.name + "/references/authorizations");
+      app.$router.push("/applications/" + applicationName + "/references/authorizations");
       return false;
     } else {
       return downloadCharteApplication(application.id);
@@ -105,9 +105,9 @@ export function useRedirections(application = { authorizations: [] }) {
     }
   }
 
-  function showDataRights() {
+  function showDataRights(applicationName) {
     if (isCharteSigned(application)) {
-      app.$router.push("/applications/" + application.name + "/authorizations");
+      app.$router.push("/applications/" + applicationName + "/authorizations");
       return false;
     } else {
       return downloadCharteApplication(application.id);
diff --git a/ui/src/views/references/ReferencesManagementView.vue b/ui/src/views/references/ReferencesManagementView.vue
index 3e1b41289..d82819210 100644
--- a/ui/src/views/references/ReferencesManagementView.vue
+++ b/ui/src/views/references/ReferencesManagementView.vue
@@ -55,7 +55,7 @@
       >
       </CollapsibleTree>
       <DetailsPanel
-        :application-name="application.name"
+        :application-name="applicationName"
         :close-cb="(newVal) => (openPanel = newVal)"
         :left-align="false"
         :open="openPanel"
-- 
GitLab