Commit Graph

7399 Commits (4dbfdd87409669bfd835e44ac4087850bb0a2c97)

Author SHA1 Message Date
Dave Page afd5626fe4 Add a simple module for storing and retrieving settings from the
config database.
2015-02-03 11:48:15 +00:00
Dave Page e4bec5ad1e Use the full screen width. 2015-01-28 18:02:13 +00:00
Dave Page 9d94848af4 Minor tweaks to the dialog code. 2015-01-28 17:56:13 +00:00
Dave Page 65dc4320f1 Replace bootstrap-dialog with Alertify.js, which is more configurable
and supports non-modal dialogs.
2015-01-28 15:57:03 +00:00
Dave Page 53d649de70 Add support for creating dialogs, and add an About dialog.
This adds bootstrap-dialog to help with creation of nice dialogs,
and adds the ability for modules to render Javascript into the
browser, and specify onclick handlers in the menu system.

Also add a basic About dialog, using the new infrastructure and
showing some useful info about the application.
2015-01-27 16:54:39 +00:00
Dave Page d86c90fa73 Blacklist the test module by default. 2015-01-27 14:25:40 +00:00
Dave Page 89bfc54ec4 Update .gitignore file with a few more bits of junk. 2015-01-27 14:22:52 +00:00
Dave Page d492da3ca1 Add automatic browser menu integration for modules.
Modules may now include functions that return lists of menu items
that will be included on the main browser window menu. While we're
at it, move the test views into a separate module.
2015-01-27 14:18:27 +00:00
Dave Page 0cff5fca2c Restructure templates to avoid conflicts between modules. 2015-01-26 16:27:16 +00:00
Dave Page 7c60fb3377 Support a desktop authentication mode.
This uses a single default user in the config database, which is
auto-logged into the app when SERVER_MODE = False. In this mode we
also hide/remove user-related functions in the UI.
2015-01-26 15:20:28 +00:00
Dave Page 10515431c7 Add authentication and the basis of the browser module.
A user authentication module based on flask-security is added, which
allows users to login and change/recover passwords etc. Custom templates
are included for the user/password UIs.

A new setup script will initialise the user (and later settings) DB,
adding the first user and granting them an Administrator role.

A redirects blueprint module is added to handle simple URL redirects.

A browser module is added and currently renders a skeleton page with
a menu bar, gravatar and jumbotron.

