Commit Graph
100 Commits
Author SHA1 Message Date
Ashesh Vashi 0a8d7a37b9 Changed the icon, label, inode, etc. propely while refreshing the
browser tree item.

Refs #3461
2018-08-14 10:18:03 +05:30
Ashesh Vashi ffd41009ea We were refering to the wrong 'name' variable during cleaning up the
backform controls.
2018-08-12 15:44:52 +05:30
Ashesh Vashi c4267f0878 Fixed couple of issues for the dashboard.
- Filter for the grids were showing on the server level dashboard.
  It was regression of the commit-id: f7e43d5e5
- Mark 'is_server_dashboard', and 'is_database_dashboard' to false, when
  the node has its own dashboard URL defined.
2018-07-30 13:33:20 +05:30
Ashesh Vashi 00139f7750 Remove the unused variable to satisfy the linter. 2018-07-27 13:43:37 +05:30
Ashesh Vashi 5ff2942b4d Improved the functionality of enable/disable the auto-collection of
the graph data.

- Dashboard is intereseted only on the current selected object in the
  browser tree. And, not the one, which was got disconnected.
- Disable the auto-collection of data selectively, and only when the
  selected object got disconnected, and not when changing back to the
  Dashboard panel (as per Aditya).
2018-07-27 13:14:24 +05:30
Ashesh Vashi 35862b94a9 We need to remove the interval callbacks for retrieving the statistics
for the charts on dashboard every time the URL changed (not - just when
connection to the server was alive).
2018-07-26 22:44:34 +05:30
Ashesh Vashi e2ce73d855 'anyFamilyMember' runs the condition function for all nodes in the
hierarchy. No need to run the 'dashboardURL' function in the
'getDashboardURL' function for the current node too.
2018-07-26 21:37:40 +05:30
Ashesh Vashi 53b5043520 As per Aditya - we need the server version for the certain operations,
which was removed during previous commit.
2018-07-25 13:07:28 +05:30
Ashesh Vashi e12e00703f Refactored the dashboard code, which was allowing each node type to
define its own dashboardURL.

There was a typo, while calling the dashboard function of a Node type.
2018-07-25 12:28:44 +05:30
Ashesh Vashi f2cef38364 Flask 1.0.2 does not allow a dot (.) in the view_func name, which we use
during generting the routes for the node.

References:
https://github.com/pallets/flask/commit/2f57a0b917478a028859b9d036b59cf1bba6cad2
https://github.com/pallets/flask/issues/2790

Fixes #3360
Reported by: Marcelo Mendes
Investigated by: Khushboo Vashi
2018-06-18 09:58:16 +05:30
Ashesh Vashi ccdc1a6c74 Revert back to jquery version 1.12.4 until we fix the jasmine testsuite, which is failing with jQuery (v3.0+) 2018-05-10 13:24:42 +05:30
Ashesh Vashi b8d0db7e7a Using the 'webcabin-docker' from new repository, which contains fixed
for supporting jQuery 3.0+.

Also - updated the jquery version to '^3.0'.
2018-05-10 12:02:33 +05:30
Ashesh Vashi c94439bf8e Fixed the issues for all the javascript files reported by the liner. 2018-04-30 17:51:57 +05:30
Ashesh Vashi b653b742ed Close button added to the alertify message box, which pops up in case of backend error. Fixes #3290 2018-04-24 18:57:31 +05:30
Ashesh Vashi 404f1cc8ef Fixing the javascript file after running pga_eslint.js script 2018-01-17 13:24:25 +05:30
Ashesh Vashi 4d8b7556f8 Introducing custom linter script for javascript files.
Also, changed the 'linter' yarn-command to use this script.

This script will run the 'eslint' against all the static javascripts,
found under pgadmin and regression directories of source (excepts
'vendor', 'generated'). It also allows to run the 'eslint' against
specific javascript file[s].

In order to run eslint on all static javascript files, run the following command:
  yarn run linter
  node pga_eslint

In order to run eslint on specific files, run the following command:
  yarn run linter --file <filename> [<filename>]
  node pga_script --file <filename> [<filename>]

In order to provide eslint specific commands, run the following command:
  yarn run linter [--file <filename> [<filename>]] --eslint-options
  node pga_script [--file <filename> [<filename>]] --eslint-options

  i.e.
    yarn run linter --fix
    yarn run linter --debug
    node pga_eslint --fix --debug pgadmin/static/js/pgadmin.js
