@@ -202,21 +202,6 @@ def queue_confirm_action(request: HttpRequest, queue_name: str) -> HttpResponse:
202202 return redirect (next_url )
203203
204204
205- def _check_next_url (request : HttpRequest , default_next_url : str ) -> str :
206- next_url = request .POST .get ("next_url" , default_next_url )
207- next_url = next_url .replace ('\\ ' , '' )
208- if not url_has_allowed_host_and_scheme (next_url , allowed_hosts = None ) or urlparse (next_url ).netloc or urlparse (
209- next_url ).scheme :
210- messages .warning (request , "Bad followup URL" )
211- next_url = default_next_url
212- try :
213- resolve (next_url )
214- except Exception :
215- messages .warning (request , "Bad followup URL" )
216- next_url = default_next_url
217- return next_url
218-
219-
220205@never_cache
221206@staff_member_required
222207def queue_actions (request : HttpRequest , queue_name : str ) -> HttpResponse :
@@ -326,3 +311,18 @@ def get_statistics(run_maintenance_tasks: bool = False) -> Dict[str, List[Dict[s
326311 continue
327312
328313 return {"queues" : [dataclasses .asdict (q ) for q in queues ]}
314+
315+
316+ def _check_next_url (request : HttpRequest , default_next_url : str ) -> str :
317+ next_url = request .POST .get ("next_url" , default_next_url )
318+ next_url = next_url .replace ('\\ ' , '' )
319+ if not url_has_allowed_host_and_scheme (next_url , allowed_hosts = None ) or urlparse (next_url ).netloc or urlparse (
320+ next_url ).scheme :
321+ messages .warning (request , "Bad followup URL" )
322+ next_url = default_next_url
323+ try :
324+ resolve (next_url )
325+ except Exception :
326+ messages .warning (request , "Bad followup URL" )
327+ next_url = default_next_url
328+ return next_url
0 commit comments