Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wishlist: support no login and no confirm #8

Open
ftoledo opened this issue Jul 13, 2024 · 1 comment · May be fixed by #12
Open

wishlist: support no login and no confirm #8

ftoledo opened this issue Jul 13, 2024 · 1 comment · May be fixed by #12

Comments

@ftoledo
Copy link

ftoledo commented Jul 13, 2024

Hi, i found your app very cool
I would like it not to be necessary for each person to register, but rather for a list to be uploaded.
Likewise, the possibility of avoiding confirming the score.
The idea behind it is that it uses a single person to screw up and keep score.
Is this possible with your code? or should it be modified a lot?
thanks!

@kostrykin
Copy link
Collaborator

Thanks for your feedback!

As far as I see on the hoof, the core issue is to losen the direct coupling of the Participation class with auth.User objects:
https://github.com/kostrykin/tournaments/blob/035ddc2af888b6ee20fab7dc652934414c55fd76/tournaments/tournaments/models.py#L204

Instead, we would need an extra Participant class, which has a nullable foreign reference to auth.User, and which the Participation class would be directly coupled with.

In required_participations_count only those participants would need to be counted, which have a non-null auth.User associated with them:
https://github.com/kostrykin/tournaments/blob/035ddc2af888b6ee20fab7dc652934414c55fd76/tournaments/tournaments/models.py#L849

I think that this would be pretty much it. Maybe there would also be some frontend stuff, which would require some updates. The tricky part would be to write the migrations and the hardest part would be to write the tests.

If you are willing to do that, feel free to make a Pull Request, and I'd gladly assist you.

kostrykin added a commit that referenced this issue Jan 20, 2025
Fixes #8

Add support for participants without user authentication and manage their participation in tournaments.

* Add `Participant` class with a nullable foreign reference to `auth.User` in `tournaments/tournaments/models.py`.
* Modify `Participation` class to reference `Participant` instead of `auth.User` in `tournaments/tournaments/models.py`.
* Update `required_confirmations_count` method to count only participants with non-null `auth.User` in `tournaments/tournaments/models.py`.
* Add `ManageParticipantsView` to manage participants without user authentication in `tournaments/frontend/views.py`.
* Modify `JoinTournamentView` and `WithdrawTournamentView` to support participants without user authentication in `tournaments/frontend/views.py`.
* Add migration to create `Participant` model and update `Participation` model in `tournaments/tournaments/migrations/0003_add_participant.py`.
* Add HTML template for managing participants without user authentication in `tournaments/frontend/templates/frontend/manage-participants.html`.
* Add tests to verify the new functionality for participants without user authentication in `tournaments/frontend/tests.py`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/kosmotive/tournaments/issues/8?shareId=XXXX-XXXX-XXXX-XXXX).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants