Skip to content

Commit

Permalink
changed INVITED & ACTIVE filter; remove prefetch
Browse files Browse the repository at this point in the history
  • Loading branch information
emaciupe committed Apr 25, 2023
1 parent d6913b6 commit d136399
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions src/etools/applications/users/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,15 @@ def filter_queryset(self, request, queryset, view):
class UserStatusFilter(BaseFilterBackend):
def filter_queryset(self, request, queryset, view):
if 'status' in request.query_params and request.query_params['status']:
queryset = queryset.prefetch_related('realms')
status_list = [status.strip().upper() for status in request.query_params['status'].split(',')]
filters = models.Q()
for status in status_list:
if status == 'INACTIVE':
filters |= models.Q(is_active=False)
if status == 'ACTIVE':
filters |= models.Q(is_active=True, last_login__isnull=False)
filters |= models.Q(is_active=True, last_login__isnull=False, realms__is_active=True)
if status == 'INVITED':
filters |= models.Q(is_active=True, last_login__isnull=True)
filters |= models.Q(is_active=True, last_login__isnull=True, realms__is_active=True)
if status == 'INOPERATIVE':
filters |= models.Q(is_active=True, realms__is_active=False)
return queryset.filter(filters)
Expand Down

0 comments on commit d136399

Please sign in to comment.