# -*- coding: utf-8 -*-
|
|
"""
|
|
:author: Grey Li (李辉)
|
|
:url: http://greyli.com
|
|
:copyright: © 2018 Grey Li <withlihui@gmail.com>
|
|
:license: MIT, see LICENSE for more details.
|
|
"""
|
|
from flask_avatars import Avatars
|
|
from flask_bootstrap import Bootstrap
|
|
from flask_dropzone import Dropzone
|
|
from flask_login import LoginManager, AnonymousUserMixin
|
|
from flask_mail import Mail
|
|
from flask_moment import Moment
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
from flask_whooshee import Whooshee
|
|
from flask_wtf import CSRFProtect
|
|
|
|
bootstrap = Bootstrap()
|
|
db = SQLAlchemy()
|
|
login_manager = LoginManager()
|
|
mail = Mail()
|
|
dropzone = Dropzone()
|
|
moment = Moment()
|
|
whooshee = Whooshee()
|
|
avatars = Avatars()
|
|
csrf = CSRFProtect()
|
|
|
|
|
|
@login_manager.user_loader
|
|
def load_user(user_id):
|
|
from albumy.models import User
|
|
user = User.query.get(int(user_id))
|
|
return user
|
|
|
|
|
|
login_manager.login_view = 'auth.login'
|
|
# login_manager.login_message = 'Your custom message'
|
|
login_manager.login_message_category = 'warning'
|
|
|
|
login_manager.refresh_view = 'auth.re_authenticate'
|
|
# login_manager.needs_refresh_message = 'Your custom message'
|
|
login_manager.needs_refresh_message_category = 'warning'
|
|
|
|
|
|
class Guest(AnonymousUserMixin):
|
|
|
|
def can(self, permission_name):
|
|
return False
|
|
|
|
@property
|
|
def is_admin(self):
|
|
return False
|
|
|
|
|
|
login_manager.anonymous_user = Guest
|