Hi,
PFA attached patch for RM1313 updates and RM1363
--
*Harshal Dhumal*
*Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Tue, Jun 14, 2016 at 10:40 PM, Dave Page <[email protected]> wrote:
> On Tue, Jun 14, 2016 at 5:28 PM, Dave Page <[email protected]> wrote:
> > Thanks - committed with some minor changes:
> >
> > - Move the password field under the user name.
> >
> > - Remove the password requirement. The user might be using "trust" auth.
> >
> > - Adjust the vertical positioning of the checkbox.
>
> Hmm, this is actually broken:
>
> 1) I've left the password check in the Python code.
>
Removed check
>
> 2) It seems like it saves the server info on the first connection
> attempt. That means that if the connection fails, but the password is
> not the issue (mis-typed address or username perhaps), correcting that
> info doesn't allow the connection to proceed.
>
Fixed
>
> Because of 2, I haven't fixed 1 (you'll probably need to move it
> around anyway). Essentially, we need to support password-less
> connections, and if the connection fails, the user should be able to
> immediately try again having changed any of the connection options.
>
Added support for password less login
>
> Please take a look - and while you're in that code, please take a look
> at #1363. It's probably a very simple fix.
>
Fxied
>
> Thanks.
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py
index a658b29..9e7b5c8 100644
--- a/web/pgadmin/browser/server_groups/servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/__init__.py
@@ -526,7 +526,7 @@ class ServerNode(PGChildNodeView):
'port': server.port,
'db': server.maintenance_db,
'username': server.username,
- 'gid': server.servergroup_id,
+ 'gid': str(server.servergroup_id),
'group-name': sg.name,
'comment': server.comment,
'role': server.role,
@@ -582,22 +582,23 @@ class ServerNode(PGChildNodeView):
user = None
if 'connect_now' in data and data['connect_now']:
- if 'password' not in data or data["password"] == '':
- db.session.delete(server)
- db.session.commit()
- raise Exception("No password provided.")
-
- password = data['password']
- password = encrypt(password, current_user.password)
-
from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(server.id)
+ manager.update(server)
conn = manager.connection()
+ if 'password' in data and data["password"] != '':
+ # login with password
+ password = data['password']
+ password = encrypt(password, current_user.password)
+ else:
+ # Attempt password less login
+ password = None
+
status, errmsg = conn.connect(
- password=password,
- server_types=ServerType.types()
- )
+ password=password,
+ server_types=ServerType.types()
+ )
if not status:
db.session.delete(server)
@@ -626,6 +627,10 @@ class ServerNode(PGChildNodeView):
)
except Exception as e:
+ if server:
+ db.session.delete(server)
+ db.session.commit()
+
current_app.logger.exception(e)
return make_json_response(
status=410,
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers