|
|
from flask import Flask |
|
|
from flask_sqlalchemy import SQLAlchemy |
|
|
from flask_login import LoginManager |
|
|
from flask_admin import Admin |
|
|
from config.config import config |
|
|
|
|
|
db = SQLAlchemy() |
|
|
login_manager = LoginManager() |
|
|
admin = Admin() |
|
|
|
|
|
|
|
|
def create_app(config_name="default"): |
|
|
app = Flask(__name__) |
|
|
app.config.from_object(config[config_name]) |
|
|
|
|
|
db.init_app(app) |
|
|
login_manager.init_app(app) |
|
|
admin.init_app(app) |
|
|
|
|
|
login_manager.login_view = "auth.login" |
|
|
login_manager.login_message = "Veuillez vous connecter pour accéder à cette page." |
|
|
|
|
|
from app.routes import auth, main, admin_routes, payments, admin_tasks, cron |
|
|
|
|
|
app.register_blueprint(auth.bp) |
|
|
app.register_blueprint(main.bp) |
|
|
app.register_blueprint(admin_routes.bp) |
|
|
app.register_blueprint(payments.bp) |
|
|
app.register_blueprint(admin_tasks.bp) |
|
|
app.register_blueprint(cron.bp) |
|
|
|
|
|
|
|
|
@app.context_processor |
|
|
def inject_app_settings(): |
|
|
from app.models import AppSettings |
|
|
|
|
|
try: |
|
|
return { |
|
|
"app_name": AppSettings.get_app_name(), |
|
|
"app_logo": AppSettings.get_app_logo(), |
|
|
} |
|
|
except Exception: |
|
|
return { |
|
|
"app_name": "Apex Ores", |
|
|
"app_logo": None, |
|
|
} |
|
|
|
|
|
return app |
|
|
|