Actually bind flask-admin to the mail servers

This commit is contained in:
Pierre Jaury
2016-02-20 20:11:59 +01:00
parent 61c99c7014
commit 48fbf737ce
13 changed files with 98 additions and 27 deletions

View File

@@ -1,14 +1,22 @@
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os
# Create application
app = Flask(__name__)
app.config.update({
'SQLALCHEMY_DATABASE_URI': 'sqlite:////tmp/freeposte.db'
})
default_config = {
'SQLALCHEMY_DATABASE_URI': 'sqlite:////data/freeposte.db',
'SQLALCHEMY_TRACK_MODIFICATIONS': False,
'SECRET_KEY': None
}
# Load configuration from the environment if available
for key, value in default_config.items():
app.config[key] = os.environ.get(key, value)
# Create the database
db = SQLAlchemy(app)

View File

@@ -1,6 +1,7 @@
from freeposte import db
class Domain(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))

View File

@@ -8,15 +8,24 @@ from freeposte import app, db, models
admin = admin.Admin(app, name='Freeposte.io', template_mode='bootstrap3')
class DomainModelView(sqla.ModelView):
class BaseModelView(sqla.ModelView):
def after_model_change(self, form, model, is_created):
db.session.commit()
def after_model_delete(self, model):
db.session.commit()
class DomainModelView(BaseModelView):
pass
class UserModelView(sqla.ModelView):
class UserModelView(BaseModelView):
pass
class AliasModelView(sqla.ModelView):
class AliasModelView(BaseModelView):
pass

View File

@@ -1,2 +1,4 @@
Flask
Flask-Admin
Flask-SQLAlchemy
uwsgi

View File

@@ -1,4 +1,9 @@
from freeposte import app
from freeposte import app, db
# Initialize the database if required (first launch)
db.create_all()
db.session.commit()
if __name__ == '__main__':

View File

@@ -1,7 +0,0 @@
from freeposte import db, models
if __name__ == "__main__":
db.drop_all()
db.create_all()
db.session.commit()