Skip to content

Commit

Permalink
Make users and groups searchable via the API.
Browse files Browse the repository at this point in the history
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
  • Loading branch information
siloraptor committed Jul 12, 2017
1 parent e66e954 commit c088826
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
3 changes: 2 additions & 1 deletion HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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)
==================
Expand Down
1 change: 1 addition & 0 deletions mayan/apps/user_management/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
link_user_multiple_delete, link_user_multiple_set_password,
link_user_set_password, link_user_setup
)
from .search import * # NOQA


def get_groups():
Expand Down
43 changes: 43 additions & 0 deletions mayan/apps/user_management/search.py
Original file line number Diff line number Diff line change
@@ -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')
)

0 comments on commit c088826

Please sign in to comment.