diff options
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 3ed380465..25ffe582e 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -338,7 +338,7 @@ def show_source_item(request, source_id, model, name, base_dct, extra_dct): return HttpResponse(content, content_type="application/xhtml") -def show_item(model, name, extra_dct=None, model_for_perms=None): +def show_item(model, name, extra_dct=None, model_for_perms=None, callback=None): def func(request, pk, **dct): check_model = model if model_for_perms: @@ -372,11 +372,15 @@ def show_item(model, name, extra_dct=None, model_for_perms=None): dct["window_id_underscore"] = dct["window_id"].replace("-", "_") if str(pk).startswith("source-"): return show_source_item(request, pk, model, name, dct, extra_dct) - try: - item = q.get(pk=pk) - except (ObjectDoesNotExist, ValueError): + q = q.filter(pk=pk) + if not q.count(): return HttpResponse("") + if callback: + callback("show_item", request, doc_type, q) + + item = q.all()[0] + # list current perms for perm in Permission.objects.filter( codename__startswith='view_').values_list("codename", flat=True).all(): @@ -2427,7 +2431,7 @@ def get_item( slice_query = None if not manual_sort_key: slice_query = (start, end) - callback(request, data_type, items, slice_query) + callback("get_item", request, data_type, items, slice_query) if manual_sort_key: items = items.all() |