Beispiel #1
0
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="/"))
Beispiel #3
0
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_
Beispiel #4
0
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
Beispiel #5
0
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'))
Beispiel #6
0
# -*- 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)
Beispiel #7
0
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)
Beispiel #8
0
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)