Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add authenicated user to person list for search filtering
As expected, a user does not see themselves in their contact list,
 however, when using the contact list for filtering search, a user,
 might want to limit the search to things that pertain to them.

Signed-off-by: fenn-cs <[email protected]>
  • Loading branch information
nfebe authored and emoral435 committed Dec 26, 2023
commit 8b286fbd0ea91601fca68583201f4d9bbec08c17
16 changes: 16 additions & 0 deletions core/src/services/UnifiedSearchService.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

import { generateOcsUrl, generateUrl } from '@nextcloud/router'
import axios from '@nextcloud/axios'
import { getCurrentUser } from '@nextcloud/auth'

/**
* Create a cancel token
Expand Down Expand Up @@ -103,5 +104,20 @@ export async function getContacts({ searchTerm }) {
const { data: { contacts } } = await axios.post(generateUrl('/contactsmenu/contacts'), {
filter: searchTerm,
})
/*
* Add authenticated user to list of contacts for search filter
* If authtenicated user is searching/filtering, do not add them to the list
*/
if (!searchTerm) {
let authenticatedUser = getCurrentUser()
authenticatedUser = {
id: authenticatedUser.uid,
fullName: 'Me',
emailAddresses: [],
}
contacts.unshift(authenticatedUser)
return contacts
}

return contacts
}
6 changes: 3 additions & 3 deletions core/src/views/UnifiedSearchModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ export default {
filteredProviders: [],
searching: false,
searchQuery: '',
placesFilter: '',
placessearchTerm: '',
dateTimeFilter: null,
filters: [],
results: [],
Expand Down Expand Up @@ -243,7 +243,7 @@ export default {
this.providers = providers
console.debug('Search providers', this.providers)
})
getContacts({ filter: '' }).then((contacts) => {
getContacts({ searchTerm: '' }).then((contacts) => {
this.contacts = this.mapContacts(contacts)
console.debug('Contacts', this.contacts)
})
Expand Down Expand Up @@ -363,7 +363,7 @@ export default {
})
},
filterContacts(query) {
getContacts({ filter: query }).then((contacts) => {
getContacts({ searchTerm: query }).then((contacts) => {
this.contacts = this.mapContacts(contacts)
console.debug(`Contacts filtered by ${query}`, this.contacts)
})
Expand Down