Merge ssh://penracourses.org.uk:/home/django/rad

This commit is contained in:
Ross
2022-04-20 21:51:45 +01:00
2 changed files with 37 additions and 20 deletions
+8 -2
View File
@@ -24,13 +24,14 @@
<summary> <summary>
<h3>Add/Edit CID users</h3> <h3>Add/Edit CID users</h3>
</summary> </summary>
<button id="add-exams-selected-cids">Change selected exams</button> <button id="add-exams-selected-cids">Add selected exams</button>
<button id="change-exams-selected-cids">Change selected exams</button>
<button id="clear-exams-selected-cids">Clear selected exams</button> <button id="clear-exams-selected-cids">Clear selected exams</button>
<button id="activate-selected-cids">Activate selected</button> <button id="activate-selected-cids">Activate selected</button>
<button id="deactivate-selected-cids">Deactivate selected</button> <button id="deactivate-selected-cids">Deactivate selected</button>
<button id="delete-selected-cids">Delete selected</button> <button id="delete-selected-cids">Delete selected</button>
<button id="toggle-internal">Toggle internal</button> <button id="toggle-internal">Toggle internal</button>
<p>Select exams below to add user to.</p> <p>Select exams below to add user(s) to (or edit existing user(s)).</p>
<div class="exam-selectors"> <div class="exam-selectors">
<span> <span>
Physics Exams<br /> Physics Exams<br />
@@ -244,6 +245,11 @@
data["add_exams"] = true; data["add_exams"] = true;
postAjax(data); postAjax(data);
}); });
$("#change-exams-selected-cids").click((evt) => {
data = getGenericData();
data["change_exams"] = true;
postAjax(data);
});
$("#clear-exams-selected-cids").click((evt) => { $("#clear-exams-selected-cids").click((evt) => {
data = getGenericData(); data = getGenericData();
data["clear_exams"] = true; data["clear_exams"] = true;
+29 -18
View File
@@ -1544,6 +1544,7 @@ def manage_cid_users(request):
activate = request.POST.get("activate") activate = request.POST.get("activate")
deactivate = request.POST.get("deactivate") deactivate = request.POST.get("deactivate")
add_exams = request.POST.get("add_exams") add_exams = request.POST.get("add_exams")
change_exams = request.POST.get("change_exams")
clear_exams = request.POST.get("clear_exams") clear_exams = request.POST.get("clear_exams")
toggle_internal = request.POST.get("toggle_internal") toggle_internal = request.POST.get("toggle_internal")
@@ -1555,6 +1556,9 @@ def manage_cid_users(request):
return JsonResponse({"status": "success"}) return JsonResponse({"status": "success"})
if delete == "true": if delete == "true":
if not request.user.is_superuser:
return JsonResponse({"status": "fail"})
cids = CidUser.objects.filter(pk__in=selected_cids).delete() cids = CidUser.objects.filter(pk__in=selected_cids).delete()
return JsonResponse({"status": "success"}) return JsonResponse({"status": "success"})
@@ -1593,24 +1597,31 @@ def manage_cid_users(request):
if add_exams == "true": if add_exams == "true":
cids = CidUser.objects.filter(pk__in=selected_cids) cids = CidUser.objects.filter(pk__in=selected_cids)
for c in cids: for c in cids:
if physics_exams: for exam in physics_exams:
c.physics_exams.set(physics_exams) c.physics_exams.add(exam)
c.save() for exam in rapid_exams:
if rapid_exams: c.rapid_exams.add(exam)
c.rapid_exams.set(rapid_exams) for exam in sba_exams:
c.save() c.sba_exams.add(exam)
if sba_exams: for exam in longs_exams:
c.sba_exams.set(sba_exams) c.longs_exams.add(exam)
c.save() for exam in anatomy_exams:
if longs_exams: c.anatomy_exams.add(exam)
c.longs_exams.set(longs_exams) for exam in casecollection_exams:
c.save() c.casecollection_exams.add(exam)
if anatomy_exams: c.save()
c.anatomy_exams.set(anatomy_exams) return JsonResponse({"status": "success"})
c.save()
if casecollection_exams: if change_exams == "true":
c.casecollection_exams.set(casecollection_exams) cids = CidUser.objects.filter(pk__in=selected_cids)
c.save() 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"}) return JsonResponse({"status": "success"})
try: try: