diff options
Diffstat (limited to 'ishtar/ishtar_base/views.py')
| -rw-r--r-- | ishtar/ishtar_base/views.py | 28 | 
1 files changed, 20 insertions, 8 deletions
| diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py index c00dd8bc9..94a37d46e 100644 --- a/ishtar/ishtar_base/views.py +++ b/ishtar/ishtar_base/views.py @@ -74,8 +74,11 @@ def check_permission(request, action_slug, obj_id=None):      return menu.items[action_slug].can_be_available(request.user)  def autocomplete_person(request, person_type=None): -    if not request.user.has_perm('ishtar_base.view_person', models.Person) and \ -       not request.user.has_perm('ishtar_base.view_own_person', models.Person) : +    person_types = request.user.ishtaruser.person.person_type +    if (not request.user.has_perm('ishtar_base.view_person', models.Person) and +       not request.user.has_perm('ishtar_base.view_own_person', models.Person) +       and not person_types.rights.filter(wizard__url_name='person_search' +                                                                     ).count()):          return HttpResponse(mimetype='text/plain')      if not request.GET.get('term'):          return HttpResponse(mimetype='text/plain') @@ -120,8 +123,11 @@ def autocomplete_town(request):      return HttpResponse(data, mimetype='text/plain')  def autocomplete_file(request): -    if not request.user.has_perm('ishtar_base.view_file', models.File) and \ -       not request.user.has_perm('ishtar_base.view_own_file', models.File) : +    person_types = request.user.ishtaruser.person.person_type +    if (not request.user.has_perm('ishtar_base.view_file', models.File) and \ +       not request.user.has_perm('ishtar_base.view_own_file', models.File) +       and not person_types.rights.filter(wizard__url_name='file_search' +                                                                     ).count()):          return HttpResponse(mimetype='text/plain')      if not request.GET.get('term'):          return HttpResponse(mimetype='text/plain') @@ -434,9 +440,12 @@ show_file = show_item(models.File, 'file')  revert_file = revert_item(models.File)  def autocomplete_operation(request, non_closed=True): -    if not request.user.has_perm('ishtar_base.view_operation', models.Operation)\ +    person_types = request.user.ishtaruser.person.person_type +    if (not request.user.has_perm('ishtar_base.view_operation', models.Operation)\         and not request.user.has_perm('ishtar_base.view_own_operation', -                                                              models.Operation): +                                                              models.Operation) +       and not person_types.rights.filter(wizard__url_name='operation_search' +                                                                     ).count()):          return HttpResponse(mimetype='text/plain')      if not request.GET.get('term'):          return HttpResponse(mimetype='text/plain') @@ -492,10 +501,13 @@ get_administrativeactop = get_item(models.AdministrativeAct,                            'act_type__intented_to':'act_type__intented_to'})  def autocomplete_organization(request, orga_type=None): -    if not request.user.has_perm('ishtar_base.view_organization', +    person_types = request.user.ishtaruser.person.person_type +    if (not request.user.has_perm('ishtar_base.view_organization',                                   models.Organization) and \         not request.user.has_perm('ishtar_base.view_own_organization', -                                 models.Organization): +                                 models.Organization) +       and not person_types.rights.filter(wizard__url_name='person_search' +                                                                     ).count()):          return HttpResponse(mimetype='text/plain')      if not request.GET.get('term'):          return HttpResponse(mimetype='text/plain') | 
