from flask_admin import AdminIndexView from flask_admin.contrib.sqla import ModelView from flask_security import current_user def adminViewIsAccessible(): return current_user.has_role("admin") class SecureAdminIndexView(AdminIndexView): def is_accessible(self): return adminViewIsAccessible() class SecureModelView(ModelView): can_export = True can_set_page_size = True create_modal = True edit_modal = True details_modal = True list_template = "admin_list.html" create_template = "admin_create.html" edit_template = "admin_edit.html" def is_accessible(self): return adminViewIsAccessible()