NOTE FOR LATER: Currently this code might make the nice basis for any
web app that needs user management and plugins. Hmmm....
2015-01-22 15:56:23 +00:00
Dave Page 7fa40d7671 Use Python docsctrings 2015-01-21 12:00:13 +00:00
Dave Page df5054f253 No need for content here now. 2015-01-21 11:18:02 +00:00
Dave Page 5a485e7ab8 Add a base template with Bootstrap and jQuery ready to go. 2015-01-20 17:02:04 +00:00
Dave Page 47e779266b Enable templates and static files in the utils module. Refactor to
ease use as a template for other modules in the future.
2015-01-20 13:57:51 +00:00
Dave Page 5cffcabc70 Update the runtime to use URLs provided by the utils module. 2015-01-20 13:56:37 +00:00
Dave Page dd40207617 Don't run the webserver in debug mode as it breaks the runtime. 2015-01-20 13:51:20 +00:00
Dave Page 0df7225561 Put the favicon in the right place. 2015-01-20 12:32:44 +00:00
Dave Page 7b8cb207ab Support dynamically loaded modules. 2015-01-20 12:32:06 +00:00
Dave Page bb3efff063 Remove incorrectly placed static dir. 2015-01-20 12:29:29 +00:00
Dave Page 2c1688e6f4 Use Flask blueprints for modularisation, per Khushboo Vashi. 2015-01-19 16:38:47 +00:00
Dave Page ca6ef66b61 Disable the DEBUG log handler so our own is used. 2014-12-18 17:56:17 +00:00
Dave Page 51117f26a9 Add a .gitignore file. 2014-12-18 17:52:53 +00:00
Dave Page b9bf6d9aa3 Restructure to enable use of modules for different components of pgAdmin. 2014-12-18 17:49:09 +00:00
Dave Page 255d6c1437 Improve commenting 2014-12-17 15:27:54 +00:00
Dave Page 417ad2c6ee Make the application name and version details configurable. 2014-12-17 12:52:43 +00:00
Dave Page 3e6436bc9b Prevent werkzeug starting up it's own stream handler so that all
messages are routed through pgAdmin's handlers.
2014-12-17 12:44:07 +00:00
Dave Page a0628f4a84 Ensure requests to the web server hit the file log too. 2014-12-16 18:21:26 +00:00
Dave Page 53389d6ee0 Enable static file handling. 2014-12-16 18:10:07 +00:00
Dave Page c791d2a15f Add favicon. 2014-12-16 17:55:19 +00:00
Dave Page cdcafa66f2 Fix typo. 2014-12-16 17:47:33 +00:00
Dave Page a1a6e5356f More basic setup. 2014-12-16 17:37:53 +00:00
Dave Page ba939f27d7 Use multiple logging handlers so we can have messages going to both
the console and a file, with differing formats and levels.
2014-12-16 17:14:48 +00:00
Dave Page 2d21ea059b Add a basic logging system. 2014-12-16 15:54:29 +00:00
Dave Page cd9d005c49 Remove CherryPy from the source tree, and change references to Flask
instead. Add support to the runtime to allow the user to specify the
Python path. This needs to be more automated for release, but will be
useful for debugging and development.
2014-12-16 12:53:09 +00:00
Dave Page 1db7d968e2 Fix merge error. 2014-03-09 14:39:12 +00:00
Dave Page b022e5d347 Have the runtime check in a loop to see if the app server is up before
opening the browser window.
2013-10-04 21:49:12 +01:00
Dave Page e120c43663 Add a "ping" handler. 2013-10-04 21:48:01 +01:00
Dave Page 457a842cec Find a random port number to use for the application server to avoid conflicts
with any other apps that may have already bound to the default port used by CP.
2013-10-04 21:48:01 +01:00
Dave Page a1524f3726 Add a qmake cache. 2013-10-04 21:42:16 +01:00
Dave Page 467d7d571b Include pgAdmin4.h in the project file. 2013-10-04 21:42:16 +01:00
Dave Page 7a066ec4b2 Save/restore the window position. 2013-10-04 21:42:16 +01:00
Dave Page 2d8f6481dc Fix a display issue in the Linux error handling.
Linux won't refresh the qWebView unless we explicitly process
events after telling it to load the page again.
2013-06-22 00:59:34 +01:00
Dave Page 9080a782d5 Handle slow startup of the web server.
If the web server is slow to start, we may need to retry the initial
page load. Implement a retry system that will retry the initial load
4 times, after 1, 2, 3 and 4 seconds, before giving up and leaving
the user with an error message and a link to retry manually.
2013-06-22 00:49:40 +01:00
Dave Page 7fd90ac10f QT4 compatibility. 2013-06-21 23:32:32 +01:00
Dave Page 28f45ea9f9 Initial PoC of a CherryPy app integrate with the runtime.
Upon startup, the runtime will attempt to locate pgAdmin4.py in a
number of different relative locations. Once found, it will execute
it in a new thread. The main window is then created and the brower's
initial page is set to the root of the CherryPy server. At present,
that's http://127.0.0.1:8080.
2013-06-21 23:21:11 +01:00
Dave Page 1afc31c657 Fix thinko. 2013-06-16 20:11:04 +01:00
Dave Page 38ff104cb9 Add a very experimental QT based runtime for pgAdmin 4.
This runtime implements a brower control with embedded Python
interpretor. The Python interpretor runs a simple script at
startup to generate some HTML that is displayed in the browser.
Arbitrary URLs can be opened from the "Open URL" option on the
File menu.
2013-06-16 14:17:46 +01:00
Dave Page 192cddef0e Add license file. 2013-06-15 14:49:52 +01:00