diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-01-12 15:55:51 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-02-05 10:56:44 +0100 |
commit | 7293985b9d83bed4130a677521ef72d4759202c3 (patch) | |
tree | 2dec9a57edd55f83fd939c36e55f64c6e6c355bf /ishtar_common/views_item.py | |
parent | 8b23fe52c07114ca43a0d0c18182d60ad03aa78d (diff) | |
download | Ishtar-7293985b9d83bed4130a677521ef72d4759202c3.tar.bz2 Ishtar-7293985b9d83bed4130a677521ef72d4759202c3.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.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index d4f422ef9..a56cd1ad6 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(): @@ -2424,7 +2428,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() |