diff options
author | Julius Härtl <jus@bitgrid.net> | 2020-03-19 16:02:26 +0100 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2020-04-11 07:21:51 +0000 |
commit | 73cfc8dff971331a0583ea80ac56906b5243d56d (patch) | |
tree | 3d579f75e5ccdf1303a073cf7f1aa5c442af06ac | |
parent | b97a3061caecb27243cb4da4ee29cc277583d0a1 (diff) | |
download | nextcloud-server-73cfc8dff971331a0583ea80ac56906b5243d56d.tar.gz nextcloud-server-73cfc8dff971331a0583ea80ac56906b5243d56d.zip |
Make sure the group id parameter gets properly encoded when used in URLs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | apps/settings/src/components/UserList.vue | 3 | ||||
-rw-r--r-- | apps/settings/src/store/users.js | 6 | ||||
-rw-r--r-- | apps/settings/src/views/Users.vue | 5 |
3 files changed, 10 insertions, 4 deletions
diff --git a/apps/settings/src/components/UserList.vue b/apps/settings/src/components/UserList.vue index c6fd76e8106..3c645305c40 100644 --- a/apps/settings/src/components/UserList.vue +++ b/apps/settings/src/components/UserList.vue @@ -312,6 +312,9 @@ export default { settings() { return this.$store.getters.getServerData }, + selectedGroupDecoded() { + return decodeURIComponent(this.selectedGroup) + }, filteredUsers() { if (this.selectedGroup === 'disabled') { return this.users.filter(user => user.enabled === false) diff --git a/apps/settings/src/store/users.js b/apps/settings/src/store/users.js index 52131fbfd63..83bc32d7b6a 100644 --- a/apps/settings/src/store/users.js +++ b/apps/settings/src/store/users.js @@ -205,7 +205,7 @@ const actions = { search = typeof search === 'string' ? search : '' group = typeof group === 'string' ? group : '' if (group !== '') { - return api.get(OC.linkToOCS(`cloud/groups/${encodeURIComponent(group)}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2)) + return api.get(OC.linkToOCS(`cloud/groups/${encodeURIComponent(encodeURIComponent(group))}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2)) .then((response) => { if (Object.keys(response.data.ocs.data.users).length > 0) { context.commit('appendUsers', response.data.ocs.data.users) @@ -275,7 +275,7 @@ const actions = { * @returns {Promise} */ getUsersFromGroup(context, { groupid, offset, limit }) { - return api.get(OC.linkToOCS(`cloud/users/${encodeURIComponent(groupid)}/details?offset=${offset}&limit=${limit}`, 2)) + return api.get(OC.linkToOCS(`cloud/users/${encodeURIComponent(encodeURIComponent(groupid))}/details?offset=${offset}&limit=${limit}`, 2)) .then((response) => context.commit('getUsersFromList', response.data.ocs.data.users)) .catch((error) => context.commit('API_FAILURE', error)) }, @@ -320,7 +320,7 @@ const actions = { */ removeGroup(context, gid) { return api.requireAdmin().then((response) => { - return api.delete(OC.linkToOCS(`cloud/groups/${encodeURIComponent(gid)}`, 2)) + return api.delete(OC.linkToOCS(`cloud/groups/${encodeURIComponent(encodeURIComponent(gid))}`, 2)) .then((response) => context.commit('removeGroup', gid)) .catch((error) => { throw error }) }).catch((error) => context.commit('API_FAILURE', { gid, error })) diff --git a/apps/settings/src/views/Users.vue b/apps/settings/src/views/Users.vue index 63f0fa4c676..a2ab3b95fe9 100644 --- a/apps/settings/src/views/Users.vue +++ b/apps/settings/src/views/Users.vue @@ -86,7 +86,7 @@ <UserList #content :users="users" :show-config="showConfig" - :selected-group="selectedGroup" + :selected-group="selectedGroupDecoded" :external-actions="externalActions" /> </AppContent> </Content> @@ -148,6 +148,9 @@ export default { } }, computed: { + selectedGroupDecoded() { + return this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null + }, users() { return this.$store.getters.getUsers }, |