From fd68ef53da5401947e8f8fe9d1292d8ddb67c58e Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 17 Apr 2022 22:59:59 +0100 Subject: [PATCH 1/3] . --- generic/templates/generic/cid_view.html | 8 ++++- generic/views.py | 44 +++++++++++++++---------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/generic/templates/generic/cid_view.html b/generic/templates/generic/cid_view.html index 1ef58f70..49bcb63c 100644 --- a/generic/templates/generic/cid_view.html +++ b/generic/templates/generic/cid_view.html @@ -24,7 +24,8 @@

Add/Edit CID users

- + + @@ -244,6 +245,11 @@ data["add_exams"] = true; postAjax(data); }); + $("#change-exams-selected-cids").click((evt) => { + data = getGenericData(); + data["change_exams"] = true; + postAjax(data); + }); $("#clear-exams-selected-cids").click((evt) => { data = getGenericData(); data["clear_exams"] = true; diff --git a/generic/views.py b/generic/views.py index d1669ed5..dbc59059 100644 --- a/generic/views.py +++ b/generic/views.py @@ -1544,6 +1544,7 @@ def manage_cid_users(request): activate = request.POST.get("activate") deactivate = request.POST.get("deactivate") add_exams = request.POST.get("add_exams") + change_exams = request.POST.get("change_exams") clear_exams = request.POST.get("clear_exams") toggle_internal = request.POST.get("toggle_internal") @@ -1593,24 +1594,31 @@ def manage_cid_users(request): if add_exams == "true": cids = CidUser.objects.filter(pk__in=selected_cids) for c in cids: - if physics_exams: - c.physics_exams.set(physics_exams) - c.save() - if rapid_exams: - c.rapid_exams.set(rapid_exams) - c.save() - if sba_exams: - c.sba_exams.set(sba_exams) - c.save() - if longs_exams: - c.longs_exams.set(longs_exams) - c.save() - if anatomy_exams: - c.anatomy_exams.set(anatomy_exams) - c.save() - if casecollection_exams: - c.casecollection_exams.set(casecollection_exams) - c.save() + for exam in physics_exams: + c.physics_exams.add(exam) + for exam in rapid_exams: + c.rapid_exams.add(rapid_exams) + for exam in sba_exams: + c.sba_exams.add(sba_exams) + for exam in longs_exams: + c.longs_exams.add(longs_exams) + for exam in anatomy_exams: + c.anatomy_exams.add(anatomy_exams) + for exam in casecollection_exams: + c.casecollection_exams.add(casecollection_exams) + c.save() + return JsonResponse({"status": "success"}) + + if change_exams == "true": + cids = CidUser.objects.filter(pk__in=selected_cids) + for c in cids: + c.physics_exams.set(physics_exams) + c.rapid_exams.set(rapid_exams) + c.sba_exams.set(sba_exams) + c.longs_exams.set(longs_exams) + c.anatomy_exams.set(anatomy_exams) + c.casecollection_exams.set(casecollection_exams) + c.save() return JsonResponse({"status": "success"}) try: From 094e713a03dbd81d40bb2f3d6e6af13dc5bea9c7 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 17 Apr 2022 23:03:04 +0100 Subject: [PATCH 2/3] . --- generic/views.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/generic/views.py b/generic/views.py index dbc59059..b27d655f 100644 --- a/generic/views.py +++ b/generic/views.py @@ -1597,15 +1597,15 @@ def manage_cid_users(request): for exam in physics_exams: c.physics_exams.add(exam) for exam in rapid_exams: - c.rapid_exams.add(rapid_exams) + c.rapid_exams.add(exam) for exam in sba_exams: - c.sba_exams.add(sba_exams) + c.sba_exams.add(exam) for exam in longs_exams: - c.longs_exams.add(longs_exams) + c.longs_exams.add(exam) for exam in anatomy_exams: - c.anatomy_exams.add(anatomy_exams) + c.anatomy_exams.add(exam) for exam in casecollection_exams: - c.casecollection_exams.add(casecollection_exams) + c.casecollection_exams.add(exam) c.save() return JsonResponse({"status": "success"}) From d7d5e13b224e4a33eafb8d8ec04b0ec1f7df96ea Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 18 Apr 2022 18:19:38 +0100 Subject: [PATCH 3/3] . --- generic/templates/generic/cid_view.html | 2 +- generic/views.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/generic/templates/generic/cid_view.html b/generic/templates/generic/cid_view.html index 49bcb63c..cd35bd74 100644 --- a/generic/templates/generic/cid_view.html +++ b/generic/templates/generic/cid_view.html @@ -31,7 +31,7 @@ -

Select exams below to add user to.

+

Select exams below to add user(s) to (or edit existing user(s)).

Physics Exams
diff --git a/generic/views.py b/generic/views.py index b27d655f..bb3918cf 100644 --- a/generic/views.py +++ b/generic/views.py @@ -1556,6 +1556,9 @@ def manage_cid_users(request): return JsonResponse({"status": "success"}) if delete == "true": + if not request.user.is_superuser: + return JsonResponse({"status": "fail"}) + cids = CidUser.objects.filter(pk__in=selected_cids).delete() return JsonResponse({"status": "success"})