def administration_setup(app): """ Hack to use the backend administration. """ administration = Admin(name="Victims Admin", index_view=SafeAdminIndexView()) administration.init_app(app) # Application administration administration.add_view(CacheAdminView(name='Cache', endpoint='cache')) # Database management administration.add_view( AccountView(Account, name='Accounts', endpoint='accounts', category='Database')) administration.add_view( HashView(Hash, name='Hashes', endpoint='hashes', category='Database')) administration.add_view( SubmissionView(Submission, name='Submissions', endpoint='submissions', category='Database')) # File Management administration.add_view( FileView(app.config['UPLOAD_FOLDER'], '/uploads/', endpoint='uploads', name='User Uploads', category='Files')) administration.add_view( FileView(app.config['DOWNLOAD_FOLDER'], '/downloads/', endpoint='downloads', name='Charon Downloads', category='Files')) # Add links administration.add_link(MenuLink(name='Front End', endpoint='ui.index')) administration.add_link( MenuLink(name='Logout', endpoint='auth.logout_user')) return administration
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, db): login_manager = flask_login.LoginManager() login_manager.init_app(app) session = MODELS_GLOBAL_CONTEXT['session'] # ~ when defining this user_loader, we need an already initialized login_manager # ~ and an active db session @login_manager.user_loader def load_user(user_id): # pylint: disable=unused-variable return session.query(User).get(user_id) index_view_ = TrackerAdminResources(url='/') # pylint: disable=undefined-variable admin_ = Admin(app, name='FlaskTracker', template_mode='bootstrap3', index_view=index_view_) # ~ we need an already initialized app (to access the app.config), when defining the ModelView classes globals().update(define_view_classes(app)) admin_.add_view(TaskView(Task, db.session)) # pylint: disable=undefined-variable admin_.add_view(ProjectView(Project, db.session)) # pylint: disable=undefined-variable admin_.add_view(MilestoneView(Milestone, db.session)) # pylint: disable=undefined-variable admin_.add_view(OrderView(Order, db.session)) # pylint: disable=undefined-variable admin_.add_view(AttachmentView(Attachment, db.session)) # pylint: disable=undefined-variable admin_.add_view(ClaimView(Claim, db.session)) # pylint: disable=undefined-variable admin_.add_view(TrackerModelView(Customer, db.session, category="admin")) # pylint: disable=undefined-variable admin_.add_view(HistoryView(History, db.session, category="admin")) # pylint: disable=undefined-variable admin_.add_view(UserView(User, db.session, category="admin")) # pylint: disable=undefined-variable admin_.add_view(WorkTimeView(WorkTime, db.session, category="admin")) # pylint: disable=undefined-variable admin_.add_link(MenuLink(name='Wiki', url='/wiki/')) @app.route('/attachment/<path:filename>') def attachment(filename): # pylint: disable=unused-variable return send_from_directory(app.config['ATTACHMENT_PATH'], filename) return admin_
def administration_setup(app): """ Hack to use the backend administration. """ administration = Admin( name="Victims Admin", index_view=SafeAdminIndexView()) administration.init_app(app) # Application administration administration.add_view(CacheAdminView(name='Cache', endpoint='cache')) # Database management administration.add_view(AccountView( Account, name='Accounts', endpoint='accounts', category='Database') ) administration.add_view(HashView( Hash, name='Hashes', endpoint='hashes', category='Database') ) administration.add_view(SubmissionView( Submission, name='Submissions', endpoint='submissions', category='Database') ) # File Management administration.add_view(FileView( app.config['UPLOAD_FOLDER'], '/uploads/', endpoint='uploads', name='User Uploads', category='Files') ) administration.add_view(FileView( app.config['DOWNLOAD_FOLDER'], '/downloads/', endpoint='downloads', name='Charon Downloads', category='Files') ) # Add links administration.add_link(MenuLink(name='Front End', endpoint='ui.index')) administration.add_link(MenuLink( name='Logout', endpoint='auth.logout_user')) return administration
login_manager.init_app(app) # Create user loader function @login_manager.user_loader def load_user(user_id): return User(user_id) if __name__ == '__main__': # Create admin interface admin = Admin(name='Example: Menu') admin.add_view(MyAdminView(name='Authenticated')) # Add home link by url admin.add_link(MenuLink(name='Back Home', url='/')) # Add login link by endpoint admin.add_link( NotAuthenticatedMenuLink(name='Login', endpoint='login_view')) # Add links with categories admin.add_link( MenuLink(name='Google', category='Links', url='http://www.google.com/')) admin.add_link( MenuLink(name='Mozilla', category='Links', url='http://mozilla.org/')) # Add logout link by endpoint admin.add_link(AuthenticatedMenuLink(name='Logout', endpoint='logout_view'))
# -*- coding: utf-8 -*- import os from os import path from flask_admin.base import Admin, MenuLink from .admin import MyAdminIndexView, MediaFileAdmin from ..users.admin import UserModelView, RoleModelView media_path = path.join(path.dirname(__file__), os.pardir, 'static', 'media') admin = Admin(name="{{cookiecutter.project_name}}", index_view=MyAdminIndexView(template='admin/index.jade')) admin.add_view(UserModelView()) admin.add_view(RoleModelView()) admin.add_view(MediaFileAdmin(media_path, '/media/', name="Media Files", endpoint="media")) logout_link = MenuLink(name="Logout", url='/users/logout') admin.add_link(logout_link)
login_manager.init_app(app) # Create user loader function @login_manager.user_loader def load_user(user_id): return User(user_id) if __name__ == '__main__': # Create admin interface admin = Admin(name='Example: Menu') admin.add_view(MyAdminView(name='Authenticated')) # Add home link by url admin.add_link(MenuLink(name='Back Home', url='/')) # Add login link by endpoint admin.add_link(NotAuthenticatedMenuLink(name='Login', endpoint='login_view')) # Add links with categories admin.add_link(MenuLink(name='Google', category='Links', url='http://www.google.com/')) admin.add_link(MenuLink(name='Mozilla', category='Links', url='http://mozilla.org/')) # Add logout link by endpoint admin.add_link(AuthenticatedMenuLink(name='Logout', endpoint='logout_view')) admin.init_app(app)
myAdminIndexView = MyAdminIndex(name=u"首页") admin = Admin(name=u"日志系统后台", template_mode="bootstrap3", index_view=myAdminIndexView) admin.add_view( UserInfoSearchView(name=u'信息查询', endpoint="userinfosearch", category=u"数据查询")) admin.add_view( UserCondSearchView(name=u'条件查询', endpoint="usercondsearch", category=u"数据查询")) admin.add_link(NotAuthenticatedMenuLink(name=u'登录', url="/admin/login")) path = os.path.realpath(os.path.join(os.path.dirname(__file__), "../../..")) admin.add_view(MyFileAdmin(path, '/filemgr/', name=u'文件管理')) admin.add_view( UserAdminView(name=u"用户管理", endpoint="useradmin", category=u"用户管理")) admin.add_view( UserModifyPasswordView(name=u"修改密码", endpoint="usermodifypassword", category=u"用户管理")) # Add logout link by endpoint admin.add_link(AuthenticatedMenuLink(name=u'注销', url="/admin/logout")) admin.init_app(app)