diff --git a/admin/mailu/__init__.py b/admin/mailu/__init__.py index de282ac6..f16f1c17 100644 --- a/admin/mailu/__init__.py +++ b/admin/mailu/__init__.py @@ -11,8 +11,6 @@ import docker from apscheduler.schedulers import background -from mailu import models - # Create application app = flask.Flask(__name__, static_url_path='/admin/app_static') @@ -71,17 +69,11 @@ def get_locale(): # Login configuration login_manager = flask_login.LoginManager() login_manager.init_app(app) -login_manager.login_view = "admin.login" -login_manager.user_loader(models.User.query.get) +login_manager.login_view = ".login" @app.context_processor def inject_user(): return dict(current_user=flask_login.current_user) -@app.route("/") -def index(): - return flask.redirect("/webmail/") - - # Import views from mailu.views import * diff --git a/admin/mailu/access.py b/admin/mailu/access.py index 778423d0..b4179a53 100644 --- a/admin/mailu/access.py +++ b/admin/mailu/access.py @@ -1,4 +1,4 @@ -from mailu.admin import db, models, forms +from mailu import db, models, forms import flask import flask_login diff --git a/admin/mailu/models.py b/admin/mailu/models.py index 9fcfca1d..d1c5ebb4 100644 --- a/admin/mailu/models.py +++ b/admin/mailu/models.py @@ -1,5 +1,4 @@ -from mailu.admin import db, dkim -from mailu import app +from mailu import app, db, dkim, login_manager from sqlalchemy.ext import declarative from passlib import context @@ -236,6 +235,8 @@ class User(Base, Email): user = cls.query.get(email) return user if (user and user.check_password(password)) else None +login_manager.user_loader(User.query.get) + class Alias(Base, Email): """ An alias is an email address that redirects to some destination. diff --git a/admin/mailu/views/__init__.py b/admin/mailu/views/__init__.py index e69de29b..e4f5d7d2 100644 --- a/admin/mailu/views/__init__.py +++ b/admin/mailu/views/__init__.py @@ -0,0 +1 @@ +__all__ = ['admins', 'aliases', 'alternatives', 'base', 'domains', 'fetches', 'managers', 'users', 'relays'] diff --git a/admin/mailu/views/admins.py b/admin/mailu/views/admins.py index 2027bd39..bbefaa1a 100644 --- a/admin/mailu/views/admins.py +++ b/admin/mailu/views/admins.py @@ -1,4 +1,4 @@ -from mailu.admin import app, db, models, forms, access +from mailu import app, db, models, forms, access import flask import flask_login diff --git a/admin/mailu/views/aliases.py b/admin/mailu/views/aliases.py index 734d61f6..c61e5715 100644 --- a/admin/mailu/views/aliases.py +++ b/admin/mailu/views/aliases.py @@ -1,4 +1,4 @@ -from mailu.admin import app, db, models, forms, access +from mailu import app, db, models, forms, access import flask import wtforms_components diff --git a/admin/mailu/views/alternatives.py b/admin/mailu/views/alternatives.py index ce237d45..aa13bd3a 100644 --- a/admin/mailu/views/alternatives.py +++ b/admin/mailu/views/alternatives.py @@ -1,4 +1,4 @@ -from mailu.admin import app, db, models, forms, access +from mailu import app, db, models, forms, access import flask import wtforms_components diff --git a/admin/mailu/views/base.py b/admin/mailu/views/base.py index 4ab91325..c2950178 100644 --- a/admin/mailu/views/base.py +++ b/admin/mailu/views/base.py @@ -1,5 +1,4 @@ -from mailu import dockercli, app as flask_app -from mailu.admin import app, db, models, forms, access +from mailu import dockercli, app, db, models, forms, access import flask import flask_login @@ -53,7 +52,7 @@ def services(): @access.global_admin def announcement(): from_address = '{}@{}'.format( - flask_app.config['POSTMASTER'], flask_app.config['DOMAIN']) + app.config['POSTMASTER'], app.config['DOMAIN']) form = forms.AnnouncementForm() if form.validate_on_submit(): with smtplib.SMTP('smtp') as smtp: diff --git a/admin/mailu/views/domains.py b/admin/mailu/views/domains.py index cebe5c8b..f2542d4d 100644 --- a/admin/mailu/views/domains.py +++ b/admin/mailu/views/domains.py @@ -1,5 +1,4 @@ -from mailu.admin import app, db, models, forms, access -from mailu import app as flask_app +from mailu import app, db, models, forms, access import flask import wtforms_components @@ -63,7 +62,7 @@ def domain_delete(domain_name): def domain_details(domain_name): domain = models.Domain.query.get(domain_name) or flask.abort(404) return flask.render_template('domain/details.html', domain=domain, - config=flask_app.config) + config=app.config) @app.route('/domain/genkeys/', methods=['GET', 'POST']) diff --git a/admin/mailu/views/fetches.py b/admin/mailu/views/fetches.py index 306fa872..e3be2bdd 100644 --- a/admin/mailu/views/fetches.py +++ b/admin/mailu/views/fetches.py @@ -1,4 +1,4 @@ -from mailu.admin import app, db, models, forms, access +from mailu import app, db, models, forms, access import flask import flask_login diff --git a/admin/mailu/views/managers.py b/admin/mailu/views/managers.py index 98b1def8..731ee1c7 100644 --- a/admin/mailu/views/managers.py +++ b/admin/mailu/views/managers.py @@ -1,4 +1,4 @@ -from mailu.admin import app, db, models, forms, access +from mailu import app, db, models, forms, access import flask import flask_login diff --git a/admin/mailu/views/relays.py b/admin/mailu/views/relays.py index 73a9ad9d..599f2514 100644 --- a/admin/mailu/views/relays.py +++ b/admin/mailu/views/relays.py @@ -1,5 +1,4 @@ -from mailu.admin import app, db, models, forms, access -from mailu import app as flask_app +from mailu import app, db, models, forms, access import flask import wtforms_components diff --git a/admin/mailu/views/users.py b/admin/mailu/views/users.py index 0d086e23..1e6c533a 100644 --- a/admin/mailu/views/users.py +++ b/admin/mailu/views/users.py @@ -1,4 +1,4 @@ -from mailu.admin import app, db, models, forms, access +from mailu import app, db, models, forms, access import flask import flask_login diff --git a/admin/manage.py b/admin/manage.py index 252bfe0a..a9d4a020 100644 --- a/admin/manage.py +++ b/admin/manage.py @@ -1,5 +1,4 @@ -from mailu import app, manager, db -from mailu.admin import models +from mailu import app, manager, db, models @manager.command