4242)
4343from iommi .shortcut import with_defaults
4444from iommi .struct import Struct
45+ from iommi .table import params_of_request
4546
4647
4748class MenuBase (Part , Tag ):
@@ -288,6 +289,13 @@ def _set_active(item):
288289 current ._active = True
289290
290291
292+ def add_get_parameter_to_current_url (request , ** new_params ):
293+ params = params_of_request (request )
294+ for k , v in new_params .items ():
295+ params [k ] = v
296+ return '?' + params .urlencode ()
297+
298+
291299def get_debug_menu (** kwargs ):
292300 class DebugMenu (Menu ):
293301 code = MenuItem (
@@ -308,7 +316,7 @@ class DebugMenu(Menu):
308316 tag = 'li' ,
309317 )
310318 code_finder = MenuItem (
311- url = '? _iommi_code_finder' ,
319+ url = lambda request , ** _ : add_get_parameter_to_current_url ( request , _iommi_code_finder = '' ) ,
312320 tag = 'li' ,
313321 )
314322 edit = MenuItem (
@@ -337,7 +345,7 @@ class DebugMenu(Menu):
337345 include = lambda ** _ : 'iommi.live_edit.Middleware' in settings .MIDDLEWARE ,
338346 )
339347 profile = MenuItem (
340- url = '? _iommi_prof' ,
348+ url = lambda request , ** _ : add_get_parameter_to_current_url ( request , _iommi_prof = '' ) ,
341349 tag = 'li' ,
342350 include = lambda ** _ : 'iommi.profiling.Middleware' in settings .MIDDLEWARE ,
343351 )
@@ -358,7 +366,7 @@ class DebugMenu(Menu):
358366 )
359367 sql_trace = MenuItem (
360368 display_name = 'SQL trace' ,
361- url = '? _iommi_sql_trace' ,
369+ url = lambda request , ** _ : add_get_parameter_to_current_url ( request , _iommi_sql_trace = '' ) ,
362370 tag = 'li' ,
363371 include = lambda ** _ : 'iommi.sql_trace.Middleware' in settings .MIDDLEWARE ,
364372 )
0 commit comments