From e61480f6788d7f141c7d82781e8240054d84c8d7 Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Thu, 26 Nov 2020 16:19:12 +0100 Subject: [PATCH] FEAT #15399 TIME 1:00 Autocomplete with entity when deleting user --- .gitlab-ci.yml | 2 +- src/core/controllers/AutoCompleteController.php | 14 ++++++++++++-- ...rs-administration-redirect-modal.component.html | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e5068e47a8..e46e8ce08df 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,7 +104,7 @@ job_php-7.2: image: php:7.2-apache stage: test script: - - curl --location -s --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-8.phar + - curl --location -s --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-9.phar - chmod +x /usr/local/bin/phpunit - phpunit --coverage-text --colors=never only: diff --git a/src/core/controllers/AutoCompleteController.php b/src/core/controllers/AutoCompleteController.php index c5677d88426..1aef15869ca 100755 --- a/src/core/controllers/AutoCompleteController.php +++ b/src/core/controllers/AutoCompleteController.php @@ -51,11 +51,21 @@ class AutoCompleteController $fields = ['firstname', 'lastname']; $fields = AutoCompleteController::getInsensitiveFieldsForRequest(['fields' => $fields]); + $where = ['status not in (?)', 'mode not in (?)']; + $data = [['DEL', 'SPD'], ['root_invisible', 'rest']]; + if (!empty($queryParams['inEntity'])) { + if (is_numeric($queryParams['inEntity'])) { + $entity = EntityModel::getById(['select' => ['entity_id'], 'id' => $queryParams['inEntity']]); + $queryParams['inEntity'] = $entity['entity_id']; + } + $where[] = 'id in (SELECT user_id FROM users_entities WHERE entity_id = ?)'; + $data[] = $queryParams['inEntity']; + } $requestData = AutoCompleteController::getDataForRequest([ 'search' => $queryParams['search'], 'fields' => $fields, - 'where' => ['status not in (?)', 'mode not in (?)'], - 'data' => [['DEL', 'SPD'], ['root_invisible', 'rest']], + 'where' => $where, + 'data' => $data, 'fieldsNumber' => 2, ]); diff --git a/src/frontend/app/administration/user/redirect-modal/users-administration-redirect-modal.component.html b/src/frontend/app/administration/user/redirect-modal/users-administration-redirect-modal.component.html index 6df841b9fb2..ff6b55d89e6 100644 --- a/src/frontend/app/administration/user/redirect-modal/users-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/user/redirect-modal/users-administration-redirect-modal.component.html @@ -12,7 +12,7 @@ <div *ngFor="let redirectModel of userDestTemplates; index as i" id="{{redirectModel.object_id}}" class="form-group"> <plugin-autocomplete [labelPlaceholder]="('lang.newDest' | translate) + ' : ' + redirectModel.title" - [labelList]="('lang.availableUsers' | translate)" [routeDatas]="['/rest/autocomplete/users']" + [labelList]="('lang.availableUsers' | translate)" [routeDatas]="['/rest/autocomplete/users?inEntity=' + redirectModel.entity_id]" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserListModels(i, $event)" singleMode required></plugin-autocomplete> </div> -- GitLab