diff --git a/app.py b/app.py index c0f21ae..bd6b0ef 100644 --- a/app.py +++ b/app.py @@ -494,28 +494,22 @@ def edit_giveaway(guild_id, uuid): return render_template("edit_giveaway.html", giveaway=giveaway, guild_id=guild_id) return redirect(url_for("landing_page")) -@app.route("/user_giveaways/") +@app.route("/user_giveaways/") def user_giveaways(guild_id): """Zeigt dem Benutzer die Giveaways an, die er auf einem bestimmten Server gewonnen hat.""" if "discord_user" in session: user_info = session["discord_user"] - user_id = str(user_info["id"]) # Sicherstellen, dass user_id als String behandelt wird + user_id = user_info["id"] connection = get_db_connection() cursor = connection.cursor(dictionary=True) - # Debugging-Ausgaben - print(f"[DEBUG] Searching for giveaways with guild_id: {guild_id} and winner_dc_id: {user_id}") - # Suche nach Giveaways, bei denen der eingeloggte Benutzer der Gewinner ist cursor.execute(""" SELECT * FROM giveaway_data WHERE winner_dc_id = %s AND guild_id = %s """, (user_id, guild_id)) won_giveaways = cursor.fetchall() - # Debugging-Ausgabe für die abgerufenen Giveaways - print(f"[DEBUG] Won giveaways retrieved: {won_giveaways}") - cursor.close() connection.close() @@ -525,7 +519,7 @@ def user_giveaways(guild_id): @app.route("/redeem_giveaway//", methods=["GET", "POST"]) def redeem_giveaway(guild_id, uuid): - """Erlaubt dem Benutzer, einen gewonnenen Giveaway-Code für einen bestimmten Server einzulösen.""" + """Erlaubt dem Benutzer, einen gewonnenen Giveaway-Code für einen bestimmten Server einzulösen und erneut anzuzeigen, falls bereits eingelöst.""" if "discord_user" in session: user_info = session["discord_user"] user_id = user_info["id"] @@ -540,17 +534,16 @@ def redeem_giveaway(guild_id, uuid): giveaway = cursor.fetchone() if giveaway: - if request.method == "POST": + if request.method == "POST" and not giveaway["aktiv"]: # Wenn der Benutzer den Key einlöst, setze `aktiv` auf TRUE cursor.execute("UPDATE giveaway_data SET aktiv = TRUE WHERE guild_id = %s AND uuid = %s", (guild_id, uuid)) connection.commit() + giveaway["aktiv"] = True # Aktualisiere den Status in `giveaway` für die Anzeige - # Key anzeigen flash("Giveaway redeemed successfully!", "success") - return render_template("redeem_giveaway.html", giveaway=giveaway, key=giveaway["game_key"]) - # Seite anzeigen, um den Key einzulösen - return render_template("redeem_giveaway.html", giveaway=giveaway, key=None) + # Zeige den Game Key an, ob er eingelöst ist oder gerade eingelöst wurde + return render_template("redeem_giveaway.html", giveaway=giveaway, key=giveaway["game_key"] if giveaway["aktiv"] else None) else: flash("You are not the winner of this giveaway or the giveaway is no longer available.", "danger") diff --git a/templates/redeem_giveaway.html b/templates/redeem_giveaway.html index ef9f0ac..cb451d6 100644 --- a/templates/redeem_giveaway.html +++ b/templates/redeem_giveaway.html @@ -14,8 +14,9 @@ {% if key %}
- Game Key: {{ key }} + Your Game Key: {{ key }}
+

This is your unique key. Keep it safe!

{% else %}