Commit Graph

5781 Commits (242dd48cbd7e599c8c4f22f8f8c4d9451b4deca7)

Author SHA1 Message Date
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 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 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 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 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 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