Exemplo n.º 1
0
    def init_app(app):
        # Flask-DebugToolbar
        debug_toolbar.init_app(app)

        # Celery
        cel.init_app(app)

        # CSRF protection
        csrf.init_app(app)

        # SQLAlchemy
        db.init_app(app)

        # User
        user_manager.init_app(app, db, User)
        user_manager.email_manager = CustomEmailManager(app)

        # Flask-Gravatar
        gravatar.init_app(app)

        # Flask-Migrate
        migrate.init_app(
            app=app,
            db=db,
            directory=str(Path(__file__).resolve().parent / "migrations"),
        )

        # Reverse proxy should used HTTPS
        if app.config["USE_REVERSE_PROXY"]:
            app.config["PREFERRED_URL_SCHEME"] = "https"
            app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)

        # API Ratelimit
        limiter.init_app(app)

        # Flask-Admin
        admin = Admin(
            name="OpenCVE Admin", template_mode="bootstrap3", index_view=HomeView()
        )
        admin.init_app(app)
        with warnings.catch_warnings():
            warnings.filterwarnings("ignore", "Fields missing from ruleset")
            admin.add_view(UserModelView(User, db.session))
        admin.add_view(CveModelView(Cve, db.session))
        admin.add_view(EventModelView(Event, db.session))
        admin.add_view(VendorModelView(Vendor, db.session))
        admin.add_view(ProductModelView(Product, db.session))
        admin.add_link(MenuLink(name="Tasks", url="/admin/tasks"))
Exemplo n.º 2
0
    def init_app(app):
        # Flask-Admin
        admin.init_app(app)
        admin.add_view(UserModelView(User, db.session))
        admin.add_view(CveModelView(Cve, db.session))
        admin.add_view(EventModelView(Event, db.session))
        admin.add_view(VendorModelView(Vendor, db.session))
        admin.add_view(ProductModelView(Product, db.session))
        admin.add_link(MenuLink(name="Tasks", url="/admin/tasks"))

        # Flask-DebugToolbar
        debug_toolbar.init_app(app)

        # Celery
        cel.init_app(app)

        # CSRF protection
        csrf.init_app(app)

        # SQLAlchemy
        db.init_app(app)

        # User
        user_manager.init_app(app, db, User)
        user_manager.email_manager = CustomEmailManager(app)

        # Flask-Gravatar
        gravatar.init_app(app)

        # Flask-Migrate
        migrate.init_app(
            app=app,
            db=db,
            directory=str(Path(__file__).resolve().parent / "migrations"),
        )

        # Reverse proxy should used HTTPS
        if app.config["USE_REVERSE_PROXY"]:
            app.config["PREFERRED_URL_SCHEME"] = "https"
            app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)