from .data import load from ..models import User from ..tools.logs import write from flask.helpers import abort, flash, redirect, url_for from flask_login import current_user from sqlalchemy.exc import SQLAlchemyError from functools import wraps def require_account_creation(function): @wraps(function) def wrapper(*args, **kwargs): try: if User.query.count() == 0: flash('Please register a user account.', 'alert') return redirect(url_for('admin._register')) except (SQLAlchemyError, ConnectionError) as exception: write('system.log', f'Database error when checking for existing accounts: {exception}') return abort(500) return function(*args, **kwargs) return wrapper def disable_if_logged_in(function): @wraps(function) def wrapper(*args, **kwargs): if current_user.is_authenticated: return abort(404) return function(*args, **kwargs) return wrapper