Pass template a "locals" dict so it can modify variables
authorKarl O. Pinc <kop@karlpinc.com>
Sun, 29 Sep 2024 19:33:41 +0000 (14:33 -0500)
committerKarl O. Pinc <kop@karlpinc.com>
Sun, 29 Sep 2024 20:14:43 +0000 (15:14 -0500)
src/pgwui_sql/templates/sql.mak
src/pgwui_sql/views/sql.py
tests/templates/test_templates.py

index c3726d59395c077c5f21635f152674e9ce71193b..10584fb80cef1f8e5073940f01f09661f3ab2a04 100644 (file)
       }<em class="success">!</em>
   </p>
   % if sql:
-       <% if upload_sql:
-              sql = pgwui_sql.lib.normalize_newlines(sql)
+       <%
+       if upload_sql:
+            locals['sql'] = pgwui_sql.lib.normalize_newlines(sql)
+       else:
+            locals['sql'] = sql
        %>
        <ol>
-         % for sql_line in sql.rstrip().split('\n'):
+         % for sql_line in locals['sql'].rstrip().split('\n'):
            <li>${sql_line}</li>
          % endfor
        </ol>
index 69eeab18f3424c59b223a25f383cd771a2d63b06..dd2e229b90423a96163719dd9c0b856f2d59aa27 100644 (file)
@@ -377,6 +377,7 @@ def sql_view(request):
         response['pgwui']['pgwui_sql'] = settings['pgwui']['pgwui_sql']
 
         response['result_rows'] = uh.sql_results
+        response['locals'] = {}   # Template uses this for local vars
 
         log_response(response)
         return response
index dacf9528eff4dd42b7a59579968d598926e64161..6bfd9165d0164cfff8c43bd5ba7f8dfe87de95a6 100644 (file)
@@ -47,6 +47,7 @@ request = pyramid.testing.DummyRequest()
 request.registry = config.registry
 
 stock_template_args = {
+    'locals': {},
     'pgwui': config.get_settings()['pgwui'],
     'havecreds': False,
     'errors': [],