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'))
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")
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)))
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'))
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"))
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
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
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
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), )
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))
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
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
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'))
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)
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="/"))
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
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'))
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"))
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
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
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'))
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"))
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
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='/'))
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'))
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)
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'))
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='/'))
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')))
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')))