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: