From 2ee450727df2fc2e02c2e747ae8d973aef399eec Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Wed, 20 Sep 2023 12:37:07 +0200 Subject: [PATCH 1/8] modif visuel modal info application avant de faire la page intermediaire --- .../application/CharteValidator.vue | 2 +- .../DetailApplicationModalCard.vue | 308 +++++++++--------- ui/src/components/charts/ModalCard.vue | 6 +- ui/src/style/_common.scss | 4 + 4 files changed, 167 insertions(+), 153 deletions(-) diff --git a/ui/src/components/application/CharteValidator.vue b/ui/src/components/application/CharteValidator.vue index aff9cd61b..e7372adbb 100644 --- a/ui/src/components/application/CharteValidator.vue +++ b/ui/src/components/application/CharteValidator.vue @@ -10,7 +10,7 @@ export default { </script> <template> - <object :data="href" type="application/pdf" height="900" width="100%" form="validateForm"> + <object :data="href" type="application/pdf" height="600px" width="100%" form="validateForm"> <param name="â€viewâ€" value="â€600pxâ€" /> </object> </template> diff --git a/ui/src/components/application/DetailApplicationModalCard.vue b/ui/src/components/application/DetailApplicationModalCard.vue index c0cd97341..67c583bef 100644 --- a/ui/src/components/application/DetailApplicationModalCard.vue +++ b/ui/src/components/application/DetailApplicationModalCard.vue @@ -1,166 +1,178 @@ <template> <ModalCard - v-show="open || url" - :open="open || !!url" - :title="application && (application.localName || application.name)" - :close-cb="closeCb" + v-show="open || url" + :close-cb="closeCb" + :open="open || !!url" + :title="application && (application.localName || application.name)" > - <div v-if="getUrl" class="modal-card" id="charteValidate"> - <div class="card-header-title"> - {{ $t("applications.charte_header", application) }} + <div v-if="getUrl" id="charteValidate" class="modal-card" style="width: auto"> + <header class="modal-card-head"> + <p class="modal-card-title"> + {{ $t("applications.charte_header", application) }}</p> + </header> + <div class="modal-card-body"> + <CharteValidator :href="getUrl"/> </div> - <CharteValidator :href="getUrl" /> - <form id="validateForm"> - <b-checkbox v-model="validated" type="primary" class="validatesCheckbox" required> - {{ $t("applications.charte_message") }} - </b-checkbox> - </form> + <footer class="modal-card-foot"> + <form id="validateForm"> + <b-checkbox v-model="validated" class="validatesCheckbox" required type="primary"> + {{ $t("applications.charte_message") }} + </b-checkbox> + </form> + </footer> </div> <div v-else class="modal-card"> <div class="card"> - <div class="card-header-title"> - <div class="infos card-content"> - <span - class="description" - v-html=" + <div class="infos card-content"> + <p class="columns" + v-html=" $t('applications.version', { applicationName: application.localName, version: application.version, }) " - /> - <span> + /> + </div> + <div class="infos card-content"> + <p class="columns"> <span :class="application.comment ? 'has-text-primary' : 'has-text-warning'"> {{ application.comment ? $t("applications.comment") : $t("applications.no-comment") }} </span> - <span class="comment">{{ application.comment }}</span> - </span> - </div> + <span class="comment">{{ application.comment }}</span> + </p> </div> <div class="buttonPanel"> - <div class="buttonRubriquePanel" aria-description="application"> - <div class="rubriqueTitle">{{ $t("applications.functions.application-manage") }}</div> - <div v-if="canCreateApplication" class="buttonWarper"> - <b-button - icon-left="pen-square" - type="is-warning" - @click="updateApplication(application.id)" - > - {{ $t("applications.change") }} - </b-button> - </div> - <div v-if="canCreateApplication" class="buttonWarper"> - <b-button - icon-left="download" - type="is-primary" - @click="downloadYamlApplication(application)" - > - {{ $t("referencesManagement.download") }} - </b-button> - </div> - <div class="buttonWarper"> - <b-button - icon-left="download" - @click="charteHREF = downloadCharteApplication(application.id)" - > - {{ $t("applications.functions.charte-consult") }} - </b-button> - </div> - <div v-if="canCreateApplication" class="buttonWarper"> - <b-upload - v-model="tmpCharte" - class="file-label" - @input="uploadCharteApplication(application)" - required - :validationMessage="$t('applications.functions.file-select')" - > + <b-tabs class="buttonRubriquePanel"> + <b-tab-item aria-description="application"> + <template #header> + <span class="rubriqueTitle">{{ $t("applications.functions.application-manage") }}</span> + </template> + <div v-if="canCreateApplication" class="buttonWarper"> + <b-button + icon-left="pen-square" + type="is-warning" + @click="updateApplication(application.id)" + > + {{ $t("applications.change") }} + </b-button> + </div> + <div v-if="canCreateApplication" class="buttonWarper"> + <b-button + icon-left="download" + type="is-primary" + @click="downloadYamlApplication(application)" + > + {{ $t("referencesManagement.download") }} + </b-button> + </div> + <div class="buttonWarper"> + <b-button + icon-left="download" + @click="charteHREF = downloadCharteApplication(application.id)" + > + {{ $t("applications.functions.charte-consult") }} + </b-button> + </div> + <div v-if="canCreateApplication" class="buttonWarper"> + <b-upload + v-model="tmpCharte" + :validationMessage="$t('applications.functions.file-select')" + class="file-label" + required + @input="uploadCharteApplication(application)" + > <span class="file-cta"> <b-icon class="file-icon" icon="upload"></b-icon> <span class="file-label">{{ $t("applications.functions.upload") }}</span> </span> - </b-upload> - </div> - </div> - <div class="buttonRubriquePanel" aria-description="references"> - <div class="rubriqueTitle">{{ $t("applications.functions.references-manage") }}</div> - <div class="buttonWarper"> - <b-button - icon-left="drafting-compass" - @click="displayReferencesManagement(application.name)" + </b-upload> + </div> + </b-tab-item> + <b-tab-item aria-description="references"> + <template #header> + <span class="rubriqueTitle">{{ $t("applications.functions.references-manage") }}</span> + </template> + <div class="buttonWarper"> + <b-button + icon-left="drafting-compass" + @click="displayReferencesManagement(application.name)" >{{ $t("applications.references") }} - </b-button> - </div> - <div class="buttonWarper"> - <b-button icon-left="drafting-compass" @click="showReferenceRights(application.name)" + </b-button> + </div> + <div class="buttonWarper"> + <b-button icon-left="drafting-compass" @click="showReferenceRights(application.name)" >{{ $t("applications.functions.references-rights") }} - </b-button> - </div> - </div> - <div class="buttonRubriquePanel" aria-description="data"> - <div class="rubriqueTitle">{{ $t("applications.functions.data-manage") }}</div> - <div class="buttonWarper"> - <b-button icon-left="poll" @click="displayDataSetManagement(application.name)" + </b-button> + </div> + </b-tab-item> + <b-tab-item aria-description="data"> + <template #header> + <span class="rubriqueTitle">{{ $t("applications.functions.data-manage") }}</span> + </template> + <div class="buttonWarper"> + <b-button icon-left="poll" @click="displayDataSetManagement(application.name)" >{{ $t("applications.dataset") }} - </b-button> - </div> - <div class="buttonWarper"> - <b-button icon-left="drafting-compass" @click="showDataRights(application.name)" + </b-button> + </div> + <div class="buttonWarper"> + <b-button icon-left="drafting-compass" @click="showDataRights(application.name)" >{{ $t("applications.functions.data-rights") }} - </b-button> - </div> - </div> - <div class="buttonRubriquePanel" aria-description="authorization"> - <div class="rubriqueTitle"> - {{ $t("applications.functions.right-requests-manage") }} - </div> - <span v-if="!canCreateApplication" class="buttonWarper"> + </b-button> + </div> + </b-tab-item> + <b-tab-item aria-description="authorization"> + <template #header> + <span class="rubriqueTitle">{{ $t("applications.functions.right-requests-manage") }}</span> + </template> + <span v-if="!canCreateApplication" class="buttonWarper"> <b-button - icon-left="users-cog" - type="is-primary" - @click="showRequestRights(application.name)" + icon-left="users-cog" + type="is-primary" + @click="showRequestRights(application.name)" > {{ $t("dataTypeAuthorizations.showRequests") }} </b-button> </span> - <div v-else class="buttonWarper"> - <b-button - icon-left="users-cog" - type="is-primary" - @click="requestRights(application.name)" + <div v-else class="buttonWarper"> + <b-button + icon-left="users-cog" + type="is-primary" + @click="requestRights(application.name)" + > + {{ $t("dataTypeAuthorizations.request") }} + </b-button> + </div> + </b-tab-item> + <b-tab-item aria-description="additional files"> + <template #header> + <span class="rubriqueTitle">{{ $t("applications.functions.additional-files-manage") }}</span> + </template> + <div + v-if="application.additionalFile && application.additionalFile.length !== 0" + class="buttonWarper" > - {{ $t("dataTypeAuthorizations.request") }} - </b-button> - </div> - </div> - <div class="buttonRubriquePanel" aria-description="additional files"> - <div class="rubriqueTitle"> - {{ $t("applications.functions.additional-files-manage") }} - </div> - <div - v-if="application.additionalFile && application.additionalFile.length !== 0" - class="buttonWarper" - > - <b-button - icon-left="file" - @click="displayAdditionalFilesManagement(application.name)" + <b-button + icon-left="file" + @click="displayAdditionalFilesManagement(application.name)" + > + {{ $t("applications.additionalFile") }} + </b-button> + </div> + <div + v-if="application.additionalFile && application.additionalFile.length !== 0" + class="buttonWarper" > - {{ $t("applications.additionalFile") }} - </b-button> - </div> - <div - v-if="application.additionalFile && application.additionalFile.length !== 0" - class="buttonWarper" - > - <b-button - icon-left="file" - @click="showAdditionalFilesManagementRights(application.name)" - > - {{ $t("applications.functions.additional-files-rights") }} - </b-button> - </div> - </div> + <b-button + icon-left="file" + @click="showAdditionalFilesManagementRights(application.name)" + > + {{ $t("applications.functions.additional-files-rights") }} + </b-button> + </div> + </b-tab-item> + </b-tabs> </div> </div> </div> @@ -169,15 +181,15 @@ <script> import ModalCard from "@/components/charts/ModalCard"; -import { useRedirections } from "@/composable/applications/useFunction"; +import {useRedirections} from "@/composable/applications/useFunction"; import useText from "@/composable/components/text"; import CharteValidator from "@/components/application/CharteValidator.vue"; -import { computed } from "vue"; +import {computed} from "vue"; import services from "@/composable/services"; export default { name: "DetailApplicationModalCard", - components: { CharteValidator, ModalCard }, + components: {CharteValidator, ModalCard}, emits: ["setValidatedCharte"], props: { open: { @@ -218,9 +230,9 @@ export default { get() { const authenticatedUser = () => services.loginService.getAuthenticatedUser(); if ( - authenticatedUser() && - authenticatedUser().chartes && - authenticatedUser().chartes[props.application.id] + authenticatedUser() && + authenticatedUser().chartes && + authenticatedUser().chartes[props.application.id] ) { return new Date().getTime() > authenticatedUser().chartes[props.application.id]; } @@ -229,16 +241,16 @@ export default { set(bool) { const authenticatedUser = () => services.loginService.getAuthenticatedUser(); bool && - services.loginService.modifAcount({ - login: authenticatedUser().login, - email: authenticatedUser().email, - charte: props.application.id, - }); + services.loginService.modifAcount({ + login: authenticatedUser().login, + email: authenticatedUser().email, + charte: props.application.id, + }); bool && - ctx.emit("setValidatedCharte", { - applicationId: props.application.id, - validated: bool, - }); + ctx.emit("setValidatedCharte", { + applicationId: props.application.id, + validated: bool, + }); }, }); const { @@ -320,7 +332,6 @@ div.buttonPanel { } div.buttonRubriquePanel { - border: rgba(219, 219, 219, 0.4) thick solid; flex-wrap: nowrap; display: flex; flex-direction: column; @@ -331,9 +342,7 @@ div.buttonRubriquePanel { div.buttonRubriquePanel .rubriqueTitle { width: 100%; text-align: center; - color: #007f7f; font-size: 150%; - border-bottom: #007f7f solid thin; } div.buttonWarper { @@ -357,14 +366,15 @@ div.buttonWarper button { .validatesCheckbox { padding: 5px; - color: white; + color: #007F7F; font-size: 2rem; } .validatesCheckbox:hover { background-color: white; } -.card-header-title{ + +.card-header-title { color: white; font-size: 200%; padding: 1em; diff --git a/ui/src/components/charts/ModalCard.vue b/ui/src/components/charts/ModalCard.vue index e785a4d62..4122b2ec3 100644 --- a/ui/src/components/charts/ModalCard.vue +++ b/ui/src/components/charts/ModalCard.vue @@ -36,13 +36,13 @@ export default { watch( () => props.open, (newVal) => { - this.innerOpen.value = newVal; + innerOpen.value = newVal; } ); watch( - () => this.innerOpen, + () => innerOpen, (newVal) => { - this.closeCb(newVal); + props.closeCb(newVal); } ); return {}; diff --git a/ui/src/style/_common.scss b/ui/src/style/_common.scss index 0e9358276..f9a6a2d31 100644 --- a/ui/src/style/_common.scss +++ b/ui/src/style/_common.scss @@ -13,6 +13,10 @@ body { align-items: center; justify-content: center; } + +.is-large.modal-close{ + background-color: $primary; +} .title { color: $primary; margin-top: $title-margin-top; -- GitLab From 5550ef4efbae37eb60739550a72314568a49df2d Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Tue, 3 Oct 2023 16:40:23 +0200 Subject: [PATCH 2/8] avec un full-screen c'est mieux --- ui/src/components/application/ApplicationCard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/components/application/ApplicationCard.vue b/ui/src/components/application/ApplicationCard.vue index 545df0e83..35e62082b 100644 --- a/ui/src/components/application/ApplicationCard.vue +++ b/ui/src/components/application/ApplicationCard.vue @@ -80,7 +80,7 @@ export default { type="is-primary" @click="isCardModalActive = true" /> - <b-modal v-model="isCardModalActive" class="modalByAgrégation" width="90%" height="90%"> + <b-modal v-model="isCardModalActive" class="modalByAgrégation" full-screen> <DetailApplicationModalCard :application="application" :open="isCardModalActive" -- GitLab From d5d2c517d4c353c5dd6e5db6368fcc2bb57d041a Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Wed, 4 Oct 2023 15:03:37 +0200 Subject: [PATCH 3/8] buttonPanel dans le cadre (fin du hors ecrant) --- ui/src/components/application/DetailApplicationModalCard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/components/application/DetailApplicationModalCard.vue b/ui/src/components/application/DetailApplicationModalCard.vue index 67c583bef..0f1b3d56d 100644 --- a/ui/src/components/application/DetailApplicationModalCard.vue +++ b/ui/src/components/application/DetailApplicationModalCard.vue @@ -43,7 +43,7 @@ <span class="comment">{{ application.comment }}</span> </p> </div> - <div class="buttonPanel"> + <div class="buttonPanel columns" style="display: contents"> <b-tabs class="buttonRubriquePanel"> <b-tab-item aria-description="application"> <template #header> -- GitLab From eee4c0dd47e4552fec33cecbb57ae44ace738d0d Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Thu, 12 Oct 2023 17:28:45 +0200 Subject: [PATCH 4/8] =?UTF-8?q?modification=20de=20update=20application=20?= =?UTF-8?q?avec=20v=C3=A9rification=20de=20la=20version=20pr=C3=A9c=C3=A9d?= =?UTF-8?q?ente=20et=20du=20nom=20de=20l'application?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/DetailApplicationModalCard.vue | 2 +- ui/src/composable/applications/useFunction.js | 4 ++-- ui/src/locales/fr.json | 2 +- ui/src/router/index.js | 3 ++- .../views/application/ApplicationCreationView.vue | 13 +++++++++---- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/ui/src/components/application/DetailApplicationModalCard.vue b/ui/src/components/application/DetailApplicationModalCard.vue index 0f1b3d56d..1df47770b 100644 --- a/ui/src/components/application/DetailApplicationModalCard.vue +++ b/ui/src/components/application/DetailApplicationModalCard.vue @@ -53,7 +53,7 @@ <b-button icon-left="pen-square" type="is-warning" - @click="updateApplication(application.id)" + @click="updateApplication(application.name, application.version)" > {{ $t("applications.change") }} </b-button> diff --git a/ui/src/composable/applications/useFunction.js b/ui/src/composable/applications/useFunction.js index 7e6943992..1e6927f67 100644 --- a/ui/src/composable/applications/useFunction.js +++ b/ui/src/composable/applications/useFunction.js @@ -20,8 +20,8 @@ export function useRedirections(application = { authorizations: [] }) { /* limited to applicationCreator */ - function updateApplication() { - return canCreateApplication() && app.$router.push(`/applicationCreation`); + function updateApplication(applicationName, applicationVersion) { + return canCreateApplication() && app.$router.push(`/applicationCreation/${applicationName}/${applicationVersion}`); } /* diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json index 14b5ea70a..07df39e26 100644 --- a/ui/src/locales/fr.json +++ b/ui/src/locales/fr.json @@ -103,7 +103,7 @@ "registered-user": "Compte utilisateur créé", "revoke-authorization": "Autorisation révoquée", "server-error": "Une erreur serveur est survenue", - "server-error-appli-exist": "Ce nom d'application existe déjà ", + "server-error-appli-exist": "L'application {name} existe déjà en version : {version}", "user-email-updated": "Votre email vient d'être mis à jours avec succès. ", "user-pwd-updated": "Votre mot de passe vient d'être mis à jours avec succès. ", "user-unknown": "message : {message} ", diff --git a/ui/src/router/index.js b/ui/src/router/index.js index dc51744b6..1dbe4f223 100644 --- a/ui/src/router/index.js +++ b/ui/src/router/index.js @@ -52,9 +52,10 @@ const routes = [ component: ApplicationsView, }, { - path: "/applicationCreation", + path: "/applicationCreation/:applicationName/:applicationVersion", name: "Application creation", component: ApplicationCreationView, + props: true, }, { path: "/authorizationsManagementForApplicationCreator", diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue index 9c9e0315f..760c52ae7 100644 --- a/ui/src/views/application/ApplicationCreationView.vue +++ b/ui/src/views/application/ApplicationCreationView.vue @@ -104,7 +104,7 @@ {{ $t("applications.change") }} </b-button> <b-button - v-if="applicationConfig.name !== '' && !btnUpdateConfig" + v-if="applicationConfig.name !== '' && !btnUpdateConfig && applicationVersion === null" icon-left="plus" type="is-primary" @click="handleSubmit(createApplication)" @@ -141,7 +141,7 @@ </template> <script> -import { Component, Vue } from "vue-property-decorator"; +import { Component, Prop, Vue } from "vue-property-decorator"; import PageView from "@/views/common/PageView.vue"; import { ValidationObserver, ValidationProvider } from "vee-validate"; import { ApplicationConfig } from "@/model/ApplicationConfig"; @@ -155,6 +155,8 @@ import LoadingAnimate from "@/components/common/LoadingAnimate.vue"; components: { LoadingAnimate, PageView, ValidationObserver, ValidationProvider }, }) export default class ApplicationCreationView extends Vue { + @Prop() applicationName; + @Prop() applicationVersion; applicationService = ApplicationService.INSTANCE; errorsService = ErrorsService.INSTANCE; alertService = AlertService.INSTANCE; @@ -206,10 +208,13 @@ export default class ApplicationCreationView extends Vue { if (response.valid === true) { this.applicationConfig.name = response.result.application.name.toLowerCase(); this.applicationConfig.version = response.result.application.version; - if (response.result.application.version !== 1) { + if (response.result.application.version !== this.applicationVersion && response.result.application.name === this.applicationName) { this.btnUpdateConfig = true; + } else if(this.applicationConfig.version.toString() === this.applicationVersion && this.applicationConfig.name === this.applicationName) { + this.alertService.toastError(this.$t("alert.server-error-appli-exist", this.applicationName, this.applicationVersion)); + } else { + this.alertService.toastSuccess(this.$t("alert.application-validate-success")); } - this.alertService.toastSuccess(this.$t("alert.application-validate-success")); } else { for (let i = 0; i < response.validationCheckResults.length; i++) { if ( -- GitLab From 70ac8a432b7d9f3d4b38b09aba9af899c6195351 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 13 Oct 2023 10:33:47 +0200 Subject: [PATCH 5/8] =?UTF-8?q?mise=20=C3=A0=20jours=20du=20message=20sur?= =?UTF-8?q?=20la=20version=20de=20l'application=20lors=20du=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/locales/en.json | 3 ++- ui/src/locales/fr.json | 3 ++- ui/src/views/application/ApplicationCreationView.vue | 10 ++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index 83795c4df..b64a1f3e3 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -115,7 +115,8 @@ "actions": "Actions", "additionalFile": "Additional files", "advancedFilter": "Advanced search", - "app_version": "Current app version :", + "app_version": "Current version of {name} is: {version}", + "app_update_version": "Version of {name} proposed is: {version}", "change": "Edit app", "charte_message": "I have read and accept the conditions of use of the data.", "charte_header": "To access the {localName} application, you must accept the conditions of use.", diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json index 07df39e26..678647cbe 100644 --- a/ui/src/locales/fr.json +++ b/ui/src/locales/fr.json @@ -115,7 +115,8 @@ "actions": "Actions", "additionalFile": "Fichiers additionnels", "advancedFilter": "Recherche avancée", - "app_version": "Version actuelle de l'application :", + "app_version": "Version actuelle de {name} est : {version}", + "app_update_version": "Version de {name} proposé est : {version}", "change": "Modifier l'application", "charte_message": "J'ai lu et j'accepte les conditions d'utilisation des données.", "charte_header": "Pour accéder à l'application {localName}, vous devez accepter les conditions d'utilisation.", diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue index 760c52ae7..e0e34c451 100644 --- a/ui/src/views/application/ApplicationCreationView.vue +++ b/ui/src/views/application/ApplicationCreationView.vue @@ -55,7 +55,10 @@ </div> <div class="column is-4"> <b-tag v-if="btnUpdateConfig" size="is-large" style="margin: 5px" type="is-warning"> - {{ $t("applications.app_version") }}{{ applicationConfig.version }} + {{ $t("applications.app_update_version", { version: applicationConfig.version, name: applicationConfig.name }) }} + </b-tag> + <b-tag v-else-if="applicationVersion" size="is-large" style="margin: 5px" type="is-primary"> + {{ $t("applications.app_version", { version: applicationVersion, name: applicationName }) }} </b-tag> </div> </div> @@ -211,7 +214,10 @@ export default class ApplicationCreationView extends Vue { if (response.result.application.version !== this.applicationVersion && response.result.application.name === this.applicationName) { this.btnUpdateConfig = true; } else if(this.applicationConfig.version.toString() === this.applicationVersion && this.applicationConfig.name === this.applicationName) { - this.alertService.toastError(this.$t("alert.server-error-appli-exist", this.applicationName, this.applicationVersion)); + this.alertService.toastError(this.$t("alert.server-error-appli-exist", { + name: this.applicationName, + version: this.applicationVersion + })); } else { this.alertService.toastSuccess(this.$t("alert.application-validate-success")); } -- GitLab From 12c038a59f5f7954d8c768915df8876591f60879 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 13 Oct 2023 10:39:52 +0200 Subject: [PATCH 6/8] avec le titre c'est mieux --- ui/src/locales/en.json | 1 + ui/src/locales/fr.json | 1 + ui/src/views/application/ApplicationCreationView.vue | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index b64a1f3e3..5f1454655 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -591,6 +591,7 @@ "additionalFiles-authorizations": "Permissions for additional files", "aide": "Help writing an application's configuration file.", "application-creation": "Application creation", + "application-update": "Application update {name}", "applications-page": "My applications", "authorizations-management": "Authorizations management of applications", "data-type-authorizations": "Authorizations on data types.", diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json index 678647cbe..03f458fd9 100644 --- a/ui/src/locales/fr.json +++ b/ui/src/locales/fr.json @@ -591,6 +591,7 @@ "additionalFiles-authorizations": "Autorisations des fichiers additionnels", "aide": "Aide à l'écriture du fichier de configuration d'une application.", "application-creation": "Créer une application", + "application-update": "Mise à jours de l'application {name}", "applications-page": "Mes applications", "authorizations-management": "Gestion des autorisations sur les applications", "data-type-authorizations": "Autorisations de {dataType}", diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue index e0e34c451..28fc2d2fb 100644 --- a/ui/src/views/application/ApplicationCreationView.vue +++ b/ui/src/views/application/ApplicationCreationView.vue @@ -1,7 +1,8 @@ <template> <div> <PageView> - <h1 class="title main-title">{{ $t("titles.application-creation") }}</h1> + <h1 class="title main-title" v-if="applicationVersion" >{{ $t("titles.application-update", {name: applicationName}) }}</h1> + <h1 class="title main-title" v-else>{{ $t("titles.application-creation") }}</h1> <div> <ValidationObserver ref="observer" v-slot="{ handleSubmit }"> <div class="columns"> -- GitLab From e701d03d7211aeeca8910a3ab04832877b18e3f1 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Mon, 16 Oct 2023 11:23:49 +0200 Subject: [PATCH 7/8] oublie d'une route --- ui/src/router/index.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ui/src/router/index.js b/ui/src/router/index.js index 1dbe4f223..959996037 100644 --- a/ui/src/router/index.js +++ b/ui/src/router/index.js @@ -52,11 +52,17 @@ const routes = [ component: ApplicationsView, }, { - path: "/applicationCreation/:applicationName/:applicationVersion", + path: "/applicationCreation", name: "Application creation", component: ApplicationCreationView, props: true, }, + { + path: "/applicationCreation/:applicationName/:applicationVersion", + name: "Application update", + component: ApplicationCreationView, + props: true, + }, { path: "/authorizationsManagementForApplicationCreator", name: "Authorizations application creation", -- GitLab From 425cc01bbd956d0a3427afc18f2ea332d38e2edc Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Mon, 16 Oct 2023 12:23:56 +0200 Subject: [PATCH 8/8] test_distant --- ui/src/views/application/ApplicationCreationView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue index 28fc2d2fb..057f70260 100644 --- a/ui/src/views/application/ApplicationCreationView.vue +++ b/ui/src/views/application/ApplicationCreationView.vue @@ -160,7 +160,7 @@ import LoadingAnimate from "@/components/common/LoadingAnimate.vue"; }) export default class ApplicationCreationView extends Vue { @Prop() applicationName; - @Prop() applicationVersion; + @Prop({default: null}) applicationVersion; applicationService = ApplicationService.INSTANCE; errorsService = ErrorsService.INSTANCE; alertService = AlertService.INSTANCE; -- GitLab