diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 3d64535d4..bc9c9432a 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -527,6 +527,29 @@ def autocomplete_user(request):      return HttpResponse(data, content_type='text/plain') +def autocomplete_ishtaruser(request): +    if not request.user.has_perm('ishtar_common.view_person', models.Person): +        return HttpResponse('[]', content_type='text/plain') +    q = request.GET.get('term') +    limit = request.GET.get('limit', 20) +    try: +        limit = int(limit) +    except ValueError: +        return HttpResponseBadRequest() +    query = Q() +    for q in q.split(' '): +        qu = (Q(person__name__icontains=q) | +              Q(person__surname__icontains=q) | +              Q(person__raw_name__icontains=q)) +        query = query & qu +    users = models.IshtarUser.objects.filter(query)[:limit] +    data = json.dumps([ +        {'id': user.pk, +         'value': unicode(user)} +        for user in users]) +    return HttpResponse(data, content_type='text/plain') + +  def autocomplete_person(request, person_types=None, attached_to=None,                          is_ishtar_user=None, permissive=False):      all_items = request.user.has_perm('ishtar_common.view_person', | 
