From 0705f655eb42ef3fad3883478dc22f85653b35d5 Mon Sep 17 00:00:00 2001 From: smarcet Date: Mon, 16 Nov 2020 15:28:59 -0300 Subject: [PATCH] Fixed groups autocomplete Change-Id: I80b9eaaf5ac5918f02557beaffeed42b0011c591 Signed-off-by: smarcet --- app/Http/Controllers/Api/GroupApiController.php | 10 ++++++++++ app/Http/Utils/OrderParser.php | 1 + app/Repositories/DoctrineGroupRepository.php | 12 ++++++++++++ app/Services/ServicesProvider.php | 2 ++ public/assets/js/admin/edit-user.js | 4 ++-- 5 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/GroupApiController.php b/app/Http/Controllers/Api/GroupApiController.php index b15da3a2..e037af41 100644 --- a/app/Http/Controllers/Api/GroupApiController.php +++ b/app/Http/Controllers/Api/GroupApiController.php @@ -64,6 +64,16 @@ final class GroupApiController extends APICRUDController ]; } + /** + * @return array + */ + protected function getOrderRules():array{ + return [ + 'name', + 'slug' + ]; + } + /** * @return array */ diff --git a/app/Http/Utils/OrderParser.php b/app/Http/Utils/OrderParser.php index 1a893727..20650ab0 100644 --- a/app/Http/Utils/OrderParser.php +++ b/app/Http/Utils/OrderParser.php @@ -31,6 +31,7 @@ final class OrderParser //default ordering is asc foreach($orders as $field) { + $field = trim($field); $element = null; if(strpos($field, '+') === 0) { diff --git a/app/Repositories/DoctrineGroupRepository.php b/app/Repositories/DoctrineGroupRepository.php index d75e778a..ce06765d 100644 --- a/app/Repositories/DoctrineGroupRepository.php +++ b/app/Repositories/DoctrineGroupRepository.php @@ -23,6 +23,18 @@ use utils\PagingResponse; */ final class DoctrineGroupRepository extends ModelDoctrineRepository implements IGroupRepository { + + /** + * @return array + */ + protected function getOrderMappings() + { + return [ + 'name' => 'e.name', + 'slug' => 'e.slug', + ]; + } + /** * @return array */ diff --git a/app/Services/ServicesProvider.php b/app/Services/ServicesProvider.php index 16282c6a..5c46baa8 100644 --- a/app/Services/ServicesProvider.php +++ b/app/Services/ServicesProvider.php @@ -107,6 +107,8 @@ final class ServicesProvider extends ServiceProvider \Services\SecurityPolicies\BlacklistSecurityPolicy::class, \Services\SecurityPolicies\LockUserSecurityPolicy::class, \Services\SecurityPolicies\OAuth2LockClientCounterMeasure::class, + IUserService::class, + IGroupService::class, OAuth2SecurityPolicy::class, AuthorizationCodeRedeemPolicy::class, UtilsServiceCatalog::CheckPointService, diff --git a/public/assets/js/admin/edit-user.js b/public/assets/js/admin/edit-user.js index ae2ab6a6..29db2bb8 100644 --- a/public/assets/js/admin/edit-user.js +++ b/public/assets/js/admin/edit-user.js @@ -29,7 +29,7 @@ $(document).ready(function() { url: urls.fetchGroups, wildcard: '%QUERY%', prepare: function (query, settings) { - settings.url = urls.fetchGroups+'?page=1&per_page=10&filter[]=name=@'+query+',slug=@'+query+'&filter[]=active==1'; + settings.url = urls.fetchGroups+'?page=1&per_page=10&filter[]=name=@'+query+',slug=@'+query+'&filter[]=active==1&order=name,slug'; return settings; }, transform: function(input){ @@ -64,7 +64,7 @@ $(document).ready(function() { } }, source: groups, - limit: 10 + limit: 20 } ] });