Refactor HTMX response handling in ExamViews: streamline rendering of updated CID user list items and ensure consistent response structure

This commit is contained in:
Ross
2025-12-15 11:51:49 +00:00
parent 00dfaf9888
commit 83a009e31b
2 changed files with 12 additions and 15 deletions
+3 -6
View File
@@ -2379,9 +2379,9 @@ class ExamViews(View, LoginRequiredMixin):
else:
app_exam_map[self.app_name].remove(pk)
# If this is an HTMX request, return the rendered li partial
if request.headers.get('HX-Request') == 'true':
# Render the updated list item and return as HTML so HTMX can swap it
# Always return the rendered list-item HTML so HTMX (or our fetch fallback)
# can swap the updated `<li>` into the DOM. Also provide an `HX-Trigger`
# header so client-side toasts/handlers can respond.
html = render_to_string(
'generic/partials/cid_user_li.html',
{'cid': cid_user, 'exam': exam, 'current': add},
@@ -2391,9 +2391,6 @@ class ExamViews(View, LoginRequiredMixin):
response['HX-Trigger'] = json.dumps({'cid_toggled': {'pk': cid_user.pk, 'added': add}})
return response
data = {"status": "success", "added": add}
return JsonResponse(data, status=200)
if "edit_user_user" in request.POST:
user_id = request.POST.get("edit_user_user")