# HG changeset patch # User Ludovic Chabant # Date 1453966740 28800 # Node ID 8e1b386327028572603daa0d710f6947c9dd9a9c # Parent c67dcc0fa80f36b0374685b03820311e6f4b7503 admin: Show the install page if no secret key is available. diff -r c67dcc0fa80f -r 8e1b38632702 foodtruck/web.py --- a/foodtruck/web.py Wed Jan 27 22:47:24 2016 -0800 +++ b/foodtruck/web.py Wed Jan 27 23:39:00 2016 -0800 @@ -91,6 +91,15 @@ logging.exception(ex) +_missing_secret_key = False + +if not app.secret_key: + # If there's no secret key, create a temp one but mark the app as not + # correctly installed so it shows the installation information page. + app.secret_key = 'temp-key' + _missing_secret_key = True + + from flask.ext.login import LoginManager, UserMixin @@ -113,6 +122,14 @@ login_manager.login_view = 'login' login_manager.user_loader(load_user) +if _missing_secret_key: + def _handler(): + raise FoodTruckConfigNotFoundError() + + logger.debug("No secret key found, disabling website.") + login_manager.unauthorized_handler(_handler) + login_manager.login_view = None + try: from flask.ext.bcrypt import Bcrypt