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

Add support for match dates #526

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Forty-Bot
Copy link

I'd like to add support to OZFortress (and other leagues using citadel) to trends.tf, but in order to do that I need accurate match dates to associate matches with logs. Citadel doesn't currently have any support for match dates, so they end up being decided in match comms. This PR to adds support for match dates to Citadel. I hope you will use this for upcoming matches, or (even better) add match dates to old matches.

Add support for displaying match dates in the UI. This allows placing
trhe match date in a prominent position on the match page, where it is
easy for players and admins to see. Making the match date available in
the model will allow further features, such as sending notifications
before a match or reminders to submit scores afterwards.
Add an interface to allow teams to request rescheduling matches, and for
the opposing team to approve or deny the request. This allows teams to
modify the match date without having to involve the admins. Match date
rescheduling is enabled on a per-league basis. It is disabled by default
for existing leagues and enabled by default for new leagues.

Rescheduling requests conceptually are split into two states: pending
and decided. Requests start pending, and cannot be edited. If a player
wishes to propose a new match date, existing requests from them are
self-denied. This prevents a user from requesting multiple match dates
at once (which could be considered to be a limitation). The design was
inspired by how transfers work.

Notifications are sent to captains when a request is created or denied,
and to all players when a request is approved. Admins can still edit the
match date directly, but this will not notify players. This should
reduce annoyance if admins want to fix historical match dates. If admins
want to change the match date and notify the players, they can create a
request and then accept it themselves. Alternatively, a 'send
notifications' checkbox on the match edit page would also work.

No validation of match dates is done. It is expected that wildly
unreasonable match dates will be rejected by the opposing team. Future
work could involve constraining match dates to the future, or to the
current week for "weekly" leagues.

Future work could involve integrating rescheduing with the existing
schedule system. For example, the site could suggest the next available
day, or flag unavailable days as such.
@coreobs
Copy link

coreobs commented Jul 5, 2024

Hey @Forty-Bot, did just want to let you know we've seen this PR. We're currently looking to make the move to Rails 7 (#552) so once that's happened we'll have a better look at this. ozfortress will be happy to implement it on ozfortress.com along with hopefully logs.tf link fields support one day.

@Forty-Bot
Copy link
Author

so are either of these going to get merged

tbh I would rather not have to rewrite this...

@BenjaminSchaaf
Copy link
Collaborator

I suggest rebasing this on master now that the rails upgrade has happened. I'll review this after that's done.

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 this pull request may close these issues.

3 participants