2018-01-17 13:15:38 +05:30
Ashesh Vashi c32eb6bd37 Fixed the warnings/errors reported by eslint for all the static
javascripts.
2018-01-12 13:00:14 +05:30
Ashesh Vashi d54c35d74f Fixing the lint error messages in javascript using 'eslint --fix'
command.
2017-11-30 13:01:41 +05:30
Ashesh Vashi c53c6d2f48 Using 'categroy_id' instead of 'cid' in the preferences Backbone.Model,
as it is used by the Backbone.Collection to get the object by id.
2017-10-24 18:47:36 +05:30
Ashesh Vashi 8adf005ef8 Allow to send error, and warning on console from the javascript modules. 2017-10-24 16:56:17 +05:30
Ashesh Vashi 5860de838a Changed the wording for 'Terminated session successfully' 2017-09-29 20:20:27 +05:30
Ashesh Vashi 4b2b08174c Do not show the terminate session icon in red as per Dave 2017-09-29 20:17:51 +05:30
Ashesh Vashi 2b64834179 Allow to terminate a session from the server, and database dashboard. 2017-09-29 20:10:33 +05:30
Ashesh Vashi 0d754fc39f Remove the reference of font-mfizz completely. 2017-09-29 11:26:45 +05:30
Ashesh Vashi 9c6c32e936 Resolved the logo issue.
For some unknown reason, font-mfizz was showing the slonik icon in
italic. Even after upgrading it to the latest version of font-mfizz, the
problem was not resolved.

So - instead of using the vector font, using the PostgreSQL SVG logo as
the application icon, and documentation link on dashboard now.
2017-09-29 11:07:26 +05:30
Ashesh Vashi cc10a4ee54 Upgraded the font-mfizz to latest version (v:2.4.1) to resolve an issue,
about showing the PostgreSQL logo in italic in runtime on windows.
2017-09-27 07:41:15 +05:30
Ashesh Vashi 55e14e4d78 Handle the executor nodes, which are unknown to the Explain module,
gracefully by showing the 'ex_unknown.png' for such nodes.

Reported by: Murtuza
Refs #2706
2017-09-15 10:51:37 +05:30
Ashesh Vashi 3bbd1a8a48 Remove icons from the menus to de-clutter the UI and make it more consistent with most OSs. 2017-09-11 09:51:26 +01:00
Ashesh Vashi ac2512799e Rename the SecurityGroupUnderSchema to SecurityGroupSchema, and
redefined in the database (instead of schema) javascript module, as it
is also used by the foreign-server node too.

Reported by: Neel Patel
2017-09-11 13:13:40 +05:30
Ashesh Vashi 8c8c0e78ca Miscellaneous fixes for icon sizing issue, missing tree nodes to be
webpacked, etc.

- Fixed the background-size for the svg icons to 20x20 px such that it
  does not adjust it's size when a context menu height is different due
  to length of the node label, also - it allows us to fix the issue of
  icons sizes in the Grant Wizard.

- Added two missing browser tree nodes in the webpack configuration
  i.e. Foreign Server, and User Mapping
- Removed a redundant javascript file foreign-server.js
- Fixed the missing context menu icons for Foreign Table, and Tablespace
  nodes.

Thanks EDB development team to find the regression added after the icon
changes in quick time.
2017-09-11 12:55:42 +05:30
Ashesh Vashi 4018562bc7 Changes in the stylesheets to support the svg icons for the browser
tree nodes.
2017-09-11 11:22:55 +05:30
Ashesh Vashi 6b727c43b9 Define the utility path lable, and help message for the Greenplum
database server, shown in the preferences dialog.

Also, fixed the issue, when server type is not defined in the
DEFAULT_BINARY_PATHS, in the configuration.
2017-08-25 21:35:57 +05:30
Ashesh Vashi 845025db8f Some cosmetic changes.
- Loading 'pgadmin' as 'sources/pgadmin', as found under the 'sources'
  reference directory to be consistent with other files.
- Removed the 'pgadmin' reference from the base.html template.
- Renamed 'pgadmin.slickgrid.editors.js', and
  'pgadmin.slickgrid.formatters.js' as 'editors.js', and 'formatters.js'
  respectively, as they're already in the 'pgadmin/static/js/slickgrid'
  directory.
