modified: app.py
modified: templates/redeem_giveaway.html
This commit is contained in:
21
app.py
21
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 render_template("edit_giveaway.html", giveaway=giveaway, guild_id=guild_id)
|
||||||
return redirect(url_for("landing_page"))
|
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):
|
def user_giveaways(guild_id):
|
||||||
"""Zeigt dem Benutzer die Giveaways an, die er auf einem bestimmten Server gewonnen hat."""
|
"""Zeigt dem Benutzer die Giveaways an, die er auf einem bestimmten Server gewonnen hat."""
|
||||||
if "discord_user" in session:
|
if "discord_user" in session:
|
||||||
user_info = session["discord_user"]
|
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()
|
connection = get_db_connection()
|
||||||
cursor = connection.cursor(dictionary=True)
|
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
|
# Suche nach Giveaways, bei denen der eingeloggte Benutzer der Gewinner ist
|
||||||
cursor.execute("""
|
cursor.execute("""
|
||||||
SELECT * FROM giveaway_data WHERE winner_dc_id = %s AND guild_id = %s
|
SELECT * FROM giveaway_data WHERE winner_dc_id = %s AND guild_id = %s
|
||||||
""", (user_id, guild_id))
|
""", (user_id, guild_id))
|
||||||
won_giveaways = cursor.fetchall()
|
won_giveaways = cursor.fetchall()
|
||||||
|
|
||||||
# Debugging-Ausgabe für die abgerufenen Giveaways
|
|
||||||
print(f"[DEBUG] Won giveaways retrieved: {won_giveaways}")
|
|
||||||
|
|
||||||
cursor.close()
|
cursor.close()
|
||||||
connection.close()
|
connection.close()
|
||||||
|
|
||||||
@@ -525,7 +519,7 @@ def user_giveaways(guild_id):
|
|||||||
|
|
||||||
@app.route("/redeem_giveaway/<int:guild_id>/<string:uuid>", methods=["GET", "POST"])
|
@app.route("/redeem_giveaway/<int:guild_id>/<string:uuid>", methods=["GET", "POST"])
|
||||||
def redeem_giveaway(guild_id, uuid):
|
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:
|
if "discord_user" in session:
|
||||||
user_info = session["discord_user"]
|
user_info = session["discord_user"]
|
||||||
user_id = user_info["id"]
|
user_id = user_info["id"]
|
||||||
@@ -540,17 +534,16 @@ def redeem_giveaway(guild_id, uuid):
|
|||||||
giveaway = cursor.fetchone()
|
giveaway = cursor.fetchone()
|
||||||
|
|
||||||
if giveaway:
|
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
|
# 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))
|
cursor.execute("UPDATE giveaway_data SET aktiv = TRUE WHERE guild_id = %s AND uuid = %s", (guild_id, uuid))
|
||||||
connection.commit()
|
connection.commit()
|
||||||
|
giveaway["aktiv"] = True # Aktualisiere den Status in `giveaway` für die Anzeige
|
||||||
|
|
||||||
# Key anzeigen
|
|
||||||
flash("Giveaway redeemed successfully!", "success")
|
flash("Giveaway redeemed successfully!", "success")
|
||||||
return render_template("redeem_giveaway.html", giveaway=giveaway, key=giveaway["game_key"])
|
|
||||||
|
|
||||||
# Seite anzeigen, um den Key einzulösen
|
# Zeige den Game Key an, ob er eingelöst ist oder gerade eingelöst wurde
|
||||||
return render_template("redeem_giveaway.html", giveaway=giveaway, key=None)
|
return render_template("redeem_giveaway.html", giveaway=giveaway, key=giveaway["game_key"] if giveaway["aktiv"] else None)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
flash("You are not the winner of this giveaway or the giveaway is no longer available.", "danger")
|
flash("You are not the winner of this giveaway or the giveaway is no longer available.", "danger")
|
||||||
|
|||||||
@@ -14,8 +14,9 @@
|
|||||||
|
|
||||||
{% if key %}
|
{% if key %}
|
||||||
<div class="alert alert-success">
|
<div class="alert alert-success">
|
||||||
<strong>Game Key:</strong> {{ key }}
|
<strong>Your Game Key:</strong> {{ key }}
|
||||||
</div>
|
</div>
|
||||||
|
<p class="text-muted">This is your unique key. Keep it safe!</p>
|
||||||
{% else %}
|
{% else %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
<button type="submit" class="btn btn-primary">Redeem Giveaway</button>
|
<button type="submit" class="btn btn-primary">Redeem Giveaway</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user