diff --git a/apps/settings/src/components/Users/UserRow.vue b/apps/settings/src/components/Users/UserRow.vue index 6a89411d8f5..e75ad3a189a 100644 --- a/apps/settings/src/components/Users/UserRow.vue +++ b/apps/settings/src/components/Users/UserRow.vue @@ -255,16 +255,17 @@ data-cy-user-list-input-manager :data-loading="loading.manager || undefined" :input-id="'manager' + uniqueId" - :close-on-select="true" :disabled="isLoadingField" - :append-to-body="false" :loading="loadingPossibleManagers || loading.manager" - label="displayname" :options="possibleManagers" :placeholder="managerLabel" - clearable + label="displayname" + :filterable="false" + :internal-search="false" + :clearable="true" @open="searchInitialUserManager" - @search="searchUserManager" /> + @search="searchUserManager" + @update:model-value="updateUserManager" /> {{ user.manager }} @@ -502,13 +503,6 @@ export default { return this.languages[0].languages.concat(this.languages[1].languages) }, }, - - watch: { - currentManager() { - this.updateUserManager() - }, - }, - async beforeMount() { if (this.user.manager) { await this.initManager(this.user.manager) @@ -623,7 +617,7 @@ export default { this.loading.manager = true // Store the current manager before making changes - const previousManager = this.currentManager + const previousManager = this.user.manager try { await this.$store.dispatch('setUserData', { diff --git a/apps/settings/src/store/users.js b/apps/settings/src/store/users.js index 66b5f5890fc..7e4b9c4aebb 100644 --- a/apps/settings/src/store/users.js +++ b/apps/settings/src/store/users.js @@ -780,9 +780,8 @@ const actions = { try { await api.requireAdmin() - const commitValue = value === '' ? '' : value await api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value }) - return context.commit('setUserData', { userid, key, value: commitValue }) + return context.commit('setUserData', { userid, key, value }) } catch (error) { context.commit('API_FAILURE', { userid, error }) throw error