- Removed the duplicate entry of 'translations' from the webpack.shim.js
2017-08-09 16:52:12 +05:30
Ashesh Vashi bdefdf5d4e Requests for statistics were not stopped even when Dashboard panel is
closed. It is a regression of webpack.
2017-07-31 16:48:52 +05:30
Ashesh Vashi 4eefc52748 [PostgreSQL 10] Fixed the Pause/Resume Replay of WAL files for PostgreSQL 10. Fixes #2566 2017-07-14 18:39:19 +05:30
Ashesh Vashi b095d1f33a Ensure the initial password is properly hashed during setup in web mode. Fixes #2492 2017-07-10 16:08:35 +01:00
Ashesh Vashi d26337a1ba Moved the javascripts of the following browser node modules to the
'static' directory from 'templates' in the respective module directory:
- Server Group
- Server
- Database
- Schema
- Cast
- Event trigger
- Extension
- Foreign data wrapper
- Language
- Catalog Object
- Collation
- Domain Constraint
- Domain
- Foreign server
- FTS Configuration
- FTS Dictionary
- FTS Parser
- FTS Template
- Function
- Procedure
- Trigger Function
- Package
- Sequence
- Catalog
- Schema
- Synonym
- Table
- Type
- Materialized View
- View
- pgAgent Modules
  + Job (pga_job)
  + Schedule (pga_schedule)
  + Steps (pga_jobstep)

Added new dynanic modules for listing the supported server types, and
current user information.

NOTE: We've not yet moved the javascripts for the children of the table
module.
2017-06-22 15:58:32 +05:30
Ashesh Vashi 900ccebb50 Using client-side implementation of 'url_for' in the settings module. 2017-06-16 08:57:23 +05:30
Ashesh Vashi 5c140b3f58 Using client-side 'url_for' implementation in the user management
module.
2017-06-16 00:16:30 +05:30
Ashesh Vashi e65b605912 Using client-side 'url_for' implementation in the import/export module. 2017-06-16 00:00:17 +05:30
Ashesh Vashi 07580b8444 Using client-side 'url_for' implementation in the maintenance module. 2017-06-15 23:50:53 +05:30
Ashesh Vashi 467825c2d1 Package 'mock' is required for testing, and for Python < 3.3 only. 2017-06-13 15:57:56 +05:30
Ashesh Vashi 903389d7b7 Required mock package for python < 3.3.
It was required for the commit:
1208206bc0

Also, do not fetch the scenario-name, when it is not avaiable (but - use
default vaule as the stringified test-case itself).
2017-06-13 15:43:31 +05:30
Ashesh Vashi 0243d886c3 Using client-side 'url_for' implementation in the Grant-Wizard module. 2017-06-13 11:47:55 +05:30
Ashesh Vashi f9a3878220 Using client-side 'url_for' implementation in the restore module. 2017-06-13 11:00:17 +05:30
Ashesh Vashi 4a46f7b1eb Using client-side 'url_for' implementation in the backup module. 2017-06-13 10:59:11 +05:30
Ashesh Vashi 1a7c9d5ca1 Using client-side 'url_for' implementation in the module - bgprocess
(background-processes).
2017-06-13 09:18:48 +05:30
Ashesh Vashi fd3ddbeafb Implementation of the client side 'url_for(...)' function.
Created a url_for function module to be used by different javascript
modules to use the same functionality of flask at client side.

A python module can expose the list of endpoints, used by its
javascripts, by overriding the 'get_exposed_url_endpoints(self)'
function.

In this patch, we have modified all the browser modules to use this
function. It will allow us to move the majority of the javascript
modules of browser nodes from templates directory to the static
directory.

TODO::
- Move these javascripts modules to the static directory.
- Use this function in all the applicable javascript modules.
  e.g. tools, miscellaneous modules
2017-06-12 12:01:25 +05:30
Ashesh Vashi ae80976689 Using the client-side translation using the client-side 'gettext'
implementation.

