Exemplo n.º 1
0
def register_admin(app):
    with app.app_context():

        admin = Admin(app,
                      name='Query Admin',
                      template_mode='bootstrap3',
                      endpoint='admin',
                      index_view=CustomAdminIndexView(),
                      base_template='admin/base.html')
        admin.add_link(MenuLink(name='Tracker', url=url_for('page.home')))
        admin.add_view(
            AdminQueryView(AdminQuery, db.session, category='Models'))
Exemplo n.º 2
0
def alogin():
    if request.method=='POST':
        if request.form.get('Username')== "Admin" and request.form.get('Password')=='Admin':
            session['logged_in']=True
            global flag
            if flag==0:
                admin.add_link(MenuLink(name='Logout', url=url_for('alogout')))
                flag=1
            return redirect("/admin")
        else:
            return render_template("/admin/alogin.html",failed=True)
    return render_template("/admin/alogin.html")
Exemplo n.º 3
0
 def _setup_legacy_admin_menu():
     """Add legacy menu admin to *Flask-Admin* interface."""
     from invenio.legacy.registry import webadmin
     for admin in app.extensions['admin']:
         for legacy_admin_link in webadmin.keys():
             module, action = legacy_admin_link.split('/')
             admin.add_link(
                 MenuLink(name=module,
                          category='Legacy Admin',
                          url=url_for('web_admin',
                                      module=module,
                                      action=action)))
Exemplo n.º 4
0
def start_views(app, db):
    admin = Admin(app,
                  name='Meu Estoque',
                  base_template='admin/base.html',
                  template_mode='bootstrap3',
                  index_view=HomeView())
    admin.add_view(ModelView(Role, db.session, "Funções", category="Usuários"))
    admin.add_view(UserView(User, db.session, "Usuários", category="Usuários"))
    admin.add_view(
        ModelView(Category, db.session, 'Categorias', category="Produtos"))
    admin.add_view(
        ModelView(Product, db.session, "Produtos", category="Produtos"))
    admin.add_link(MenuLink(name='Logout', url='/logout'))
Exemplo n.º 5
0
def start_views(app, db):
    admin = Admin(app,
                  name="Meu Estoque",
                  template_mode="bootstrap3",
                  index_view=HomeView())

    admin.add_view(RoleView(Role, db.session, "Funções", category="Usuários"))
    admin.add_view(UserView(User, db.session, "Usuários", category="Usuários"))
    admin.add_view(
        CategoryView(Category, db.session, "Categorias", category="Produtos"))
    admin.add_view(
        ProductView(Product, db.session, "Produtos", category="Produtos"))

    admin.add_link(MenuLink(name="Logout", url="/logout"))
Exemplo n.º 6
0
def create_app(config_class=Config):  # default configutation

    app = Flask(__name__)
    app.config.from_object(Config)

    #initialize extensions
    db.init_app(app)
    bcrypt.init_app(app)
    login_manager.init_app(app)
    mail.init_app(app)
    # customized admin views
    from my_app.models import MyAdminIndexView
    admin.init_app(app, index_view=MyAdminIndexView())  #how to add 'name'??
    admin.add_link(MenuLink(name='Home', url='/'))
    admin.add_link(MenuLink(name='Logout', url='/logout'))

    # blueprints
    from my_app.main.routes import main
    from my_app.errors.handlers import errors
    app.register_blueprint(main)
    app.register_blueprint(errors)

    return app
Exemplo n.º 7
0
def create_admin():
    from app.models.user import User
    from app.models.team import Team

    scoreboard_admin = Admin()
    scoreboard_admin.add_view(UserAdmin(User, name="Users", endpoint="users"))
    scoreboard_admin.add_view(TeamAdmin(Team, name="Teams", endpoint="teams"))
    scoreboard_admin.add_view(
        UtilitiesView(name="Utilities", endpoint="utilities"))

    scoreboard_admin.add_link(
        MenuLink(name='Log Out', url="/logout", class_name='logout'))

    return scoreboard_admin
