summaryrefslogtreecommitdiff
path: root/pgcommitfest/commitfest/lookups.py
blob: 18d2ef534522555c7bf247eebc8507a2e54eff08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from django.http import HttpResponse, Http404
from django.db.models import Q
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User

import json


@login_required
def userlookup(request):
    query = request.GET.get('query', None)
    if not query:
        return Http404()

    users = User.objects.filter(
        Q(is_active=True),
        Q(username__icontains=query) | Q(first_name__icontains=query) | Q(last_name__icontains=query),
    )

    return HttpResponse(json.dumps({
        'values': [{'id': u.id, 'value': '{} ({})'.format(u.username, u.get_full_name())} for u in users],
    }), content_type='application/json')