summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r--ishtar/furnitures/views.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index ec61ad339..5848eea64 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -61,7 +61,8 @@ 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('furnitures.view_person'):
+ if not request.user.has_perm('furnitures.view_person', models.Person) and \
+ not request.user.has_perm('furnitures.view_own_person', models.Person) :
return HttpResponse(mimetype='text/plain')
if not request.GET.get('term'):
return HttpResponse(mimetype='text/plain')
@@ -106,6 +107,9 @@ def autocomplete_town(request):
return HttpResponse(data, mimetype='text/plain')
def autocomplete_file(request):
+ if not request.user.has_perm('furnitures.view_file', models.File) and \
+ not request.user.has_perm('furnitures.view_own_file', models.File) :
+ return HttpResponse(mimetype='text/plain')
if not request.GET.get('term'):
return HttpResponse(mimetype='text/plain')
q = request.GET.get('term')
@@ -133,7 +137,7 @@ def get_item(model, func_name, default_name):
if not type:
type = 'json'
request_keys = dict([(field.name,
- field.name + (hasattr(field, 'rel') and '__pk' or ''))
+ field.name + (hasattr(field, 'rel') and '__pk' or ''))
for field in model._meta.fields])
dct = {}
for k in request_keys:
@@ -185,8 +189,9 @@ def get_item(model, func_name, default_name):
elif type == "csv":
response = HttpResponse(mimetype='text/csv')
n = datetime.datetime.now()
- filename = u'%s_%s.csv' % (default_name, n.strftime('%Y%m%d-%H%M%S'))
- response['Content-Disposition'] = 'attachment; filename=%s' % filename
+ filename = u'%s_%s.csv' % (default_name,
+ n.strftime('%Y%m%d-%H%M%S'))
+ response['Content-Disposition'] = 'attachment; filename=%s'%filename
writer = csv.writer(response, **CSV_OPTIONS)
col_names = []
for field_name in model.TABLE_COLS:
@@ -207,6 +212,10 @@ def get_item(model, func_name, default_name):
get_file = get_item(models.File, 'get_file', 'file')
def autocomplete_operation(request, non_closed=True):
+ if not request.user.has_perm('furnitures.view_operation', models.Operation)\
+ and not request.user.has_perm('furnitures.view_own_operation',
+ models.Operation):
+ return HttpResponse(mimetype='text/plain')
if not request.GET.get('term'):
return HttpResponse(mimetype='text/plain')
q = request.GET.get('term')
@@ -230,6 +239,11 @@ def autocomplete_operation(request, non_closed=True):
get_operation = get_item(models.Operation, 'get_operation', 'operation')
def autocomplete_organization(request, orga_type=None):
+ if not request.user.has_perm('furnitures.view_organization',
+ models.Organization) and \
+ not request.user.has_perm('furnitures.view_own_organization',
+ models.Organization):
+ return HttpResponse(mimetype='text/plain')
if not request.GET.get('term'):
return HttpResponse(mimetype='text/plain')
q = request.GET.get('term')