[Pgadmin] [Docker] servers.json import fails when running in desktop mode

2019-12-13 Thread Levitt Olivier
Hi,

When running the docker image in desktop mode 
(PGADMIN_CONFIG_SERVER_MODE=False), no user is created. That is expected 
behaviour.
But then the code that imports the servers.json pre-configuration fails as it 
ties the import to the default user.  

I think line 40 of entrypoint.sh 
(https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob;f=pkg/docker/entrypoint.sh;h=47d14bf2d415777c64b221fb1fc75d61c5e3cecc;hb=HEAD)
 should not specify a user when running in dekstop mode. 
I tested it without --user parameter and it successfully imported the 
servers.json configuration.

Should I submit a patch ? First time contributing to Pgadmin :)

Regards,
Olivier Levitt




RE: [Pgadmin] [Docker] servers.json import fails when running in desktop mode

2019-12-16 Thread Levitt Olivier
Hi,

Here is a patch (first contribution \o/) that solves the issue by importing the 
servers.json anonymously when running in DESKTOP mode.  
There may be a better way to check if we are running in DESKTOP mode or not but 
checking PGADMIN_CONFIG_SERVER_MODE should be enough when running pgadmin4 in 
docker.  

Regards,
Olivier Levitt



From: Ashesh Vashi [ashesh.va...@enterprisedb.com]
Sent: 14 December 2019 05:52
To: Levitt Olivier
Cc: pgadmin-hack...@postgresql.org
Subject: Re: [Pgadmin] [Docker] servers.json import fails when running in 
desktop mode

<http://www.linkedin.com/in/asheshvashi>

On Sat, Dec 14, 2019 at 3:53 AM Levitt Olivier 
mailto:olivier.lev...@insee.fr>> wrote:
Hi,

When running the docker image in desktop mode 
(PGADMIN_CONFIG_SERVER_MODE=False), no user is created. That is expected 
behaviour.
But then the code that imports the servers.json pre-configuration fails as it 
ties the import to the default user.

I think line 40 of entrypoint.sh 
(https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob;f=pkg/docker/entrypoint.sh;h=47d14bf2d415777c64b221fb1fc75d61c5e3cecc;hb=HEAD)
 should not specify a user when running in dekstop mode.
I tested it without --user parameter and it successfully imported the 
servers.json configuration.

Should I submit a patch ? First time contributing to Pgadmin :)
Please do.


--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company<http://www.enterprisedb.com>


http://www.linkedin.com/in/asheshvashi

Regards,
Olivier Levitt


diff --git a/pkg/docker/entrypoint.sh b/pkg/docker/entrypoint.sh
index 47d14bf2d..e8434329d 100755
--- a/pkg/docker/entrypoint.sh
+++ b/pkg/docker/entrypoint.sh
@@ -37,7 +37,13 @@ if [ ! -f /var/lib/pgadmin/pgadmin4.db ]; then
 export PGADMIN_SERVER_JSON_FILE=${PGADMIN_SERVER_JSON_FILE:-/pgadmin4/servers.json}
 # Pre-load any required servers
 if [ -f "${PGADMIN_SERVER_JSON_FILE}" ]; then
-/usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user ${PGADMIN_DEFAULT_EMAIL}
+# When running in Desktop mode, no user is created
+# so we have to import servers anonymously
+if [ "${PGADMIN_CONFIG_SERVER_MODE}" = "False" ]; then
+/usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" 
+else
+/usr/local/bin/python /pgadmin4/setup.py --load-servers "${PGADMIN_SERVER_JSON_FILE}" --user ${PGADMIN_DEFAULT_EMAIL}
+fi
 fi
 fi