First batch of refactoring, using the app factory pattern
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import forms
|
||||
|
||||
import flask
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
import flask
|
||||
@@ -25,7 +25,7 @@ def admin_create():
|
||||
user = models.User.query.get(form.admin.data)
|
||||
if user:
|
||||
user.global_admin = True
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('User %s is now admin' % user)
|
||||
return flask.redirect(flask.url_for('.admin_list'))
|
||||
else:
|
||||
@@ -40,7 +40,7 @@ def admin_delete(admin):
|
||||
user = models.User.query.get(admin)
|
||||
if user:
|
||||
user.global_admin = False
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('User %s is no longer admin' % user)
|
||||
return flask.redirect(flask.url_for('.admin_list'))
|
||||
else:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
import flask
|
||||
@@ -27,8 +27,8 @@ def alias_create(domain_name):
|
||||
else:
|
||||
alias = models.Alias(domain=domain)
|
||||
form.populate_obj(alias)
|
||||
db.session.add(alias)
|
||||
db.session.commit()
|
||||
models.db.session.add(alias)
|
||||
models.db.session.commit()
|
||||
flask.flash('Alias %s created' % alias)
|
||||
return flask.redirect(
|
||||
flask.url_for('.alias_list', domain_name=domain.name))
|
||||
@@ -45,7 +45,7 @@ def alias_edit(alias):
|
||||
form.localpart.validators = []
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(alias)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Alias %s updated' % alias)
|
||||
return flask.redirect(
|
||||
flask.url_for('.alias_list', domain_name=alias.domain.name))
|
||||
@@ -59,8 +59,8 @@ def alias_edit(alias):
|
||||
def alias_delete(alias):
|
||||
alias = models.Alias.query.get(alias) or flask.abort(404)
|
||||
domain = alias.domain
|
||||
db.session.delete(alias)
|
||||
db.session.commit()
|
||||
models.db.session.delete(alias)
|
||||
models.db.session.commit()
|
||||
flask.flash('Alias %s deleted' % alias)
|
||||
return flask.redirect(
|
||||
flask.url_for('.alias_list', domain_name=domain.name))
|
||||
|
||||
@@ -26,8 +26,8 @@ def alternative_create(domain_name):
|
||||
else:
|
||||
alternative = models.Alternative(domain=domain)
|
||||
form.populate_obj(alternative)
|
||||
db.session.add(alternative)
|
||||
db.session.commit()
|
||||
models.db.session.add(alternative)
|
||||
models.db.session.commit()
|
||||
flask.flash('Alternative domain %s created' % alternative)
|
||||
return flask.redirect(
|
||||
flask.url_for('.alternative_list', domain_name=domain.name))
|
||||
@@ -41,8 +41,8 @@ def alternative_create(domain_name):
|
||||
def alternative_delete(alternative):
|
||||
alternative = models.Alternative.query.get(alternative) or flask.abort(404)
|
||||
domain = alternative.domain
|
||||
db.session.delete(alternative)
|
||||
db.session.commit()
|
||||
models.db.session.delete(alternative)
|
||||
models.db.session.commit()
|
||||
flask.flash('Alternative %s deleted' % alternative)
|
||||
return flask.redirect(
|
||||
flask.url_for('.alternative_list', domain_name=domain.name))
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
from mailu import dockercli, app, db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
import flask
|
||||
import flask_login
|
||||
|
||||
from urllib import parse
|
||||
|
||||
|
||||
@ui.route('/', methods=["GET"])
|
||||
@access.authenticated
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from mailu import app, db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
from flask import current_app as app
|
||||
|
||||
import flask
|
||||
import flask_login
|
||||
@@ -26,8 +27,8 @@ def domain_create():
|
||||
else:
|
||||
domain = models.Domain()
|
||||
form.populate_obj(domain)
|
||||
db.session.add(domain)
|
||||
db.session.commit()
|
||||
models.db.session.add(domain)
|
||||
models.db.session.commit()
|
||||
flask.flash('Domain %s created' % domain)
|
||||
return flask.redirect(flask.url_for('.domain_list'))
|
||||
return flask.render_template('domain/create.html', form=form)
|
||||
@@ -42,7 +43,7 @@ def domain_edit(domain_name):
|
||||
form.name.validators = []
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(domain)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Domain %s saved' % domain)
|
||||
return flask.redirect(flask.url_for('.domain_list'))
|
||||
return flask.render_template('domain/edit.html', form=form,
|
||||
@@ -54,8 +55,8 @@ def domain_edit(domain_name):
|
||||
@access.confirmation_required("delete {domain_name}")
|
||||
def domain_delete(domain_name):
|
||||
domain = models.Domain.query.get(domain_name) or flask.abort(404)
|
||||
db.session.delete(domain)
|
||||
db.session.commit()
|
||||
models.db.session.delete(domain)
|
||||
models.db.session.commit()
|
||||
flask.flash('Domain %s deleted' % domain)
|
||||
return flask.redirect(flask.url_for('.domain_list'))
|
||||
|
||||
@@ -99,7 +100,7 @@ def domain_signup(domain_name=None):
|
||||
domain.max_users = 10
|
||||
domain.max_aliases = 10
|
||||
if domain.check_mx():
|
||||
db.session.add(domain)
|
||||
models.db.session.add(domain)
|
||||
if flask_login.current_user.is_authenticated:
|
||||
user = models.User.query.get(flask_login.current_user.email)
|
||||
else:
|
||||
@@ -108,9 +109,9 @@ def domain_signup(domain_name=None):
|
||||
form.populate_obj(user)
|
||||
user.set_password(form.pw.data)
|
||||
user.quota_bytes = domain.max_quota_bytes
|
||||
db.session.add(user)
|
||||
models.db.session.add(user)
|
||||
domain.managers.append(user)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Domain %s created' % domain)
|
||||
return flask.redirect(flask.url_for('.domain_list'))
|
||||
else:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
import flask
|
||||
@@ -24,8 +24,8 @@ def fetch_create(user_email):
|
||||
if form.validate_on_submit():
|
||||
fetch = models.Fetch(user=user)
|
||||
form.populate_obj(fetch)
|
||||
db.session.add(fetch)
|
||||
db.session.commit()
|
||||
models.db.session.add(fetch)
|
||||
models.db.session.commit()
|
||||
flask.flash('Fetch configuration created')
|
||||
return flask.redirect(
|
||||
flask.url_for('.fetch_list', user_email=user.email))
|
||||
@@ -39,7 +39,7 @@ def fetch_edit(fetch_id):
|
||||
form = forms.FetchForm(obj=fetch)
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(fetch)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Fetch configuration updated')
|
||||
return flask.redirect(
|
||||
flask.url_for('.fetch_list', user_email=fetch.user.email))
|
||||
@@ -53,8 +53,8 @@ def fetch_edit(fetch_id):
|
||||
def fetch_delete(fetch_id):
|
||||
fetch = models.Fetch.query.get(fetch_id) or flask.abort(404)
|
||||
user = fetch.user
|
||||
db.session.delete(fetch)
|
||||
db.session.commit()
|
||||
models.db.session.delete(fetch)
|
||||
models.db.session.commit()
|
||||
flask.flash('Fetch configuration delete')
|
||||
return flask.redirect(
|
||||
flask.url_for('.fetch_list', user_email=user.email))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
import flask
|
||||
@@ -30,7 +30,7 @@ def manager_create(domain_name):
|
||||
flask.flash('User %s is already manager' % user, 'error')
|
||||
else:
|
||||
domain.managers.append(user)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('User %s can now manage %s' % (user, domain.name))
|
||||
return flask.redirect(
|
||||
flask.url_for('.manager_list', domain_name=domain.name))
|
||||
@@ -46,7 +46,7 @@ def manager_delete(domain_name, user_email):
|
||||
user = models.User.query.get(user_email) or flask.abort(404)
|
||||
if user in domain.managers:
|
||||
domain.managers.remove(user)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('User %s can no longer manager %s' % (user, domain))
|
||||
else:
|
||||
flask.flash('User %s is not manager' % user, 'error')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
import flask
|
||||
@@ -25,8 +25,8 @@ def relay_create():
|
||||
else:
|
||||
relay = models.Relay()
|
||||
form.populate_obj(relay)
|
||||
db.session.add(relay)
|
||||
db.session.commit()
|
||||
models.db.session.add(relay)
|
||||
models.db.session.commit()
|
||||
flask.flash('Relayed domain %s created' % relay)
|
||||
return flask.redirect(flask.url_for('.relay_list'))
|
||||
return flask.render_template('relay/create.html', form=form)
|
||||
@@ -41,7 +41,7 @@ def relay_edit(relay_name):
|
||||
form.name.validators = []
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(relay)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Relayed domain %s saved' % relay)
|
||||
return flask.redirect(flask.url_for('.relay_list'))
|
||||
return flask.render_template('relay/edit.html', form=form,
|
||||
@@ -53,8 +53,8 @@ def relay_edit(relay_name):
|
||||
@access.confirmation_required("delete {relay_name}")
|
||||
def relay_delete(relay_name):
|
||||
relay = models.Relay.query.get(relay_name) or flask.abort(404)
|
||||
db.session.delete(relay)
|
||||
db.session.commit()
|
||||
models.db.session.delete(relay)
|
||||
models.db.session.commit()
|
||||
flask.flash('Relayed domain %s deleted' % relay)
|
||||
return flask.redirect(flask.url_for('.relay_list'))
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from mailu import db, models
|
||||
from mailu import models
|
||||
from mailu.ui import ui, forms, access
|
||||
|
||||
from passlib import pwd
|
||||
@@ -32,8 +32,8 @@ def token_create(user_email):
|
||||
token = models.Token(user=user)
|
||||
token.set_password(form.raw_password.data)
|
||||
form.populate_obj(token)
|
||||
db.session.add(token)
|
||||
db.session.commit()
|
||||
models.db.session.add(token)
|
||||
models.db.session.commit()
|
||||
flask.flash('Authentication token created')
|
||||
return flask.redirect(
|
||||
flask.url_for('.token_list', user_email=user.email))
|
||||
@@ -46,8 +46,8 @@ def token_create(user_email):
|
||||
def token_delete(token_id):
|
||||
token = models.Token.query.get(token_id) or flask.abort(404)
|
||||
user = token.user
|
||||
db.session.delete(token)
|
||||
db.session.commit()
|
||||
models.db.session.delete(token)
|
||||
models.db.session.commit()
|
||||
flask.flash('Authentication token deleted')
|
||||
return flask.redirect(
|
||||
flask.url_for('.token_list', user_email=user.email))
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from mailu import db, models, app
|
||||
from mailu import models
|
||||
from mailu.ui import ui, access, forms
|
||||
from flask import current_app as app
|
||||
|
||||
import flask
|
||||
import flask_login
|
||||
@@ -33,8 +34,8 @@ def user_create(domain_name):
|
||||
user = models.User(domain=domain)
|
||||
form.populate_obj(user)
|
||||
user.set_password(form.pw.data)
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
models.db.session.add(user)
|
||||
models.db.session.commit()
|
||||
user.send_welcome()
|
||||
flask.flash('User %s created' % user)
|
||||
return flask.redirect(
|
||||
@@ -63,7 +64,7 @@ def user_edit(user_email):
|
||||
form.populate_obj(user)
|
||||
if form.pw.data:
|
||||
user.set_password(form.pw.data)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('User %s updated' % user)
|
||||
return flask.redirect(
|
||||
flask.url_for('.user_list', domain_name=user.domain.name))
|
||||
@@ -77,8 +78,8 @@ def user_edit(user_email):
|
||||
def user_delete(user_email):
|
||||
user = models.User.query.get(user_email) or flask.abort(404)
|
||||
domain = user.domain
|
||||
db.session.delete(user)
|
||||
db.session.commit()
|
||||
models.db.session.delete(user)
|
||||
models.db.session.commit()
|
||||
flask.flash('User %s deleted' % user)
|
||||
return flask.redirect(
|
||||
flask.url_for('.user_list', domain_name=domain.name))
|
||||
@@ -93,7 +94,7 @@ def user_settings(user_email):
|
||||
form = forms.UserSettingsForm(obj=user)
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(user)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Settings updated for %s' % user)
|
||||
if user_email:
|
||||
return flask.redirect(
|
||||
@@ -113,7 +114,7 @@ def user_password(user_email):
|
||||
flask.flash('Passwords do not match', 'error')
|
||||
else:
|
||||
user.set_password(form.pw.data)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Password updated for %s' % user)
|
||||
if user_email:
|
||||
return flask.redirect(flask.url_for('.user_list',
|
||||
@@ -130,7 +131,7 @@ def user_forward(user_email):
|
||||
form = forms.UserForwardForm(obj=user)
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(user)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Forward destination updated for %s' % user)
|
||||
if user_email:
|
||||
return flask.redirect(
|
||||
@@ -147,7 +148,7 @@ def user_reply(user_email):
|
||||
form = forms.UserReplyForm(obj=user)
|
||||
if form.validate_on_submit():
|
||||
form.populate_obj(user)
|
||||
db.session.commit()
|
||||
models.db.session.commit()
|
||||
flask.flash('Auto-reply message updated for %s' % user)
|
||||
if user_email:
|
||||
return flask.redirect(
|
||||
@@ -179,8 +180,8 @@ def user_signup(domain_name=None):
|
||||
form.populate_obj(user)
|
||||
user.set_password(form.pw.data)
|
||||
user.quota_bytes = quota_bytes
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
models.db.session.add(user)
|
||||
models.db.session.commit()
|
||||
user.send_welcome()
|
||||
flask.flash('Successfully signed up %s' % user)
|
||||
return flask.redirect(flask.url_for('.index'))
|
||||
|
||||
Reference in New Issue
Block a user