def view_flatpage(response): if response.status_code == 404: path = request.path.strip('/') page = FlatPage.query.filter_by(slug=path).first() if page is not None: template = page.template_name or 'flatpage.html' make_content = render_template if page.registration_required is True: make_content = login_required(render_template) return current_app.make_response(make_content(template, page=page)) return response
def register(cls, blueprint): blueprint.add_url_rule('/{0}'.format(cls.storage.name), methods=['POST'], view_func=login_required(cls.as_view(b'add_{0}'.format(cls.storage.name[:-1])))) blueprint.add_url_rule('/{0}/<uuid>'.format(cls.storage.name), view_func=cls.as_view(b'del_{0}'.format(cls.storage.name[:-1])), methods=['DELETE'])
from flaskext.uploads import configure_uploads, UploadSet from dealfig.app import app from dealfig import extensions from dealfig import admin, benefit_tracker, deals, designers, events, filters, leads, showcase, users app.register_blueprint(admin.app, url_prefix='/admin') app.register_blueprint(benefit_tracker.app, url_prefix='/benefit_tracker') app.register_blueprint(deals.app, url_prefix='/deals') app.register_blueprint(designers.app, url_prefix='/designers') app.register_blueprint(events.app, url_prefix='/events') app.register_blueprint(leads.app, url_prefix='/leads') app.register_blueprint(showcase.app, url_prefix='/showcase') app.register_blueprint(users.app, url_prefix='/users') # Patch Flask-Uploads lack of spport for Python 3 class PatchedDict(dict): def itervalues(self): return self.values() app.upload_set_config = PatchedDict() # configure_uploads(app, (preview_uploader)) from dealfig import views # Require the user to be logged in to access any endpoint, except /login for endpoint in app.view_functions.keys(): if app.view_functions[endpoint].__name__ != "login": app.view_functions[endpoint] = login_required(app.view_functions[endpoint])