# Create customized model view class class AdminModelView(ModelView): def is_accessible(self): if not current_user.is_active() or not current_user.is_authenticated(): return False if current_user.has_role(Constants.ADMIN_ROLE): return True return False def _handle_view(self, name, **kwargs): """ Override builtin _handle_view in order to redirect users when a view is not accessible. """ if not self.is_accessible(): if current_user.is_authenticated(): # permission denied abort(403) else: # login return redirect(url_for('security.login', next=request.url)) # Setup Flask-Admin admin.add_view(AdminModelView(Role, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(Company, db.session)) admin.add_view(AdminModelView(Phase, db.session)) admin.add_view(AdminModelView(Market, db.session))
from flask_admin.contrib.sqla import ModelView from webapp import admin, models, db class _view(ModelView): form_create_rules = ['so_luong_lop', "name"] class _loaidiem(ModelView): form_create_rules = ["name"] class _diemmonhoc(ModelView): form_create_rules = ["hoc_ky", "nam_hoc", "loai_diem", "diem"] admin.add_view(ModelView(models.HocSinh, db.session)) admin.add_view(ModelView(models.User, db.session)) admin.add_view(ModelView(models.Lop, db.session)) admin.add_view(ModelView(models.MonHoc, db.session)) admin.add_view(_diemmonhoc(models.DiemMonHoc, db.session)) admin.add_view(_view(models.Khoi, db.session)) admin.add_view(_loaidiem(models.Loaidiem, db.session))
user = db.relationship("User", backref=db.backref("gcm_tokens")) # Create customized model view class class AdminModelView(ModelView): def is_accessible(self): if not current_user.is_active or not current_user.is_authenticated: return False if current_user.has_role(Constants.ADMIN_ROLE): return True return False def _handle_view(self, name, **kwargs): """ Override builtin _handle_view in order to redirect users when a view is not accessible. """ if not self.is_accessible(): if current_user.is_authenticated: # permission denied abort(403) else: # login return redirect(url_for('security.login', next=request.url)) admin.add_view(AdminModelView(Role, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(GCMToken, db.session)) admin.add_view(AdminModelView(Message, db.session)) admin.add_view(AdminModelView(Reply, db.session))
if current_user.has_role(Constants.ADMIN_ROLE): return True return False def _handle_view(self, name, **kwargs): """ Override builtin _handle_view in order to redirect users when a view is not accessible. """ if not self.is_accessible(): if current_user.is_authenticated: # permission denied abort(403) else: # login return redirect(url_for("security.login", next=request.url)) admin.add_view(AdminModelView(Role, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(Activity, db.session)) admin.add_view(AdminModelView(Location, db.session)) admin.add_view(AdminModelView(Environment, db.session)) admin.add_view(AdminModelView(CurrentState, db.session)) admin.add_view(AdminModelView(Task, db.session)) admin.add_view(AdminModelView(TaskStatus, db.session)) admin.add_view(AdminModelView(Log, db.session)) admin.add_view(AdminModelView(DayOfWeek, db.session)) admin.add_view(AdminModelView(GCMToken, db.session))
from webapp import admin, db, bcrypt from webapp.main.forms import SearchForm from webapp.main.helpers import lookup from webapp.users.models import User from webapp.transactions.models import Share, Transaction import os from flask_admin.contrib.sqla import ModelView from flask import Blueprint, render_template, redirect, url_for, flash, request from flask_login import current_user, login_required from werkzeug.exceptions import default_exceptions, HTTPException, InternalServerError main = Blueprint('main', __name__) admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Share, db.session)) admin.add_view(ModelView(Transaction, db.session)) # Ensure responses aren't cached @main.after_request def after_request(response): response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" response.headers["Expires"] = 0 response.headers["Pragma"] = "no-cache" return response @main.route("/") @main.route("/index") @main.route("/index/page/<int:page>")
return False if current_user.has_role(Constants.ADMIN_ROLE): return True return False def _handle_view(self, name, **kwargs): """ Override builtin _handle_view in order to redirect users when a view is not accessible. """ if not self.is_accessible(): if current_user.is_authenticated: # permission denied abort(403) else: # login return redirect(url_for('security.login', next=request.url)) # Setup Flask-Admin admin.add_view(AdminModelView(Role, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(GCMToken, db.session)) admin.add_view(AdminModelView(Notification, db.session)) admin.add_view(AdminModelView(Question, db.session)) admin.add_view(AdminModelView(Answer, db.session)) admin.add_view(AdminModelView(Feedback, db.session)) admin.add_view(AdminModelView(QuestionSubscription, db.session)) admin.add_view(AdminModelView(UserSubscription, db.session)) admin.add_view(AdminModelView(Channel, db.session))
# #'phonenumber', # #'username', # #'role', # 'active', # #'email' # ) # # form_extra_fields = { # 'password': PasswordField("Password", # validators=[validators.data_required(), validators.length(min=8, max=100)]), # 'email': EmailField("Email", validators=[validators.data_required()]), # 'name': StringField("Full Name", validators=[validators.data_required()]), # 'phonenumber':TelField("Phone Number"), # #'active': RadioField("Active") # } # # # admin.add_view(ModelView(models.Team, db.session)) admin.add_view(ModelView(models.Round, db.session)) admin.add_view(ModelView(models.Result, db.session)) admin.add_view(ModelView(models.TeamsInRound, db.session)) admin.add_view(ModelView(models.Position, db.session)) admin.add_view(ModelView(models.Config, db.session)) admin.add_view(ModelView(models.Match, db.session)) admin.add_view(ModelView(models.Player, db.session)) admin.add_view(ModelView(models.Goal, db.session)) admin.add_view(ModelView(models.TypeGoals, db.session)) admin.add_view(ModelView(models.PrioritySort, db.session))
def _handle_view(self, name, **kwargs): """ Override builtin _handle_view in order to redirect users when a view is not accessible. """ if not self.is_accessible(): if current_user.is_authenticated(): # permission denied abort(403) else: # login return redirect(url_for('security.login', next=request.url)) # Setup Flask-Admin admin.add_view(AdminModelView(Role, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(UserLegacy, db.session)) admin.add_view(AdminModelView(Customer, db.session)) admin.add_view(AdminModelView(Plan, db.session)) admin.add_view(AdminModelView(Subscription, db.session)) admin.add_view(AdminModelView(ReviewLike, db.session)) admin.add_view(AdminModelView(ReviewReport, db.session)) admin.add_view(AdminModelView(ReviewFeature, db.session)) admin.add_view(AdminModelView(ReviewShare, db.session)) admin.add_view(AdminModelView(ReviewRequest, db.session)) admin.add_view(AdminModelView(Notification, db.session)) admin.add_view(AdminModelView(Order, db.session)) admin.add_view(AdminModelView(Comment, db.session)) admin.add_view(AdminModelView(Review, db.session)) admin.add_view(AdminModelView(Shop, db.session))