diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 17 | 
1 files changed, 9 insertions, 8 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index e483c9476..4732313ea 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -445,14 +445,13 @@ def autocomplete_person_permissive(request, person_types=None,  def autocomplete_person(request, person_types=None, attached_to=None,                          is_ishtar_user=None, permissive=False): -    if not request.user.has_perm('ishtar_common.view_person', -                                 models.Person) and \ -       not request.user.has_perm('ishtar_common.view_own_person', -                                 models.Person) \ -       and not request.user.ishtaruser.has_right('person_search', -                                                 session=request.session): -        return HttpResponse(mimetype='text/plain') -    if not request.GET.get('term'): +    all_items = request.user.has_perm('ishtar_common.view_person', +                                      models.Person) +    own_items = False +    if not all_items: +        own_items = request.user.has_perm('ishtar_common.view_own_person', +                                          models.Person) +    if not all_items and not own_items or not request.GET.get('term'):          return HttpResponse(mimetype='text/plain')      q = request.GET.get('term')      limit = request.GET.get('limit', 20) @@ -479,6 +478,8 @@ def autocomplete_person(request, person_types=None, attached_to=None,              pass      if is_ishtar_user:          query = query & Q(ishtaruser__isnull=False) +    if own_items: +        query &= models.Person.get_query_owns(request.user)      persons = models.Person.objects.filter(query)[:limit]      data = json.dumps([{'id': person.pk, 'value': unicode(person)}                         for person in persons if person]) | 
