Bug/booking places in past competitions#392
Open
Q1009 wants to merge 10 commits into
Open
Conversation
added 10 commits
June 1, 2026 19:08
…. Testing environment created.
…ls dans le module utils. Implémentation des tests unitaires pour les fonctions utils. Affichage des messages flash dans le template index. Création des fonctions utils pour le login.
- move route registration into create_app - inject clubs and competitions into the app factory for tests - use current_app.config inside route handlers - add pytest warning filters for Flask/Werkzeug deprecations
- Replace fragile [0] indexing with safe getClubByName/getCompetitionByName lookups in /book route - Validate config data presence and handle missing club/competition separately - Make JSON loaders return None on errors (OSError, JSONDecodeError, KeyError) - Add helper functions for safe dictionary lookups - Update corresponding unit tests to match new None-return behavior
harden the purchase route when clubs/competitions data is missing or invalid replace fragile list indexing with safe lookup helpers add getClubPoints/getCompetitionPlaces with invalid-input handling add validateBooking to enforce available club points checks display flash messages on the booking page when validation fails update available places only after successful validation
- Update flash message to display the number of places purchased - Remove unnecessary blank lines
…nstraints - Implement dynamic max value for booking input based on club points, available places, and 12-place cap - Add HTML5 validation (min, required) and disable submit when no booking possible - Add server-side validation to reject requests exceeding 12-place limit
…elcome - Add isCompetitionBookable utility function to check if competition can be booked - Implement buildCompetitionsView to add canBook flag to competitions - Hide Book Places link when competition is no longer bookable - Protect /book route to prevent bypassing via direct URL - Fix welcome page header to show club name instead of email - Update mock competition dates to 2026
…n purchasePlaces route - rename validateBooking → isBookingValid in utils and server - add competition bookability check in /purchasePlaces route to prevent booking a past/full competition via direct POST request - update import in server.py accordingly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5 Bug : Clubs can no longer book places in past competitions