Browse Source

Merge pull request #24721 from nextcloud/bugfix/noid/user-search-cancel

tags/v21.0.0beta2
John Molakvoæ 3 years ago
parent
commit
ce9590618c
No account linked to committer's email address

+ 2
- 2
apps/settings/js/vue-settings-admin-security.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/settings/js/vue-settings-admin-security.js.map
File diff suppressed because it is too large
View File


+ 2
- 2
apps/settings/js/vue-settings-apps-users-management.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/settings/js/vue-settings-apps-users-management.js.map
File diff suppressed because it is too large
View File


+ 2
- 2
apps/settings/js/vue-settings-nextcloud-pdf.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/settings/js/vue-settings-nextcloud-pdf.js.map
File diff suppressed because it is too large
View File


+ 2
- 2
apps/settings/js/vue-settings-personal-security.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/settings/js/vue-settings-personal-security.js.map
File diff suppressed because it is too large
View File


+ 2
- 2
apps/settings/js/vue-settings-personal-webauthn.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/settings/js/vue-settings-personal-webauthn.js.map
File diff suppressed because it is too large
View File


+ 2
- 0
apps/settings/js/vue-settings-users-6af167634af13765ed18.js
File diff suppressed because it is too large
View File


+ 1
- 0
apps/settings/js/vue-settings-users-6af167634af13765ed18.js.map
File diff suppressed because it is too large
View File


+ 2
- 0
apps/settings/js/vue-vendors-settings-apps-settings-users-56bf9f00883bb2b317ca.js
File diff suppressed because it is too large
View File


+ 1
- 0
apps/settings/js/vue-vendors-settings-apps-settings-users-56bf9f00883bb2b317ca.js.map
File diff suppressed because it is too large
View File


+ 2
- 0
apps/settings/js/vue-vendors-settings-users-7d5a89099bb7bbf586db.js
File diff suppressed because it is too large
View File


+ 1
- 0
apps/settings/js/vue-vendors-settings-users-7d5a89099bb7bbf586db.js.map
File diff suppressed because it is too large
View File


+ 2
- 2
apps/settings/src/store/api.js View File

@@ -63,8 +63,8 @@ export default {
requireAdmin() {
return confirmPassword()
},
get(url) {
return axios.get(sanitize(url))
get(url, options) {
return axios.get(sanitize(url), options)
},
post(url, data) {
return axios.post(sanitize(url), data)

+ 26
- 6
apps/settings/src/store/users.js View File

@@ -21,6 +21,7 @@
*/

import api from './api'
import axios from '@nextcloud/axios'
import { generateOcsUrl } from '@nextcloud/router'

const orderGroups = function(groups, orderBy) {
@@ -189,6 +190,9 @@ const getters = {
},
}

const CancelToken = axios.CancelToken
let searchRequestCancelSource = null

const actions = {

/**
@@ -203,29 +207,45 @@ const actions = {
* @returns {Promise}
*/
getUsers(context, { offset, limit, search, group }) {
if (searchRequestCancelSource) {
searchRequestCancelSource.cancel('Operation canceled by another search request.')
}
searchRequestCancelSource = CancelToken.source()
search = typeof search === 'string' ? search : ''
group = typeof group === 'string' ? group : ''
if (group !== '') {
return api.get(generateOcsUrl(`cloud/groups/${encodeURIComponent(encodeURIComponent(group))}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))
return api.get(generateOcsUrl(`cloud/groups/${encodeURIComponent(encodeURIComponent(group))}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2), {
cancelToken: searchRequestCancelSource.token,
})
.then((response) => {
if (Object.keys(response.data.ocs.data.users).length > 0) {
context.commit('appendUsers', response.data.ocs.data.users)
return true
return Object.keys(response.data.ocs.data.users).length === limit
}
return false
})
.catch((error) => context.commit('API_FAILURE', error))
.catch((error) => {
if (!axios.isCancel(error)) {
context.commit('API_FAILURE', error)
}
})
}

return api.get(generateOcsUrl(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))
return api.get(generateOcsUrl(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2), {
cancelToken: searchRequestCancelSource.token,
})
.then((response) => {
if (Object.keys(response.data.ocs.data.users).length > 0) {
context.commit('appendUsers', response.data.ocs.data.users)
return true
return Object.keys(response.data.ocs.data.users).length === limit
}
return false
})
.catch((error) => context.commit('API_FAILURE', error))
.catch((error) => {
if (!axios.isCancel(error)) {
context.commit('API_FAILURE', error)
}
})
},

getGroups(context, { offset, limit, search }) {

Loading…
Cancel
Save