Use session to track whether login credentials are good
authorKarl O. Pinc <kop@karlpinc.com>
Sun, 9 May 2021 21:49:17 +0000 (16:49 -0500)
committerKarl O. Pinc <kop@karlpinc.com>
Sun, 9 May 2021 21:49:17 +0000 (16:49 -0500)
src/pgwui_core/core.py

index 8bc424d7cd9a4a29240a8707837eab14fce145d2..4b92571034cea27b739105bcab44d8427afc4fad 100644 (file)
@@ -320,7 +320,9 @@ class CredsLoadedForm(LoadedForm):
         Produces the dict pyramid will use to render the form.
         '''
         response = super().write(result, errors)
-        if response.get('havecreds', False):
+        havecreds = self.uh.session.get('havecreds', False)
+        response.update({'havecreds': havecreds})
+        if havecreds:
             response['user'] = self['user']
         else:
             # We don't know if the credentials are good or
@@ -1411,7 +1413,7 @@ class DBConnector(object):
           Reserved keys:
             havecreds   Boolean. Supplied credentials can connect to db.
         '''
-        return {'havecreds': False}
+        return {'havecreds': self.uh.session.get('havecreds', False)}
 
     def nodberror_factory(self):
         return core_ex.NoDBError('No database name supplied')
@@ -1535,8 +1537,7 @@ class DBConnector(object):
                 havecreds = True
                 errors = self.call_alter_db(func, conn)
 
-        response.update({'havecreds': havecreds
-                         })
+        self.uh.session.update({'havecreds': havecreds})
         return (errors, response)
 
     def read_uh(self):