Skip to content

Commit

Permalink
Make sure the group id parameter gets properly encoded when used in URLs
Browse files Browse the repository at this point in the history
Signed-off-by: Julius Härtl <jus@bitgrid.net>
  • Loading branch information
juliushaertl committed Mar 19, 2020
1 parent 6871996 commit e231b38
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
3 changes: 3 additions & 0 deletions apps/settings/src/components/UserList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
6 changes: 3 additions & 3 deletions apps/settings/src/store/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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))
},
Expand Down Expand Up @@ -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 }))
Expand Down
9 changes: 6 additions & 3 deletions apps/settings/src/views/Users.vue
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
:key="group.id"
:exact="true"
:title="group.title"
:to="{ name: 'group', params: { selectedGroup: group.id } }">
:to="{ name: 'group', params: { selectedGroup: encodeURIComponent(group.id) } }">
<AppNavigationCounter v-if="group.count" slot="counter">
{{ group.count }}
</AppNavigationCounter>
Expand Down Expand Up @@ -149,7 +149,7 @@
<UserList #content
:users="users"
:show-config="showConfig"
:selected-group="selectedGroup"
:selected-group="selectedGroupDecoded"
:external-actions="externalActions" />
</AppContent>
</Content>
Expand Down Expand Up @@ -215,6 +215,9 @@ export default {
}
},
computed: {
selectedGroupDecoded() {
return this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null
},
users() {
return this.$store.getters.getUsers
},
Expand Down Expand Up @@ -452,7 +455,7 @@ export default {
this.$router.push({
name: 'group',
params: {
selectedGroup: gid.trim(),
selectedGroup: encodeURIComponent(gid.trim()),
},
})
} catch {
Expand Down

0 comments on commit e231b38

Please sign in to comment.