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: