diff --git a/app/routes.py b/app/routes.py index 048c6eb..7bf17ea 100644 --- a/app/routes.py +++ b/app/routes.py @@ -70,41 +70,7 @@ def index(): spots_left = max_spots - confirmed_count if request.method == 'POST': - name = request.form['name'] - email = request.form['email'].lower().strip() - looking_for_team = True if request.form.get('looking_for_team') else False - - tum_domains = current_app.config['TUM_DOMAINS'] - if not email.endswith(tum_domains): - domains_str = ", ".join(tum_domains) - flash(f"Error: You must use one of these email addresses: {domains_str}", "error") - return redirect(url_for('main.index')) - existing_user = Participant.query.filter_by(email=email).first() - - if existing_user: - if existing_user.confirmed: - flash("You are already registered and confirmed!", "info") - elif existing_user.on_waitlist: - if confirmed_count < max_spots: - existing_user.on_waitlist = False - db.session.commit() - send_verification_email(existing_user) - else: - flash("You are already on the waitlist", "info") - else: - send_verification_email(existing_user, is_new=False) - return redirect(url_for('main.index')) - else: - new_user = add_user(name, email, looking_for_team) - - if confirmed_count < max_spots: - send_verification_email(new_user) - else: - new_user.on_waitlist = True - db.session.commit() - send_waitlist_email(new_user) - flash("The event is already full!\nYou have been placed on the waitlist", "info") - return redirect(url_for('main.index')) + flash("Event has already started") return render_template('index.html', spots_left=spots_left, max_spots=max_spots) @@ -112,58 +78,13 @@ def index(): @bp.route('/verify/') @limiter.limit("50 per hour") def verify_email(token): - s = URLSafeTimedSerializer(current_app.config['SECRET_KEY']) - try: - email = s.loads(token, salt='email-confirm-h4tum-ctf-2025', max_age=1209600) - except SignatureExpired: - return render_template("error.html", error_message="Token expired. Please register again.") - except BadSignature: - return render_template("error.html", error_message="Invalid token.") - - user = Participant.query.filter_by(email=email).first_or_404() - - if get_confirmed_count() >= current_app.config['MAX_SPOTS']: - if user.confirmed: - return render_template('success.html', message="You are confirmed", discord_link=current_app.config['DISCORD_LINK'], discord_token=user.discord_token) - else: - return render_template("error.html", error_message="Sorry! The event filled up while you were claiming the last spot.") - else: - user.confirmed = True - if user.on_waitlist: - user.on_waitlist = False - db.session.commit() - - discord_link = current_app.config['DISCORD_LINK'] - discord_token = user.discord_token - msg = "You are confirmed!" - if user.looking_for_team: - msg += " Since you need a team, please join the #team-search channel." - - return render_template('success.html', message=msg, discord_link=discord_link, discord_token=discord_token) - + return render_template("error.html", error_message="Sorry! The event has already started") + @bp.route('/remove/') @limiter.limit("5 per hour") def remove_registration(token): - s = URLSafeTimedSerializer(current_app.config['SECRET_KEY']) - try: - email = s.loads(token, salt='email-remove-h4tum-ctf-2026', max_age=1209600) - except SignatureExpired: - return render_template("error.html", error_message="Token expired. Please register again.") - except BadSignature: - return render_template("error.html", error_message="Invalid token.") - - user = Participant.query.filter_by(email=email).first_or_404() - - if not user: - return render_template("error.html", error_message="No user found.") - db.session.delete(user) - db.session.commit() - - if get_confirmed_count() == current_app.config['MAX_SPOTS'] - 1: - send_waitlist_newsletter() - - return render_template("deregistered.html", message="Sad to see you go. Comeback next time :D") - + return render_template("error.html", error_message="The event already started you can not deregister") + @bp.route('/dsgvo') @limiter.exempt def dsgvo(): diff --git a/app/templates/index.html b/app/templates/index.html index 2a35742..6e7f913 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -95,28 +95,7 @@ {% endwith %}
- {% if spots_left > 0 %} -

Spots Remaining: {{ spots_left }} / {{max_spots}}

- {% else %} -

Register for Waitlist

-

This event is currently full.

-

Join the mailing list to be automatically notified of free spots.

- {%endif %} +

Event already started

- -
- - - - - - - - - -
{% endblock %}