This is the first step towards 'Avoid creating the javascript modules
using Jinja templates'.
2017-06-07 15:53:05 +05:30
Ashesh Vashi 139a10e8f9 Added dependency on Flask-Migrate added by previous commit:
6283ef7f5e
2017-04-24 16:26:50 +05:30
Ashesh Vashi 4d55e8abe8 Resolved a typo in the previous commit. 2017-04-03 19:00:06 +05:30
Ashesh Vashi 02a3919b06 As per Murtuza, we will have the '__module__', when running as a WSGI
application, but - it will not have the '__file__' attribute.
2017-04-03 18:55:24 +05:30
Ashesh Vashi b756407c3c When running pgAdmin as a WSGI application, we will not be able to find
the '__main__' module under 'sys.modules'.
2017-04-03 18:44:53 +05:30
Ashesh Vashi 90a369b7de [Extendible][Dashboard] Allow to create a server clicking the
'Add New Server' button on the dashboard, even when the first node is
of not type of 'server-group' in the browser tree.
2017-03-21 22:58:07 +05:30
Ashesh Vashi 4eafdbeff6 Resolved a typo - show a '?' after the 'Show timing' preference. 2017-03-21 11:17:35 +05:30
Ashesh Vashi 72128df75c [Extendible][Dashboard] Allow to show the dashboard of their choice for
the selected node in the browser tree.
2017-03-20 19:17:47 +05:30
Ashesh Vashi 7767c085c3 Resolved an issue finding the python interpreter on *nix systems, and
Windows 2008 R2 (32 bit), while running the pgAdmin 4 as runtime for
the PostgreSQL one click installers.

- Found a typo in runtime code, we were appending the path using ';' on
  *nix systems too. We should have used ':', and that did not allow the
  os.environ['PATH'] to identify the correct path of the python
  interpreter under the 'venv' directory.

- On Windows 2008, it was not honouring the environment variables, set
  under the Qt application (e.g. pgAdmin4.exe runtime), in the python
  application. (e.g. pgAdmin4.py). We will need to assume that - the
  python interpreter resides under the 'venv' directory outside the
  'bin' directory.

- Also, on windows 2008, it was setting PYTHONHOME environment variable
  to the full path of the pgAdmin4.exe, we need to reset it to 'venv'
  directory, if we find the python interpreter under it.

Thanks Murtuza Zabuawala for tips, and help.
2017-03-10 21:19:06 +05:30
Ashesh Vashi da9aa3ccbd Don't try to start chromedriver and friends if the feature tests are excluded. 2017-03-08 09:21:28 +00:00
Ashesh Vashi 41e0a73ea6 Adding the directory containing 'config.py' in to the sys.path variable,
so that - when config.py refered from outside the pgAdmin itself (i.e.
during building the pip).
2017-03-07 17:10:34 +05:30
Ashesh Vashi 6cc1fbe739 Import config only when needed, it was causing cyclic dependency when
running the regression suite.
2017-03-07 16:07:10 +05:30
Ashesh Vashi f2fc1ceba8 Resolved quite a few file-system encoding/decoding related cases.
In order to resolve the non-ascii characters in path (in user directory,
storage path, etc) on windows, we have converted the path into the
short-path, so that - we don't need to deal with the encoding issues
(specially with Python 2).

We've resolved majority of the issues with this patch.
We still need couple issues to resolve after this in the same area.

TODO
* Add better support for non-ascii characters in the database name on
  windows with Python 3
* Improve the messages created after the background processes by
  different modules (such as Backup, Restore, Import/Export, etc.),
  which does not show short-paths, and xml representable characters for
  non-ascii characters, when found in the database objects, and the file
  PATH.

Fixes #2174, #1797, #2166, #1940

Initial patch by: Surinder Kumar
Reviewed by: Murtuza Zabuawala
2017-03-07 15:31:03 +05:30
Ashesh Vashi 2f6a0e01da Ensure that PYTHONHOME is set for sub-processes such as the background executor. 2017-02-10 22:42:44 +00:00
Ashesh Vashi b7c5039416 Fix process execution. Fixes #1679. Fixes #2144.
Re-engineer the background process executor, to avoid using sqlite as some builds of
components it relies on do not support working in forked children.
2017-02-04 15:26:57 +01:00
Ashesh Vashi dbff4f7977 Minor Python 3/encoding fix in the file manager. 2016-12-12 09:49:00 +00:00
Ashesh Vashi d4c439d64a Ensure the auto-generated CSRF_SESSION_KEY, SECRET_KEY,
SECURITY_PASSWORD_SALT keys are decoded as string for python 3
compatibility.

Fixes #1871
2016-10-20 13:16:31 +05:30
Ashesh Vashi 19df1e3f4b Ensure SECURITY_PASSWORD_SALT is set to something when initialising (to avoid errors, prior to being set to the 'real' value). Fixes #1871 2016-10-19 14:04:07 +01:00
Ashesh Vashi b17eb15742 Resolved - Integer type of preferences are not updated
Reason: IntegerControl assumes the model, passed to it, would always has errorModel variable set properly.

