Prevent crash of sql editing page when user is not logged in
authorKarl O. Pinc <kop@karlpinc.com>
Sun, 15 Sep 2024 19:56:57 +0000 (14:56 -0500)
committerKarl O. Pinc <kop@karlpinc.com>
Sun, 15 Sep 2024 19:56:57 +0000 (14:56 -0500)
src/pgwui_sql/views/sql_edit.py

index 769e229122f90d0ef01ff03b64ef0027c94750ea..2ddd44b8b84c8c6a01e84c0bfa9d433c10934fd9 100644 (file)
@@ -48,20 +48,31 @@ def sql_edit_view(request):
     response.setdefault('pgwui', dict())
     response['pgwui']['pgwui_sql'] = settings['pgwui']['pgwui_sql']
 
-    response['search_path'] = uh.data.stmts[0].result
+    if uh.data is None:
+        log.debug('sql editor requested when user not logged in: DB {db}:'
+                  # ' File ({filename}):'
+                  # ' Format {format}:'
+                  ' By user {user}:'
+                  .format(  # filename=response['filename'],
+                      # format=download_fmt,
+                      db=response['db'],
+                      user=response['user']))
+    else:
+        # The hander executed; the user is logged in
+        response['search_path'] = uh.data.stmts[0].result
 
-    # if pgwui_core.utils.is_checked(response['csv_checked']):
-    #     download_fmt = 'CSV'
-    # else:
-    #     download_fmt = 'TAB'
-    log.debug('Successful sql editor request: DB {db}:'
-              # ' File ({filename}):'
-              # ' Format {format}:'
-              ' By user {user}:'
-              ' search_path ({search_path})'
-              .format(  # filename=response['filename'],
-                  # format=download_fmt,
-                  db=response['db'],
-                  user=response['user'],
-                  search_path=response['search_path']))
+        # if pgwui_core.utils.is_checked(response['csv_checked']):
+        #     download_fmt = 'CSV'
+        # else:
+        #     download_fmt = 'TAB'
+        log.debug('Successful sql editor request: DB {db}:'
+                  # ' File ({filename}):'
+                  # ' Format {format}:'
+                  ' By user {user}:'
+                  ' search_path ({search_path})'
+                  .format(  # filename=response['filename'],
+                      # format=download_fmt,
+                      db=response['db'],
+                      user=response['user'],
+                      search_path=response['search_path']))
     return response