示例#1
0
def setup_actions(app):
    actions.init_app(app)
    for a in ALL_ACTIONS:
        a.enabled = True
    actions.register(*ALL_ACTIONS)
    actions._init_context(app)
    actions.context["show_all"] = True
示例#2
0
def create_app(config=None, **kw):
    app = Application(__name__, **kw)
    app.config.from_object(Config)

    if not config:
        config_path = Path(app.instance_path) / "config.py"
        if config_path.exists():
            app.config.from_pyfile(str(config_path))

    for k in os.environ:
        if k.startswith("FLASK_"):
            app.config[k[len("FLASK_"):]] = os.environ[k]

    if "DATABASE_URL" in os.environ:
        app.config["SQLALCHEMY_DATABASE_URI"] = os.environ["DATABASE_URL"]

    # Setup stuff

    # We must register this before blueprint is registered
    social.url_value_preprocessor(on_home_blueprint)

    app.setup(config)

    with app.app_context():
        actions.register(HOME_ACTION)

    app.register_blueprint(MAIN)
    app.before_request(login_required)

    register_cli(app)

    # Done
    return app
示例#3
0
def setup_actions(app: Application) -> None:
    actions.init_app(app)
    for a in ALL_ACTIONS:
        a.enabled = True
    actions.register(*ALL_ACTIONS)
    actions._init_context(app)
    actions.context["show_all"] = True
示例#4
0
 def setUp(self):
   BaseTestCase.setUp(self)
   actions.init_app(self.app)
   for a in ALL_ACTIONS:
     a.enabled = True
   actions.register(*ALL_ACTIONS)
   actions._init_context(self.app)
   actions.context['show_all'] = True
示例#5
0
 def setUp(self):
     BaseTestCase.setUp(self)
     actions.init_app(self.app)
     for a in ALL_ACTIONS:
         a.enabled = True
     actions.register(*ALL_ACTIONS)
     actions._init_context(self.app)
     actions.context['show_all'] = True
示例#6
0
def setup_actions(app: Application) -> None:
    actions.init_app(app)
    for a in ALL_ACTIONS:
        # pyre-fixme[8]: Attribute has type `Callable[[Optional[bool]], bool]`; used
        #  as `bool`.
        a.enabled = True
    actions.register(*ALL_ACTIONS)
    actions._init_context(app)
    actions.context["show_all"] = True
示例#7
0
 def init_app(self, app):
   login_manager.init_app(app)
   login_manager.login_view = 'login.login_form'
   Service.init_app(self, app)
   self.login_url_prefix = app.config.get('LOGIN_URL', '/user')
   app.before_request(self.do_access_control)
   app.before_request(self.update_user_session_data)
   user_logged_in.connect(self.user_logged_in, sender=app)
   user_logged_out.connect(self.user_logged_out, sender=app)
   app.register_blueprint(login_views, url_prefix=self.login_url_prefix)
   with app.app_context():
     actions.register(*_ACTIONS)
示例#8
0
 def init_app(self, app):
     login_manager.init_app(app)
     login_manager.login_view = 'login.login_form'
     Service.init_app(self, app)
     self.login_url_prefix = app.config.get('LOGIN_URL', '/user')
     app.before_request(self.do_access_control)
     app.before_request(self.update_user_session_data)
     user_logged_in.connect(self.user_logged_in, sender=app)
     user_logged_out.connect(self.user_logged_out, sender=app)
     app.register_blueprint(login_views, url_prefix=self.login_url_prefix)
     with app.app_context():
         actions.register(*_ACTIONS)
示例#9
0
    def init_app(self, app: Flask) -> None:
        login_manager.init_app(app)
        login_manager.login_view = "login.login_form"

        super().init_app(app)

        self.login_url_prefix = app.config.get("LOGIN_URL", "/user")

        app.before_request(self.do_access_control)
        app.before_request(self.update_user_session_data)
        user_logged_in.connect(self.user_logged_in, sender=app)
        user_logged_out.connect(self.user_logged_out, sender=app)

        app.register_blueprint(login_views, url_prefix=self.login_url_prefix)

        with app.app_context():
            actions.register(*_ACTIONS)
示例#10
0
    def init_app(self, app: Flask) -> None:
        panels = app.config.get("ADMIN_PANELS", ())

        # resolve fully qualified name into an AdminPanel object
        for fqn in panels:
            panel_class = import_string(fqn, silent=True)
            if panel_class is None:
                logger.warning('Could not import panel: "%s"', fqn)
                continue
            if not issubclass(panel_class, AdminPanel):
                logger.error(
                    '"%s" is not a %s.AdminPanel, skipping', fqn, AdminPanel.__module__
                )
                continue

            self.register_panel(panel_class())
            logger.debug('Registered panel "%s"', fqn)

        if not self.panels:

            @self.blueprint.route("", endpoint="no_panel")
            def no_panels_view():
                return "No panels registered"

            self.nav_root.endpoint = "admin.no_panel"
        else:
            self.nav_root.endpoint = self.nav_root.items[0].endpoint

        self.root_breadcrumb_item = BreadcrumbItem(
            label=self.nav_root.title, url=self.nav_root.endpoint
        )

        app.register_blueprint(self.blueprint)

        with app.app_context():
            actions.register(self.nav_root, *self.nav_root.items)

        self.app = app
        app.extensions["admin"] = self
示例#11
0
    def init_app(self, app):
        panels = app.config.get("ADMIN_PANELS", ())

        # resolve fully qualified name into an AdminPanel object
        for fqn in panels:
            panel_class = import_string(fqn, silent=True)
            if panel_class is None:
                logger.warning('Could not import panel: "%s"', fqn)
                continue
            if not issubclass(panel_class, AdminPanel):
                logger.error(
                    '"%s" is not a %s.AdminPanel, skipping', fqn, AdminPanel.__module__
                )
                continue

            self.register_panel(panel_class())
            logger.debug('Registered panel "%s"', fqn)

        if not self.panels:

            @self.blueprint.route("", endpoint="no_panel")
            def no_panels_view():
                return "No panels registered"

            self.nav_root.endpoint = "admin.no_panel"
        else:
            self.nav_root.endpoint = self.nav_root.items[0].endpoint

        self.root_breadcrumb_item = BreadcrumbItem(
            label=self.nav_root.title, url=self.nav_root.endpoint
        )

        app.register_blueprint(self.blueprint)

        with app.app_context():
            actions.register(self.nav_root, *self.nav_root.items)

        self.app = app
        app.extensions["admin"] = self
示例#12
0
def register_actions(state):
    if not actions.installed(state.app):
        return
    with state.app.app_context():
        actions.register(*_actions)
示例#13
0
def register_actions(state):
    if not actions.installed(state.app):
        return
    with state.app.app_context():
        actions.register(*_actions)
示例#14
0
 def setUp(self):
   BaseTestCase.setUp(self)
   actions.init_app(self.app)
   actions.register(BASIC, CONDITIONAL, OTHER_CAT)
   actions._before_request()
   actions.context['show_all'] = True