Missing check oauth

This commit is contained in:
2025-09-27 21:12:45 +02:00
parent 7a5e387665
commit 00b9c170f1
5 changed files with 29 additions and 16 deletions

12
main.py
View File

@@ -52,7 +52,10 @@ if not os.path.exists('static/profile_pics'):
os.makedirs('static/profile_pics')
app.register_blueprint(admin_bp)
app.register_blueprint(discord_bp)
try:
app.register_blueprint(discord_bp)
except (NameError, ImportError, RuntimeError, LookupError):
pass
app.register_blueprint(post_bp)
app.register_blueprint(log_bp)
app.register_blueprint(support_bp)
@@ -103,6 +106,13 @@ babel.init_app(app, locale_selector=get_locale)
def needs_admin_setup():
return db.session.query(User).filter_by(is_admin=True).count() == 0
@app.context_processor
def inject_discord_available():
try:
from routes.oauth import discord
except ImportError:
return dict(discord=None)
@app.context_processor
def inject_user():
return dict(user=current_user if current_user.is_authenticated else None)

View File

@@ -6,12 +6,9 @@ from flask_babel import gettext as _
try:
from routes.oauth import discord
except ImportError:
discord = None
pass
from routes.login import login_user
if discord is None:
abort("OAuth not configured. Please set up OAuth in routes/oauth.py")
discord_bp = Blueprint('discord', __name__)
@discord_bp.route('/login/discord')

View File

@@ -22,11 +22,13 @@
<a href="{{ url_for('log.reset_password') }}" class="btn btn-link"><i class="bi bi-key"></i> {{ _('Forgot password?') }}</a>
</div>
</form>
{% if discord is not none %}
<div class="mt-4 text-center">
<a href="{{ url_for('discord.login_discord') }}" class="btn btn-primary">
<i class="bi bi-discord"></i> {{ _('Login with Discord') }}
</a>
</div>
{% endif %}
</div>
</div>
</div>

View File

@@ -17,16 +17,18 @@
<form action="{{ url_for('user.delete_account') }}" method="post" style="display:inline;">
<button class="btn btn-danger"><i class="bi bi-person-x"></i> {{ _('Delete Account') }}</button>
</form>
{% if not user.discord_linked %}
{% if discord is not none %}
{% if not user.discord_linked %}
<a href="{{ url_for('discord.link_discord') }}" class="btn btn-primary">
<i class="bi bi-discord"></i> {{ _('Link Discord Account') }}
</a>
{% else %}
{% else %}
<span class="badge bg-success"><i class="bi bi-discord"></i> {{ _('Discord Linked') }}</span>
<form action="{{ url_for('discord.unlink_discord') }}" method="post" style="display:inline;">
<button class="btn btn-warning btn-sm" type="submit">
<i class="bi bi-x-circle"></i> {{ _('Unlink Discord') }}
</button>
</form>
{% endif %}
{% endif %}
{% endblock %}

View File

@@ -29,11 +29,13 @@
<span>{{ _('Already have an account?') }}</span>
<a href="{{ url_for('log.login') }}" class="btn btn-link"><i class="bi bi-box-arrow-in-right"></i> {{ _('Login') }}</a>
</div>
{% if discord is not none %}
<div class="mt-4 text-center">
<a href="{{ url_for('discord.login_discord') }}" class="btn btn-primary">
<i class="bi bi-discord"></i> {{ _('Login with Discord') }}
</a>
</div>
{% endif %}
</form>
</div>
</div>