diff --git a/workflow/engine/methods/userPersonalInformation/src/components/personalInformation.vue b/workflow/engine/methods/userPersonalInformation/src/components/personalInformation.vue index 0e2858eff..7188f99d3 100644 --- a/workflow/engine/methods/userPersonalInformation/src/components/personalInformation.vue +++ b/workflow/engine/methods/userPersonalInformation/src/components/personalInformation.vue @@ -10,7 +10,7 @@ autocomplete="off" :state="validate.USR_FIRSTNAME.state" @keyup="validateFirstName" - :disabled="disabled"> + :disabled="disabledField.USR_FIRSTNAME"> {{validate.USR_FIRSTNAME.message}} @@ -22,7 +22,7 @@ autocomplete="off" :state="validate.USR_LASTNAME.state" @keyup="validateLastName" - :disabled="disabled"> + :disabled="disabledField.USR_LASTNAME"> {{validate.USR_LASTNAME.message}} @@ -36,7 +36,7 @@ @click="avatarClick" badge-variant="light" :src="urlImage" - :disabled="disabled"> + :disabled="disabledField.USR_PHOTO"> @@ -45,7 +45,7 @@ + :disabled="disabledField.USR_ADDRESS"/> @@ -54,7 +54,7 @@ + :disabled="disabledField.USR_ZIP_CODE"/> @@ -65,7 +65,7 @@ autocomplete="off" :state="validate.USR_USERNAME.state" @keyup="validateUserName" - :disabled="disabled"> + :disabled="disabledField.USR_USERNAME"> @@ -77,7 +77,7 @@ + :disabled="disabledField.USR_COUNTRY"/> @@ -85,14 +85,14 @@ + :disabled="disabledField.USR_CITY"/> + :disabled="disabledField.USR_LOCATION"/> @@ -103,7 +103,7 @@ autocomplete="off" :state="validate.USR_EMAIL.state" @keyup="validateEmail" - :disabled="disabled"> + :disabled="disabledField.USR_EMAIL"> {{validate.USR_EMAIL.message}} @@ -113,7 +113,7 @@ + :disabled="disabledField.USR_PHONE"/> @@ -122,7 +122,7 @@ + :disabled="disabledField.USR_POSITION"/> @@ -131,7 +131,7 @@ + :disabled="disabledField.USR_STATUS"/> @@ -148,7 +148,7 @@ + :disabled="disabledField.USR_REPLACED_BY"> @@ -156,7 +156,7 @@ + :disabled="disabledField.USR_CALENDAR"/> @@ -165,7 +165,7 @@ + :disabled="disabledField.USR_DUE_DATE"/> @@ -174,7 +174,7 @@ + :disabled="disabledField.USR_TIME_ZONE"/> @@ -183,7 +183,7 @@ + :disabled="disabledField.USR_DEFAULT_LANG"/> @@ -193,7 +193,7 @@ + :disabled="disabledField.USR_ROLE"/> @@ -202,7 +202,7 @@ + :disabled="disabledField.PREF_DEFAULT_MENUSELECTED"/> @@ -211,7 +211,7 @@ + :disabled="disabledField.PREF_DEFAULT_CASES_MENUSELECTED"/> @@ -225,7 +225,7 @@ type="password" @keyup="validatePassword" @change="editing=false;" - :disabled="disabled"> + :disabled="disabledField.USR_NEW_PASS"> @@ -245,7 +245,7 @@ type="password" @keyup="validateConfirmationPassword" @change="editing=false;" - :disabled="disabled"> + :disabled="disabledField.USR_CNF_PASS"> @@ -282,24 +282,24 @@ autocomplete="off" :state="validate.USR_COST_BY_HOUR.state" @keyup="validateCostByHour" - :disabled="disabled"> + :disabled="disabledField.USR_COST_BY_HOUR"> {{validate.USR_COST_BY_HOUR.message}} + :disabled="disabledField.USR_UNIT_COST"/> - + + :disabled="disabledField.USR_LOGGED_NEXT_TIME"> {{$root.translation('ID_USER_MUST_CHANGE_PASSWORD_AT_NEXT_LOGON')}} @@ -428,6 +428,35 @@ editing: false, urlImage: "", disabled: false, + disabledField: { + USR_FIRSTNAME: false, + USR_LASTNAME: false, + USR_ADDRESS: false, + USR_ZIP_CODE: false, + USR_COUNTRY: false, + USR_CITY: false, + USR_LOCATION: false, + USR_USERNAME: false, + USR_PHONE: false, + USR_POSITION: false, + USR_EMAIL: false, + USR_REPLACED_BY: false, + USR_CALENDAR: false, + USR_STATUS: false, + USR_TIME_ZONE: false, + USR_DEFAULT_LANG: false, + USR_DUE_DATE: false, + PREF_DEFAULT_MENUSELECTED: false, + PREF_DEFAULT_CASES_MENUSELECTED: false, + USR_ROLE: false, + USR_COST_BY_HOUR: false, + USR_UNIT_COST: false, + USR_NEW_PASS: false, + USR_CNF_PASS: false, + USR_LOGGED_NEXT_TIME: false, + USR_PHOTO: false + }, + permission: {}, classCustom: "", classCustom2: "" }; @@ -449,11 +478,17 @@ //additional modes if (this.$root.modeOfForm() === 1) { this.disabled = false; + for (let i in this.disabledField) { + this.disabledField[i] = false; + } this.classCustom = ""; this.classCustom2 = "sr-only sr-only-focusable"; } if (this.$root.modeOfForm() === 2) { this.disabled = true; + for (let i in this.disabledField) { + this.disabledField[i] = true; + } this.classCustom = "sr-only sr-only-focusable"; this.classCustom2 = ""; } @@ -467,6 +502,14 @@ this.classCustom = ""; this.classCustom2 = "sr-only sr-only-focusable"; this.disabled = false; + for (let i in this.disabledField) { + this.disabledField[i] = false; + } + for (let i in this.permission) { + if (i in this.disabledField) { + this.disabledField[i] = true; + } + } }, cancel() { if (this.$root.modeOfForm() === 1) { @@ -476,6 +519,9 @@ this.classCustom = "sr-only sr-only-focusable"; this.classCustom2 = ""; this.disabled = true; + for (let i in this.disabledField) { + this.disabledField[i] = true; + } for (let i in this.validate) { this.validate[i].state = null; } @@ -583,6 +629,9 @@ this.classCustom = "sr-only sr-only-focusable"; this.classCustom2 = ""; this.disabled = true; + for (let i in this.disabledField) { + this.disabledField[i] = true; + } for (let i in this.validate) { this.validate[i].state = null; } @@ -627,6 +676,24 @@ return axios.post(this.$root.baseUrl() + "users/usersAjax", formData) .then(response => { response; + if ("error" in response.data && response.data.error !== "") { + this.$bvModal.msgBoxOk(this.$root.translation(response.data.error), { + title: " ", //is important because title disappear + hideHeaderClose: false, + okTitle: this.$root.translation('ID_OK'), + okVariant: "success", + okOnly: true + }).then(value => { + if (value === false) { + return; + } + }).catch(err => { + err; + }); + this.disableButtonSave = false; + this.validate.USR_USERNAME.state = true; + return; + } this.disableButtonSave = false; this.validate.USR_USERNAME.message = response.data.descriptionText; if (response.data.exists === false) { @@ -736,6 +803,17 @@ return axios.post(this.$root.baseUrl() + "users/usersAjax", formData) .then(response => { response; + if ("permission" in response.data) { + this.permission = response.data.permission; + //match attribute + if ("USR_REGION" in this.permission) { + this.permission.USR_CITY = this.permission.USR_REGION; + delete this.permission.USR_REGION; + } + if ("USR_CUR_PASS" in this.permission) { + delete this.permission.USR_CUR_PASS; + } + } if ("user" in response.data) { for (let i in this.form) { if (i in response.data.user) { @@ -845,7 +923,7 @@ }); }, getUsersList() { - if(this.filterUser.trim() === ""){ + if (this.filterUser.trim() === "") { this.usersList = []; return null; }