Make users and groups searchable via the API.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-07-12 04:02:19 -04:00
parent e66e954b93
commit c088826789
3 changed files with 46 additions and 1 deletions

View File

@@ -2,7 +2,8 @@
==================
- Fix HTML mark up in window title. GitLab #397.
- Add support for emailing documents to a recipient list. GitLab #396.
- Backport metadata widget changes from @Macrobb. GitLab #378.
- Backport metadata widget changes from @Macrobb. GitLab #377.
- Make users and group searchable.
2.5.2 (2017-07-08)
==================

View File

@@ -19,6 +19,7 @@ from .links import (
link_user_multiple_delete, link_user_multiple_set_password,
link_user_set_password, link_user_setup
)
from .search import * # NOQA
def get_groups():

View File

@@ -0,0 +1,43 @@
from __future__ import absolute_import, unicode_literals
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from dynamic_search.classes import SearchModel
from .permissions import permission_group_view, permission_user_view
print settings.AUTH_USER_MODEL
user_app, user_model = settings.AUTH_USER_MODEL.split('.')
user_search = SearchModel(
app_label=user_app, model_name=user_model,
permission=permission_user_view,
serializer_string='user_management.serializers.UserSerializer'
)
user_search.add_model_field(
field='first_name', label=_('First name')
)
user_search.add_model_field(
field='email', label=_('Email')
)
user_search.add_model_field(
field='groups__name', label=_('Groups')
)
user_search.add_model_field(
field='last_name', label=_('Last name')
)
user_search.add_model_field(
field='username', label=_('username')
)
group_search = SearchModel(
app_label='auth', model_name='Group',
permission=permission_group_view,
serializer_string='user_management.serializers.GroupSerializer'
)
group_search.add_model_field(
field='name', label=_('Name')
)