Exemplo n.º 8
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    ckeditor.init_app(app)
    csrf.init_app(app)
    login_manager.init_app(app)

    if app.config['SSL_REDIRECT']:
        from flask_sslify import SSLify
        sslify = SSLify(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    from .models import User, Role, Post, Project
    from .main.views import CustomAdminIndexView, CustomModelView, PostView, ProjectView
    admin = Admin(app,
                  name='Flaskp ADM',
                  template_mode='bootstrap4',
                  index_view=CustomAdminIndexView())
    admin.add_view(CustomModelView(User, db.session))
    admin.add_view(CustomModelView(Role, db.session))
    admin.add_view(PostView(Post, db.session, name="Post", endpoint="post"))
    admin.add_view(
        ProjectView(Project, db.session, name="Project", endpoint="project"))
    admin.add_link(MenuLink(name='Home', url='/', category='Live Site'))
    admin.add_link(MenuLink(name='About', url='/about', category='Live Site'))
    admin.add_link(MenuLink(name='Blog', url='/blog', category='Live Site'))
    admin.add_link(
        MenuLink(name='Projects', url='/projects', category='Live Site'))

    return app
Exemplo n.º 9
0
def register_admin(app):
    admin = Admin(app=app, template_mode='bootstrap3')
    admin.add_link(MenuLink(name='Voltar', url=('/')))
    admin.add_views(
        ProtectedModelView(User, db.session),
        ProtectedModelView(Role, db.session),
        ProtectedModelView(PreAllowedUser, db.session),
        ProtectedModelView(Product, db.session),
        ProtectedModelView(Specification, db.session),
        ProtectedModelView(StockProduct, db.session),
        ProtectedModelView(Stock, db.session),
        ProtectedModelView(Order, db.session),
        ProtectedModelView(OrderItem, db.session),
        ProtectedModelView(Transaction, db.session),
    )
Exemplo n.º 10
0
def configure_admin(app):
    admin = Admin(index_view=AskIndexView(),
                  name='Ask',
                  template_mode='bootstrap3')
    admin.init_app(app)
    with app.app_context():
        admin.add_link(MenuLink('Ask External', endpoint='main.index'))
    admin.add_view(ProviderView(Provider, db.session))
    admin.add_view(AddressView(Address, db.session))
    admin.add_view(ReviewView(Review, db.session))
    admin.add_view(UserView(User, db.session))
    admin.add_view(CategoryView(Category, db.session))
    admin.add_view(AskModelView(Sector, db.session))
    admin.add_view(GroupView(Group, db.session))
    admin.add_view(ProviderSuggestionView(Provider_Suggestion, db.session))
Exemplo n.º 11
0
def init_app_admin():
    app = get_base_app()
    app.logger.debug("Run ices modules")
    run_ices_modules(app.config['SQLALCHEMY_DATABASE_URI'])
    app.before_request(get_current_user)
    app.logger.debug("Register blueprints")
    register_blueprints_admin(app)
    login_manager = LoginManager(app)
    login_manager.login_view = 'auth.login'
    login_manager.user_loader(load_user)
    user_db = SQLAlchemy(app)
    db_adapter = SQLAlchemyAdapter(user_db, type('UserModel',
                                                 (user_db.Model, User), {}))
    user_manager = UserManager(db_adapter, app)
    admin = Admin(name="Mistofm", template_mode="bootstrap3",
                  index_view=IndexView(url=config.ADMIN_URL_PREFIX))
    admin.init_app(app)
    db_session, connection, engine = get_db_session(app.config.get('SQLALCHEMY_DATABASE_URI'))

    # remove db session each time when close connection in
    # order to refresh data and get new session
    @app.teardown_request
    def teardown(err):
        db_session.remove()
        connection.close()
        engine.dispose()
        db = getattr(g, 'db', None)
        sql_connection = getattr(g, 'db_connection', None)
        g_engine = getattr(g, 'engine', None)
        if db is not None:
            if err:
                db.rollback()
            db.remove()
        if sql_connection:
            sql_connection.close()
        if g_engine:
            g_engine.dispose()
        return err
    admin.add_view(StationView(Station, db_session))
    admin.add_view(ImageView(Image, db_session))
    admin.add_view(MusicView(Music, db_session))
    admin.add_view(PlaylistView(Playlist, db_session))
    admin.add_view(StationIcesView(StationIces, db_session))
    admin.add_view(PlaylistMusicView(PlaylistMusic, db_session))
    admin.add_view(AdminView(HtmlHeader, db_session))
    admin.add_view(GeneralView(General, db_session))
    admin.add_link(MenuLink(name='Logout', category='', url="/logout"))
    return app
Exemplo n.º 12
0
 def _add_return_link(self,
                      name,
                      endpoint=None,
                      url=None,
                      icon_type=None,
                      icon_value=None):
     icon_type = icon_type or ICON_TYPE_LAYUI
     icon_value = icon_value or 'layui-icon-return'
     menu_link = None
     if endpoint or url:
         menu_link = MenuLink(name,
                              endpoint=endpoint,
                              url=url,
                              icon_type=icon_type,
                              icon_value=icon_value)
     self.return_menu_link = menu_link
Exemplo n.º 13
0
def init_app(app):
    """Init admin panel"""
    root_url = app.config['ADMIN_URL']
    admin = Admin(app,
                  name='Words',
                  template_mode='bootstrap3',
                  index_view=UserModelView(User,
                                           db.session,
                                           endpoint='admin',
                                           url=root_url,
                                           static_folder='static'))
    admin.add_view(
        PostModelView(Post,
                      db.session,
                      endpoint='admin.post',
                      url='{}/post'.format(root_url)))
    admin.add_link(MenuLink('Home', endpoint='index'))
Exemplo n.º 14
0
    def init_app(self, app, admin=None, logger=None):
        config = app.config.get("flask_profiling", {})
        if not config.get("enabled", True):
            logger.info("Do not use the profile for Flask")
            return

        backend.init_app(app)
        wrap_app_endpoints(app)
        app.register_blueprint(api)
        if logger is None:
            self.setup_logger()

        if admin is not None:
            admin.add_link(MenuLink("Profile", "/flask-profiling"))

        if config.get("type") == "ldap":
            ldap.init_app(app)
Exemplo n.º 15
0
def register_admin_views(app):
    """
    Initialize admin views and register all the views which are
    required here.
    """

    # create admin instance usign new Admin index view
    admin = Admin(
        app, index_view=AdminDashboardView(), template_mode="bootstrap4"
    )

    # add views to the Admin
    admin.add_view(UserAdminView(User))
    admin.add_view(QuestionsAdminView(Question))
    admin.add_view(QuizTakenAdminView(QuizTaken))

    # define link to the Website, to be able to return back to Quiz
    admin.add_link(MenuLink(name="Back to the Website", category="", url="/"))
Exemplo n.º 16
0
    def init_admin_app(self):
        """
        Initialize admin app
        """
        admin_views = __import__(
            'crm.apps.admin.views',
            globals(),
            locals(),
            ['object']
        )

        adminindexview = getattr(
            admin_views,
            'MyAdminIndexView')

        admin = Admin(
            self._app,
            name="CRM",
            index_view=adminindexview(url='/'),
            endpoint='/',
            template_mode="bootstrap3", url="/"
        )

        all_models = {}
        for model in BaseModel.__subclasses__():
            all_models[model.__name__] = model

        with warnings.catch_warnings():
            warnings.filterwarnings(
                'ignore', 'Fields missing from ruleset', UserWarning)
            for main_model in NAV_BAR_ORDER['MAIN']:
                viewname = main_model + "ModelView"
                viewcls = getattr(admin_views, viewname)
                admin.add_view(viewcls(all_models[main_model], db.session))

            for extra_model in NAV_BAR_ORDER['EXTRA']:
                viewname = extra_model + "ModelView"
                viewcls = getattr(admin_views, viewname)
                admin.add_view(
                    viewcls(all_models[extra_model], db.session, category="Extra"))

        admin.add_link(MenuLink(name='reports', url='/reports', category="Extra"))
        self._app.admin = admin
Exemplo n.º 17
0
def start_views(app, db):
    admin = Admin(app,
                  name='Dashboard',
                  base_template='admin/base.html',
                  template_mode='bootstrap3',
                  index_view=HomeView())
    admin.add_view(GenericView(Role, db.session, "Funções"))
    admin.add_view(UserView(User, db.session, "Usuários", category="Usuários"))
    admin.add_view(GenericView(State, db.session, "Estados"))
    admin.add_view(
        GenericView(Disease, db.session, "Doenças", category="Clínico"))
    admin.add_view(
        GenericView(Patient, db.session, "Pacientes", category="Clínico"))
    admin.add_view(
        GenericView(DiseaseState,
                    db.session,
                    "Estados de Saúde",
                    category="Clínico"))
    admin.add_link(MenuLink(name='Logout', url='/logout'))
Exemplo n.º 18
0
    def init(self, app, admin, connection):
        fstate = FakeState(blueprint)
        fstate.route_only()

        @blueprint.before_request
        @login_required
        def protect_admin_panel():
            if not current_user.has_role("admin"):
                return redirect(url_for("security.login"))
            push_connection(connection)

        @blueprint.teardown_request
        def pop_rq_connection(exception=None):
            pop_connection()

        @blueprint.context_processor
        def inject_interval():
            return dict(poll_interval=5 * 1000)

        app.register_blueprint(blueprint, url_prefix="/rq")
        admin.add_link(MenuLink("RQ", "/rq"))
Exemplo n.º 19
0
def create_admin(app, db):
    admin = Admin(app,
                  'Admin panel',
                  url='/admin',
                  index_view=HomeAdminView(),
                  template_mode='bootstrap3')
    admin.add_views(
        # Content
        PostAdminView(Post, db.session, category='Content'),
        TagAdminView(Tag, db.session, category='Content'),

        # Management
        UserAdminView(User, db.session, category='Management'),
        RoleAdminView(Role, db.session, category='Management'),
        ParameterAdminView(Parameter,
                           db.session,
                           name='Settings',
                           category='Management'),
        FilesAdminView(PUBLIC_DIR, name='Files', url='/admin/files/'),
    )
    admin.add_links(MenuLink('Back to app', endpoint='main.get_notes'), )
    return admin
Exemplo n.º 20
0
def create_app():
    """
        Create App
    """
    app = Flask(__name__)
    '''
        Init Database
    '''
    db.init_app(app)
    '''
        Init Login
    '''
    login.init_app(app)
    '''
        Configuring App
    '''
    Configuration.config(app)
    '''
        Administration interface
    '''
    from app.models import User, Post
    # Admin Left Side
    admin = Admin(app,
                  index_view=AdminView(url='/admin'),
                  template_mode='bootstrap3')
    admin.add_view(UserView(User, db.session))
    admin.add_view(PostView(Post, db.session))
    # Admin Right Side
    admin.add_link(
        MenuLink(name='Torna al sito publico', endpoint='public.public'))
    '''
        Add Blueprint Routes
    '''
    from app.routes import register_blueprints_routes
    register_blueprints_routes(app)
    '''
        Return Configured App
    '''
    return app
Exemplo n.º 21
0
def start_views(app, db):
    admin = Admin(app,
                  name='Catálogo',
                  base_template='admin/base.html',
                  template_mode='bootstrap3',
                  index_view=HomeView())
    admin.add_view(CargoView(Cargo, db.session, "Cargos", category="Usuários"))
    admin.add_view(UserView(User, db.session, "Usuários", category="Usuários"))
    admin.add_view(
        DepartmentView(Department, db.session, "Setores", category="Usuários"))
    admin.add_view(
        TyperegView(TypesReg,
                    db.session,
                    "Tipos de Registro",
                    category="Documentos"))
    admin.add_view(
        DocumentsView(Documents,
                      db.session,
                      "Documentos",
                      category="Documentos"))

    admin.add_link(MenuLink(name='Logout', url='/logout'))
Exemplo n.º 22
0
def before_first_request():
    from app.admin_tabs import UserAdmin, RoleAdmin, SeanceAdmin, LoginMenuLink, LogoutMenuLink, HomeView
    from flask_admin.menu import MenuLink

    database.create_all()

    user_datastore.find_or_create_role(name='admin',
                                       description='Administrator')
    user_datastore.find_or_create_role(name='user', description='User')

    encrypted_password = generate_password_hash('admin')
    if not user_datastore.get_user(
            '*****@*****.**'):  # should be replaced by correct email
        user_datastore.create_user(name='Admin',
                                   last_name='Admin',
                                   email='*****@*****.**',
                                   password_hash=encrypted_password
                                   )  # should be replaced by correct email
    try:
        database.session.commit()
    except Exception as error:
        return 'error: {}'.format(error)
    user_datastore.add_role_to_user(
        '*****@*****.**', 'admin')  # should be replaced by correct email
    try:
        database.session.commit()
    except Exception as error:
        return 'error: {}'.format(error)

    admin = Admin(app,
                  name='Admin',
                  template_mode='bootstrap3',
                  index_view=HomeView())
    admin.add_view(UserAdmin(User, database.session))
    admin.add_view(RoleAdmin(Role, database.session))
    admin.add_view(SeanceAdmin(Seance, database.session))
    admin.add_link(LoginMenuLink(name='Login', category='', url="/login"))
    admin.add_link(LogoutMenuLink(name='Logout', category='', url="/logout"))
    admin.add_link(MenuLink(name='Return', category='', url="/index"))
Exemplo n.º 23
0
def register_extensions(app):
    """Register Flask extensions."""
    assets.init_app(app)
    bcrypt.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    csrf_protect.init_app(app)
    login_manager.init_app(app)
    login_manager.anonymous_user = user.models.AnonymousUser
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    api.init_app(app)
    flask_admin.init_app(app, index_view=admin.views.MyAdminIndexView())
    flask_admin.add_view(admin.views.UsersAdmin(user.models.User, db.session, endpoint='admin_users'))
    flask_admin.add_view(admin.views.RolesAdmin(user.models.Roles, db.session))
    #flask_admin.add_view(ModelView(user.models.UserRoles, db.session))
    flask_admin.add_view(admin.views.PermissionsAdmin(user.models.Permissions, db.session))
    flask_admin.add_link(MenuLink(name='Back Home', url='/'))


    #assets.url_expire = True

    return None
Exemplo n.º 24
0
def enable_admin(app):
    """ initialize admin component """

    from flask_admin import Admin
    from flask_admin.menu import MenuLink
    from flask_admin.contrib.sqla import ModelView
    from sqlalchemy.ext.declarative.api import DeclarativeMeta

    from flashboard import models

    # get wecome URL
    url_welcome = app.config.get('APP_URL_WELCOME', None)

    # define customized class
    class MyModelView(ModelView):
        def is_accessible(self):
            return current_user and current_user.is_authenticated

        def inaccessible_callback(self, name, **kwargs):
            # redirect to login page if user doesn't have access
            return redirect(url_for(url_welcome, next=request.url))

    admin = Admin(app, name='Admin', template_mode='bootstrap3')

    # Add administrative views here
    # get all models defined in `models`
    session = create_session(app)
    all_models = [
        getattr(models, model) for model in dir(models) if model != 'BaseModel'
        and isinstance(getattr(models, model), DeclarativeMeta)
    ]
    for model in all_models:
        admin.add_view(MyModelView(model, session, category='Sys.'))

    # add hyper link to return back to home page
    admin.add_link(MenuLink(name='Back', url='/'))
Exemplo n.º 25
0
from app.owners.models import UserModel, PetModel, OwnerModel, TagModel


class FixedModelView(ModelView):
    form_excluded_columns = 'pets'


class SecureModelView(FixedModelView):
    def is_accessible(self):
        return current_user.is_authenticated and current_user.is_admin

    def inaccessible_callback(self, name, **kwargs):
        return redirect(url_for('login'))


admin = Admin(app)
login = LoginManager(app)


@login.user_loader
def load_user(user_id):
    return UserModel.query.get(user_id)


admin.add_view(SecureModelView(UserModel, db.session))
admin.add_view(SecureModelView(OwnerModel, db.session))
admin.add_view(SecureModelView(PetModel, db.session))
admin.add_view(SecureModelView(TagModel, db.session))
admin.add_link(MenuLink('LogOut', '/logout'))

Exemplo n.º 26
0
    flash(gettext("Organization deleted."), "success")
    return redirect(url_for("admin_bp.list_organizations"))


# Flask-Admin views


class SecureView(ModelView):
    def is_accessible(self):
        return current_user.is_authenticated and current_user.is_admin


class CustomAdminIndexView(AdminIndexView):
    def is_accessible(self):
        return current_user.is_authenticated and current_user.is_admin


menu_link_back_home = MenuLink(name="Home", url="/")
admin_flask = Admin(
    current_app,
    name="Management of data",
    template_mode="bootstrap3",
    index_view=CustomAdminIndexView(name="Home", url="/admin"),
)
admin_flask.add_view(SecureView(User, db.session))
admin_flask.add_view(SecureView(Organization, db.session))
admin_flask.add_view(SecureView(Schema, db.session))
admin_flask.add_view(SecureView(JsonObject, db.session))
admin_flask.add_view(SecureView(License, db.session))
admin_flask.add_link(menu_link_back_home)
Exemplo n.º 27
0
from hnchat import db, admin, app
from hnchat.models import User, Role, RolesUsers, HnModelView, HnAdminIndexView
from flask_admin import Admin
from flask_admin.menu import MenuLink
from flask import url_for

admin = Admin(app,
              index_view=HnAdminIndexView(),
              name='hnchat',
              template_mode='bootstrap3')
admin.add_view(HnModelView(User, db.session))
admin.add_view(HnModelView(Role, db.session))
admin.add_link(MenuLink(name='Return to Chat', category='', url='/chat'))
Exemplo n.º 28
0
def register_admin(app):
    admin.init_app(app, index_view=PastebinAdminIndexView())
    admin.add_view(AdminView(User, db.session))
    admin.add_link(MenuLink(name='Back Home', url='/'))
Exemplo n.º 29
0
        if model.reason1:
            pb_list.append("stop%2Faudiotel")
        if model.reason2:
            pb_list.append("stop%2Fprive")
        if model.reason3:
            pb_list.append("stop%2Fauo")
        if model.reason4:
            pb_list = ["stop%2Fall"]
        return "%26".join(pb_list)


class LogView(AdminModelView):
    can_create = False
    can_edit = False
    can_delete = False
    can_view_details = True
    column_searchable_list = ['stoplist_id', 'created_on', 'user', 'type', 'data']
    column_filters = ('stoplist_id', 'created_on', 'user', 'type', 'data')


admin = Admin(
    name=gettext('PH Group'), template_mode='bootstrap4',
    index_view=SecureIndex(name='Aider')
)
admin.add_link(MenuLink(name=gettext('Logout'), url='/logout'))

admin.add_view(UserView(User, db.session, name=gettext('Users')))
admin.add_view(RoleView(Role, db.session, name=gettext('Roles')))
admin.add_view(StoplistView(Stoplist, db.session, name=gettext('Stoplist')))
admin.add_view(LogView(Log, db.session, name=gettext('Log')))
Exemplo n.º 30
0
def assign_links_to_admin():
    admin.add_link(
        MenuLink(name='Public Website', category='',
                 url=url_for('main.index')))
    admin.add_link(
        MenuLink(name='Logout', category='', url=url_for('user.logout')))