Events: initial implementation
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
sto
2026-07-26 14:01:29 +02:00
parent fa8880abfc
commit 35b304d913
26 changed files with 389 additions and 24 deletions

View File

@@ -82,6 +82,10 @@ en:
csv_import:
file: File
separator: Separator
event:
name: Name
shared_scoreboard: Shared scoreboard
shared_scoreboard_description: If activated, there will be a scoreboard link specific to the event, with tabs for each contest
message:
author: Author
processed: Processed?
@@ -142,6 +146,10 @@ en:
blank: "No file selected"
empty: "This file is empty"
not_a_csv_file: "it must be a CSV file"
event:
attributes:
name:
blank: The event name cannot be empty
offline:
attributes:
end_image:
@@ -277,6 +285,22 @@ en:
plural: teams
upload_csv:
title: Import participants
events:
destroy:
notice: Event deleted
form:
shared_scoreboard_message: As safety measure, for each tab, no information will be shown until the first finish, or if the stopwatch for that contest is started.
index:
contest: contest
contests: contests
message: New feature! Events offer to groupe multiple contests in one management space. This also offers, if activated, to have a single scoreboard link for all contests of an event.
my_contests_outside_events: My contests not linked to any event
new: Create a new event
subtitle: My events
title: Welcome %{username}!
new:
notice: Event added
title: New event
helpers:
badges:
registration: "registration"

View File

@@ -53,6 +53,10 @@ fr:
csv_import:
file: Fichier
separator: Délimiteur
event:
name: Nom
shared_scoreboard: Classement partagé
shared_scoreboard_description: Si activé, un lien de classement partagé sera disponible pour l'événement, avec des onglets pour chacune des épreuves.
message:
author: Auteur.ice
processed: Traité ?
@@ -113,6 +117,10 @@ fr:
blank: "Aucun fichier sélectionné"
empty: "Ce fichier est vide"
not_a_csv_file: "Le fichier doit être au format CSV"
event:
attributes:
name:
blank: Le nom de l'événement ne peut pas être vide
offline:
attributes:
end_image:
@@ -248,6 +256,22 @@ fr:
plural: équipes
upload_csv:
title: Importer des participant.e.s
events:
destroy:
notice: Événement supprimé
form:
shared_scoreboard_message: Par mesure de sécurité, chaque onglet restera vide jusqu'à ce que soit il y a des premières complétions, soit le chronomètre de l'épreuve a été démarré.
index:
contest: épreuve
contests: épreuves
message: Nouvelle fonctionalité ! Les événements permettent de regrouper plusieurs concours/épreuves en un seul espace de gestion. Cela permet aussi, si souhaité, d'avoir un lien de classement commun à toutes les épreuces d'un même événement.
my_contests_outside_events: Mes concours non associés à un événement
new: Créer un nouvel événement
subtitle: Mes événements
title: Bienvenue %{username} !
new:
notice: Événement ajouté
title: Nouvel événement
helpers:
badges:
registration: "auto-inscription"

View File

@@ -6,7 +6,7 @@ Rails.application.routes.draw do
get "up" => "rails/health#show", as: :rails_health_check
# Defines the root path route ("/")
root "contests#index"
root "events#index"
resources :contests do
get "settings/general", to: "contests#settings_general_edit"
@@ -39,6 +39,7 @@ Rails.application.routes.draw do
get "generate_qrcodes_pdf", to: "contestants#generate_qrcodes_pdf"
get "generate_qrcodes_archive", to: "contestants#generate_qrcodes_archive"
end
resources :events
resources :passwords, param: :token
resource :session
resources :users do
@@ -63,10 +64,6 @@ Rails.application.routes.draw do
post "public/p/:contestant_id", to: "contestants#post_public_completion"
get "public/p/:contestant_id/updated", to: "contestants#public_completion_updated"
direct :direct_test do
"https://lol.com"
end
direct :public_scoreboard do |contest|
"/public/#{contest.friendly_id}/public"
end