Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 26 additions & 7 deletions flask_user/user_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@ def init_app(
UserInvitationClass=None,
UserEmailClass=None,
RoleClass=None, # Only used for testing
):
token_manager=None,
email_manager=None,
password_manager=None,
db_manager=None,
login_manager=None):

# See http://flask.pocoo.org/docs/0.12/extensiondev/#the-extension-code
# Perform Class type checking
Expand Down Expand Up @@ -121,8 +125,11 @@ def advance_session_timeout():
# Configure Flask-Login
# --------------------
# Setup default LoginManager using Flask-Login
self.login_manager = LoginManager(app)
self.login_manager.login_view = 'user.login'
if login_manager is None:
login_manager = LoginManager(app)
login_manager.login_view = 'user.login'

self.login_manager = login_manager

# Flask-Login calls this function to retrieve a User record by token.
@self.login_manager.user_loader
Expand Down Expand Up @@ -179,10 +186,16 @@ def call_or_get(function_or_property):
# Set default managers
# --------------------
# Setup DBManager
self.db_manager = DBManager(app, db, UserClass, UserEmailClass, UserInvitationClass, RoleClass)
if db_manager is None:
db_manager = DBManager(app, db, UserClass, UserEmailClass, UserInvitationClass, RoleClass)

self.db_manager = db_manager

# Setup PasswordManager
self.password_manager = PasswordManager(app)
if password_manager is None:
password_manager = PasswordManager(app)

self.password_manager = password_manager

# Set default EmailAdapter
if self.USER_ENABLE_EMAIL:
Expand All @@ -191,10 +204,16 @@ def call_or_get(function_or_property):

# Setup EmailManager
if self.USER_ENABLE_EMAIL:
self.email_manager = EmailManager(app)
if email_manager is None:
email_manager = EmailManager(app)

self.email_manager = email_manager

# Setup TokenManager
self.token_manager = TokenManager(app)
if token_manager is None:
token_manager = TokenManager(app)

self.token_manager = token_manager

# Allow developers to customize UserManager
self.customize(app)
Expand Down