def create_admin_views(): global views_already_created if views_already_created is False: admin.add_link( MenuLink(name='Public Website', category='', url=url_for('index'))) admin.add_views(adminView(Post, db.session)) admin.add_views(adminView(Messages, db.session)) admin.add_views(adminView(User, db.session)) views_already_created = True
app.register_blueprint(webadmin_blueprint, url_prefix='/webadmin') class BankView(ModelView): form_excluded_columns = ['bank_categories', 'items'] class SubjectView(ModelView): form_excluded_columns = ['item_groups'] class CategoryView(ModelView): form_excluded_columns = ['items'] admin.add_views(SubjectView(Subject, db.session, category='ExamBank')) admin.add_views(BankView(Bank, db.session, category='ExamBank')) admin.add_views(CategoryView(Category, db.session, category='ExamBank')) admin.add_views(ModelView(SubCategory, db.session, category='ExamBank')) admin.add_views(ModelView(SubSubCategory, db.session, category='ExamBank')) admin.add_views(ModelView(Item, db.session, category='ExamBank')) admin.add_views(ModelView(Choice, db.session, category='ExamBank')) admin.add_views(ModelView(NumChoice, db.session, category='ExamBank')) admin.add_views(ModelView(Specification, db.session, category='ExamBank')) admin.add_views(UserAdminView(User, db.session, category='Main')) admin.add_views(ModelView(Role, db.session, category='Main')) admin.add_views( UploadUserView(name='User upload', endpoint='user_upload', category='Main'))
user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __repr__(self): return '<Social Links of id {}>'.format(self.id) class MyModelView(ModelView): def is_accessible(self): if current_user.username == 'admin': return True else: return False def inaccessible_callback(self, name, **kwargs): return redirect(url_for('login')) @login.user_loader def load_user(id): return User.query.get(int(id)) admin.add_views(MyModelView(User, db.session), MyModelView(Profile, db.session), MyModelView(PortfolioTemplates, db.session)) Stpath = os.path.join(os.path.dirname(__file__), 'static') #PtTemp = os.path.join(os.path.dirname(__file__), 'templates/portfolios') path = os.path.dirname(__file__) admin.add_view( FileAdmin(path, '/templates/portfolios', name='Portfolio Templates Files')) #admin.add_view(FileAdmin(Stpath, '/static/', name='Static Files'))
} class SubjectModelView(ModelView): column_list = ('subject_code', 'name', 'semester', 'teacher', 'department') form_columns = ('subject_code', 'name', 'semester', 'teacher', 'department') column_filters = ('name', 'subject_code', 'semester') column_labels = dict(subject_code='Code',) column_default_sort = 'semester' column_sortable_list = ('name', 'subject_code', 'semester') class AttendanceModelView(ModelView): can_export = True column_list = ('date', 'status', 'semester', 'student', 'subject') column_filters = ('date', 'status', 'semester') column_default_sort = 'date' column_sortable_list = ('date', 'status', 'semester') form_columns = ('date', 'status', 'semester', 'student', 'subject') # add view for admin admin.add_views( DepartmentModelView(Department, db.session), StudentModelView(Student, db.session), TeacherModelView(Teacher, db.session), SubjectModelView(Subject, db.session), AttendanceModelView(Attendance, db.session), )
from app.site_admin.views import PostView, AnswerView, QuestionView, CommentView, CustomModelView, CustomFileAdmin, os from .core import * from .process_signals import * from app import admin __all__ = [ 'PostTag', 'Tag', 'LikeAnswer', 'LikeComment', 'LikePost', 'Post', 'Answer', 'Question', 'Topic', 'Favorite', 'QuestionTopic', 'Follow', 'FollowFavorite', 'FollowQuestion', 'Comment', 'User', 'Role', 'Permission', 'Reply', 'LikeReply', 'FollowTopic', 'Message' ] views = [ PostView(Post, db.session, category='数据库管理'), AnswerView(Answer, db.session, category='数据库管理'), QuestionView(Question, db.session, category='数据库管理'), CommentView(Comment, db.session, category='数据库管理'), CustomModelView(Topic, db.session, category='数据库管理'), CustomModelView(User, db.session, category='数据库管理'), CustomModelView(Role, db.session, category='数据库管理'), CustomModelView(Favorite, db.session, category='数据库管理'), CustomModelView(Tag, db.session, category='数据库管理'), CustomModelView(Message, db.session, category='数据库管理'), CustomFileAdmin(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'static'), name='文件管理') ] admin.add_views(*views)
return False return True @action('delete', lazy_gettext('Delete'), lazy_gettext('Are you sure you want to delete selected records?')) def action_delete(self, ids): try: count = 0 for i in Coupon.query.all(): count += 1 db.session.delete(i) db.session.commit() flash( ngettext('Record was successfully deleted.', '%(count)s records were successfully deleted.', count, count=count), 'success') except Exception as ex: if not self.handle_view_exception(ex): raise flash(gettext('Failed to delete records. %(error)s', error=str(ex)), 'error') admin.add_views( ProductView(Product, db.session), CouponView(Coupon, db.session), S3FileAdmin(os.getenv('S3_BUCKET_NAME'), 'us-east-2', os.getenv('S3_ACCESS_KEY_ID'), os.getenv('S3_SECRET_ACCESS_KEY')), )