In order to resolve it, now using pgBrowser.DataModel instead of Backbone.Model, which initialize the errorModel by default.

Fixes #1868
2016-10-19 16:18:22 +05:30
Ashesh Vashi e52aeecd20 Fixes# 1808 - Invalid date-time format was used in the Start/End time
for Job Schedule.

Thanks Susan for the report.
2016-10-04 10:18:37 +05:30
Ashesh Vashi 09c2d605c9 Prevent bigints getting rounded. Fixes #1547 2016-09-26 15:51:01 +01:00
Ashesh Vashi e591c6b5c0 pgAgent misc fixes:
1. When an existing schedule updated, or a new schedule is added from a pgAgent job dialog, it was not able to generate the proper update SQL Query.
2. The SubNodeCollectionControl was not removing the grid, when it is being getting removed.
2016-09-26 13:43:13 +01:00
Ashesh Vashi 237bfd4882 pgAgent - add modules for jobs, steps and schedules. Fixes #1341 2016-09-26 12:04:10 +01:00
Ashesh Vashi 912eebb583 Fix view creation. Fixes #1736 2016-09-26 11:00:18 +01:00
Ashesh Vashi 0bf48d06fb Ensure the view data filter box is usable. Fixes #1733 2016-09-26 10:50:09 +01:00
Ashesh Vashi 6999249dcd Ensure the default schema is set when creating objects. Fixes #1735 2016-09-26 10:15:23 +01:00
Ashesh Vashi b80cd43ae6 Misc changes
- Setting the CodeMirror height when panel is resized, which you had mentioned.
- Added a new CellEditor (DatetimePickerEditor) for datetime picker.
2016-09-26 10:04:49 +01:00
Ashesh Vashi 1c623c56e7 Fixes#1737 - Setting the schedma-id as the pid (parent-id) for the
sequences node instead of the server-id.

Due to this - during updating the sequence node, it was not able to find
out the correct parent node, and it was updating the existing node, but
- later it (considering the old node) was removed by the replace logic.
2016-09-24 14:25:16 +05:30
Ashesh Vashi 8797b3f3bf Change rolvaliduntil format to "YYYY-MM-DD HH:mm:ss Z" for consistency with the rest of the app. 2016-09-23 10:10:31 +01:00
Ashesh Vashi 163ae4d53d Misc fixes and additions for pgAgent support:
- Added DatetimepickerControl, MomentCell (using moment.js)
- Used the 'DatetimepickerControl' in Role (Also - resolved an issue, when unset the datetime for 'Valid Until'.)
- Added a 'Select All/Unselect All' adaptor for Select2 used by pgAgent nodes.
- Fixed an issue with SubNodeCollectionControl, which was not starting the modification session of the child model, when created default value for collection is not null/undefined. And, hence - validation on the child model was not working.
- Fixed a memory leak with SqlFieldControl, and SqlTabControl, which was not releasing the CodeMirror properly.
2016-09-22 15:27:59 +01:00
Ashesh Vashi 7ab0eb158f Ensure jQuery is loaded before SlickGrid. Fixes #1712
Patch by Ashesh with contributions from Surinder.
2016-09-19 17:08:57 +01:00
Ashesh Vashi c48e8d415b The Switch Dependency Cell, implemented in schema module, has a special
case. Its purpose is now to handle certain scinarios specific to table
children modules.

Renamed it to 'TableChildSwitchCell' from 'SwitchDepCell' to avoid any
conflict in future.
2016-09-15 13:36:56 +05:30
Ashesh Vashi 2540e9687f Fixed some of the javascript syntax in menu.js 2016-09-06 23:20:38 +05:30
Ashesh Vashi aeaa4bcad1 Add an object in an parent properly, which was expanded earlier, and do
not have any child withing it.

Fixes #1481, #1627.
2016-09-06 23:20:38 +05:30
Ashesh Vashi 8ac65070bc Improve the logic for Bad handling of missing connection database server RM #1387 2016-09-06 15:35:20 +05:30
Ashesh Vashi f7dd8cbab4 Bump version for RC1 release 2016-08-29 20:37:44 +05:30
Ashesh Vashi b6f307256b Sorting the data during tree data loading using the natural sort
algorithm.

