feat(dav): hide search providers if their respective app is not activated

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
This commit is contained in:
Benjamin Gaussorgues 2023-11-24 17:00:50 +01:00
parent 011390aacb
commit 2a4465dc1b
No known key found for this signature in database
GPG key ID: 5DAC1CAFAA6DB883
3 changed files with 15 additions and 12 deletions

View file

@ -83,11 +83,12 @@ class ContactsSearchProvider implements IFilteringProvider {
return $this->l10n->t('Contacts');
}
public function getOrder(string $route, array $routeParameters): int {
if ($route === 'contacts.Page.index') {
return -1;
public function getOrder(string $route, array $routeParameters): ?int {
if ($this->appManager->isEnabledForUser('contacts')) {
return $route === 'contacts.Page.index' ? -1 : 25;
}
return 25;
return null;
}
public function search(IUser $user, ISearchQuery $query): SearchResult {

View file

@ -89,11 +89,12 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
/**
* @inheritDoc
*/
public function getOrder(string $route, array $routeParameters): int {
if ($route === 'calendar.View.index') {
return -1;
public function getOrder(string $route, array $routeParameters): ?int {
if ($this->appManager->isEnabledForUser('calendar')) {
return $route === 'calendar.View.index' ? -1 : 30;
}
return 30;
return null;
}
/**

View file

@ -77,11 +77,12 @@ class TasksSearchProvider extends ACalendarSearchProvider {
/**
* @inheritDoc
*/
public function getOrder(string $route, array $routeParameters): int {
if ($route === 'tasks.Page.index') {
return -1;
public function getOrder(string $route, array $routeParameters): ?int {
if ($this->appManager->isEnabledForUser('tasks')) {
return $route === 'tasks.Page.index' ? -1 : 35;
}
return 35;
return null;
}
/**