modified: app.py

modified:   templates/redeem_giveaway.html
This commit is contained in:
SimolZimol
2024-10-29 10:48:00 +01:00
parent 5e178c43cc
commit cea3981ff5
2 changed files with 9 additions and 15 deletions

21
app.py
View File

@@ -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/<string:guild_id>")
@app.route("/user_giveaways/<int:guild_id>")
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/<int:guild_id>/<string:uuid>", 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")