Initial commit: add compliance_checks table, per-check metadata on assets, and compliance audit trail
This commit is contained in:
57
app/__init__.py
Normal file
57
app/__init__.py
Normal file
@@ -0,0 +1,57 @@
|
||||
import os
|
||||
from datetime import datetime, date
|
||||
from flask import Flask
|
||||
from config import config
|
||||
from app.extensions import db, migrate, login_manager
|
||||
|
||||
|
||||
def create_app(config_name='default'):
|
||||
app = Flask(__name__)
|
||||
app.config.from_object(config[config_name])
|
||||
|
||||
# Ensure storage directories exist
|
||||
for folder_key in ('UPLOAD_FOLDER', 'PDF_FOLDER', 'TEMPLATE_FOLDER', 'DOCX_FOLDER'):
|
||||
folder = os.path.join(app.root_path, '..', app.config[folder_key])
|
||||
os.makedirs(folder, exist_ok=True)
|
||||
|
||||
# Initialize extensions
|
||||
db.init_app(app)
|
||||
migrate.init_app(app, db)
|
||||
login_manager.init_app(app)
|
||||
|
||||
# Import models so Flask-Migrate detects them
|
||||
from app.models import admin_user, user, asset, assignment, paperwork, audit_log, document_template # noqa: F401
|
||||
|
||||
# Register blueprints
|
||||
from app.routes.auth import bp as auth_bp
|
||||
from app.routes.dashboard import bp as dashboard_bp
|
||||
from app.routes.users import bp as users_bp
|
||||
from app.routes.assets import bp as assets_bp
|
||||
from app.routes.assignments import bp as assignments_bp
|
||||
from app.routes.paperwork import bp as paperwork_bp
|
||||
from app.routes.audit import bp as audit_bp
|
||||
from app.routes.settings import bp as settings_bp
|
||||
from app.routes.doc_templates import bp as doc_templates_bp
|
||||
|
||||
app.register_blueprint(auth_bp)
|
||||
app.register_blueprint(dashboard_bp)
|
||||
app.register_blueprint(users_bp)
|
||||
app.register_blueprint(assets_bp)
|
||||
app.register_blueprint(assignments_bp)
|
||||
app.register_blueprint(paperwork_bp)
|
||||
app.register_blueprint(audit_bp)
|
||||
app.register_blueprint(settings_bp)
|
||||
app.register_blueprint(doc_templates_bp)
|
||||
|
||||
# Inject common template variables
|
||||
from datetime import datetime, date
|
||||
|
||||
@app.context_processor
|
||||
def inject_globals():
|
||||
return {
|
||||
'now': datetime.utcnow(),
|
||||
'today': date.today(),
|
||||
'today_date': date.today().isoformat(),
|
||||
}
|
||||
|
||||
return app
|
||||
Reference in New Issue
Block a user