This patch takes care of:
* Consistent behaviour during create, update operation on any node.
  - It should return the node data during creating a new object, or
    updating the existing one.
* Now that - we have consistent behaviour during these operations, we
  can consistently move, update the tree item based the node data from
  the server.
* Implemented the methods for each node to get the information about
  that particular node only.
* Using the above changes to implement the 'refresh' operation on tree
  node properly.

I must thank Surinder, and Harshal for helping me implement the 'node'
method, and also changed the behaviour of create & update methods to
return the node data for most of the nodes.

Fixes #1244
2016-08-29 20:06:58 +05:30
Ashesh Vashi f12d981a9d Handling the bad/lost connection of a database server.
Made backend changes for:
* Taking care of the connection status in the psycopg2 driver. And, when
  the connection is lost, it throws a exception with 503 http status
  message, and connection lost information in it.
* Allowing the flask application to propagate the exceptions even in the
  release mode.
* Utilising the existing password (while reconnection, if not
  disconnected explicitly).
* Introduced a new ajax response message 'service_unavailable' (http
  status code: 503), which suggests temporary service unavailable.

Client (front-end) changes:
* To handle the connection lost of a database server for different
  operations by generating proper events, and handle them properly.

Removed the connection status check code from different nodes, so that
- it generates the proper exception, when accessing the non-alive
  connection.

Fixes #1387
2016-08-29 12:01:35 +05:30
Ashesh Vashi 6775adc4c7 Cleanup old code in server_groups.js. Fixes #1247 2016-08-23 09:32:10 +05:30
Ashesh Vashi 417af3676d Using better way to find the current object in the properties panel. 2016-07-19 15:30:39 +05:30
Ashesh Vashi 8b35a60c08 Generate the proper unique name for the duplicate column name.
Thanks Murtuza for reporting the issue.
2016-07-19 11:27:03 +05:30
Ashesh Vashi 9ba6bafb2b Using own version of cursor class to allow us to take care of the
duplicate name in column description.
2016-07-16 10:42:51 +05:30
Ashesh Vashi 1ada5031cd 'hasattr' function on '__builtins__' for 'xrange' function does not
return correct information from a script, but works well on interactive
shell. Used a more proper check for Python > 2 instead of the current
implementation.

Thanks Vishal for the report.
2016-07-12 13:21:21 +05:30
Ashesh Vashi 6fa4065eee Do not try to show the database dashboard, when clicked on one of the
children node. This implementation will allow to add new nodes at server
level without modifying the dashboard code. I found the issue during the
pgAgent Jobs node implementation.
2016-07-11 16:31:52 +05:30
Ashesh Vashi 2b809523eb [Python 3 Compability] Made changes to make the new server-side session
implementation works with Python 3.
2016-07-11 16:29:06 +05:30
Ashesh Vashi 889b69ac82 [Python 3 compability] Allow to run the auto-discovery implementation on
Python 3. Refs #1389
2016-07-11 01:18:24 +05:30
Ashesh Vashi 61698b7b4d Do not use the sqlite for session handling, as the old implementation is
optimized to work from multiple threads. It has too many frequent
transaction from multiple threads, and that tends to result into the
'database is locked' error of sqlite.

With the new implemenation, we're using the caching mechanism, which
keep the data in the memory all the time, and saves it on request
completion, and loads it only for the first time. Also, it will storage
the data using pickle, which will be faster than accessing sqlite.

Fixes #1329
2016-07-08 16:57:46 +05:30
Ashesh Vashi b78b3904cd Use PUBLIC (in caps) whenever used as a keyword. Fixes #1138 2016-06-23 09:15:09 +05:30
Ashesh Vashi fc34f85aa3 Set the sys path from the runtime as we were doing it earlier along with the
PYTHONPATH environment variable settings.
2016-06-21 18:24:07 +05:30
Ashesh Vashi 980ab4735e Revert "Adding proper virtual environment path on windows."
As per Dave, we are not using 'pgAdmin 4' from the community installer,
hence - we should not bother about it.

This reverts commit 3484998775.
2016-06-21 17:44:46 +05:30
Ashesh Vashi 3484998775 Adding proper virtual environment path on windows. 2016-06-21 16:54:34 +05:30
Ashesh Vashi 061a9d9322 Using the preprocessor macor Q_OS_WIN differently, it was failing to
compile the runtime on windows with C1017 error.
2016-06-21 15:45:26 +05:30