Mercurial > piecrust2
comparison piecrust/admin/blueprint.py @ 935:7ecb946bfafd
admin: Lots of fixes for running the admin panel in a WSGI server.
- Use new source APIs in the dashboard to open WIP files.
- Fixed broken/outdated code in some views.
- Fixed cases when Flask is not running at the root URL by using the
`SCRIPT_NAME` variable somewhat more properly.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 04 Oct 2017 09:15:16 -0700 |
parents | 2b0fa2e4c12f |
children | 94fd4f07da83 |
comparison
equal
deleted
inserted
replaced
934:98430e7143d2 | 935:7ecb946bfafd |
---|---|
16 self.id = uid | 16 self.id = uid |
17 self.password = pwd | 17 self.password = pwd |
18 | 18 |
19 | 19 |
20 def load_user(user_id): | 20 def load_user(user_id): |
21 admin_id = g.config.get('security/username') | 21 admin_id = current_app.config.get('USERNAME') |
22 if admin_id == user_id: | 22 if admin_id == user_id: |
23 admin_pwd = g.config.get('security/password') | 23 admin_pwd = current_app.config.get('PASSWORD') |
24 return User(admin_id, admin_pwd) | 24 return User(admin_id, admin_pwd) |
25 return None | 25 return None |
26 | 26 |
27 | 27 |
28 login_manager = LoginManager() | 28 def record_login_manager(state): |
29 login_manager.login_view = 'FoodTruck.login' | 29 login_manager = LoginManager() |
30 login_manager.user_loader(load_user) | 30 login_manager.login_view = 'FoodTruck.login' |
31 login_manager.user_loader(load_user) | |
31 | 32 |
32 | |
33 def record_login_manager(state): | |
34 if state.app.config['SECRET_KEY'] == 'temp-key': | 33 if state.app.config['SECRET_KEY'] == 'temp-key': |
35 def _handler(): | 34 def _handler(): |
36 raise Exception("No secret key has been set!") | 35 from flask import render_template |
36 return render_template( | |
37 'error.html', | |
38 error="No secret key has been set!") | |
37 | 39 |
38 logger.debug("No secret key found, disabling website login.") | 40 logger.debug("No secret key found, disabling website login.") |
39 login_manager.unauthorized_handler(_handler) | 41 login_manager.unauthorized_handler(_handler) |
40 login_manager.login_view = None | 42 login_manager.login_view = None |
41 | 43 |
89 | 91 |
90 | 92 |
91 @foodtruck_bp.before_request | 93 @foodtruck_bp.before_request |
92 def _setup_foodtruck_globals(): | 94 def _setup_foodtruck_globals(): |
93 def _get_site(): | 95 def _get_site(): |
94 root_dir = current_app.config['FOODTRUCK_ROOT'] | 96 root_dir = current_app.config['FOODTRUCK_ROOT_DIR'] |
95 url_prefix = current_app.config['FOODTRUCK_URL_PREFIX'] | 97 return SiteInfo(root_dir, debug=current_app.debug) |
96 return SiteInfo(root_dir, url_prefix, debug=current_app.debug) | |
97 | 98 |
98 g.site = LazySomething(_get_site) | 99 g.site = LazySomething(_get_site) |
99 | 100 |
100 | 101 |
101 @foodtruck_bp.after_request | 102 @foodtruck_bp.after_request |
129 import piecrust.admin.views.menu # NOQA | 130 import piecrust.admin.views.menu # NOQA |
130 import piecrust.admin.views.micropub # NOQA | 131 import piecrust.admin.views.micropub # NOQA |
131 import piecrust.admin.views.preview # NOQA | 132 import piecrust.admin.views.preview # NOQA |
132 import piecrust.admin.views.publish # NOQA | 133 import piecrust.admin.views.publish # NOQA |
133 import piecrust.admin.views.sources # NOQA | 134 import piecrust.admin.views.sources # NOQA |
134 | |
135 |