summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/ishtar_base/views.py')
-rw-r--r--ishtar/ishtar_base/views.py28
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')