99from django .core .exceptions import PermissionDenied
1010from django .core .paginator import Paginator
1111from django .db import models
12- from django .http import (
13- HttpRequest ,
14- HttpResponse ,
15- HttpResponseForbidden ,
16- )
17- from django .shortcuts import render
18- from django .urls import reverse_lazy
12+ from django .http import HttpRequest , HttpResponse , HttpResponseForbidden
13+ from django .shortcuts import redirect , render
14+ from django .urls import reverse
1915from django .utils .translation import gettext as _
2016from django .views .decorators .http import require_http_methods
2117from django_htmx .http import HttpResponseClientRedirect , HttpResponseClientRefresh
@@ -343,6 +339,20 @@ def submissions_all(
343339 return render (request , template_name , ctx )
344340
345341
342+ @login_required
343+ @require_http_methods (["GET" ])
344+ def bulk_archive_submissions_confirm (request ):
345+ if not permissions .can_bulk_archive_submissions (request .user ):
346+ return HttpResponseForbidden ()
347+
348+ submission_ids = request .GET .getlist ("selectedSubmissionIds" )
349+ return render (
350+ request ,
351+ "submissions/bulk_archive_confirm.html" ,
352+ {"submission_ids" : submission_ids },
353+ )
354+
355+
346356@login_required
347357@require_http_methods (["POST" ])
348358def bulk_archive_submissions (request ):
@@ -358,7 +368,23 @@ def bulk_archive_submissions(request):
358368 request = request ,
359369 )
360370
361- return HttpResponseClientRefresh ()
371+ if request .htmx :
372+ return HttpResponseClientRefresh ()
373+ return redirect (reverse ("apply:submissions:list" ))
374+
375+
376+ @login_required
377+ @require_http_methods (["GET" ])
378+ def bulk_delete_submissions_confirm (request ):
379+ if not permissions .can_bulk_delete_submissions (request .user ):
380+ return HttpResponseForbidden ()
381+
382+ submission_ids = request .GET .getlist ("selectedSubmissionIds" )
383+ return render (
384+ request ,
385+ "submissions/bulk_delete_confirm.html" ,
386+ {"submission_ids" : submission_ids },
387+ )
362388
363389
364390@login_required
@@ -376,28 +402,47 @@ def bulk_delete_submissions(request):
376402 request = request ,
377403 )
378404
379- return HttpResponseClientRefresh ()
405+ if request .htmx :
406+ return HttpResponseClientRefresh ()
407+ return redirect (reverse ("apply:submissions:list" ))
408+
409+
410+ @login_required
411+ @require_http_methods (["GET" ])
412+ def bulk_anonymize_submissions_confirm (request ):
413+ if not settings .SUBMISSION_ANONYMIZATION_ENABLED :
414+ return HttpResponseForbidden ()
415+ if not permissions .can_bulk_delete_submissions (request .user ):
416+ return HttpResponseForbidden ()
417+
418+ submission_ids = request .GET .getlist ("selectedSubmissionIds" )
419+ return render (
420+ request ,
421+ "submissions/bulk_anonymize_confirm.html" ,
422+ {"submission_ids" : submission_ids },
423+ )
380424
381425
382426@login_required
383427@require_http_methods (["POST" ])
384428def bulk_anonymize_submissions (request ):
385- if settings .SUBMISSION_ANONYMIZATION_ENABLED :
386- if not permissions .can_bulk_delete_submissions (request .user ):
387- return HttpResponseForbidden ()
429+ if not settings .SUBMISSION_ANONYMIZATION_ENABLED :
430+ return HttpResponseForbidden ()
431+ if not permissions .can_bulk_delete_submissions (request .user ):
432+ return HttpResponseForbidden ()
388433
389- submission_ids = request .POST .getlist ("selectedSubmissionIds" )
390- submissions = ApplicationSubmission .objects .filter (id__in = submission_ids )
434+ submission_ids = request .POST .getlist ("selectedSubmissionIds" )
435+ submissions = ApplicationSubmission .objects .filter (id__in = submission_ids )
391436
392- services .bulk_anonymize_submissions (
393- submissions = submissions ,
394- user = request .user ,
395- request = request ,
396- )
437+ services .bulk_anonymize_submissions (
438+ submissions = submissions ,
439+ user = request .user ,
440+ request = request ,
441+ )
397442
443+ if request .htmx :
398444 return HttpResponseClientRefresh ()
399-
400- return HttpResponseForbidden ()
445+ return redirect (reverse ("apply:submissions:list" ))
401446
402447
403448@login_required
@@ -441,7 +486,7 @@ def bulk_update_submissions_status(request: HttpRequest) -> HttpResponse:
441486 return HttpResponseClientRefresh ()
442487 action = outcome_from_actions (transitions )
443488 return HttpResponseClientRedirect (
444- reverse_lazy ("apply:submissions:determinations:batch" )
489+ reverse ("apply:submissions:determinations:batch" )
445490 + "?action="
446491 + action
447492 + "&submissions="
0 commit comments