summaryrefslogtreecommitdiff
path: root/pgcommitfest/commitfest/lookups.py
blob: 229459c6081616367834ff2b62c054a63fe2c7b1 (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:
        raise 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')