summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-01-12 15:55:51 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-04-16 16:40:54 +0200
commita7977d70f31e1c7b8dbb2c6766124d608d889709 (patch)
tree75c074744d453a42a8f4736ab88cca8fd30d3193 /ishtar_common/views_item.py
parentd2783f68a60eff33535448e07484bbaf92312ff8 (diff)
downloadIshtar-a7977d70f31e1c7b8dbb2c6766124d608d889709.tar.bz2
Ishtar-a7977d70f31e1c7b8dbb2c6766124d608d889709.zip
✨ GDPR: record person view and person export - ✅ GDPR: views test
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py14
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()