ajout du min d'équipe pour homologation

ajout d'une option pour terminer les tournois ouverts
newoffer2025
Razmig Sarkissian 3 months ago
parent 1ce74fb235
commit aee7b85c66
  1. 2
      PadelClub/Extensions/Tournament+Extensions.swift
  2. 12
      PadelClub/Views/Cashier/Event/TournamentConfiguratorView.swift
  3. 20
      PadelClub/Views/Navigation/Agenda/EventListView.swift
  4. 11
      PadelClub/Views/Tournament/Screen/Components/TournamentLevelPickerView.swift
  5. 10
      PadelClub/Views/Tournament/Screen/TableStructureView.swift

@ -173,7 +173,7 @@ extension Tournament {
func isPlayerRankInadequate(player: PlayerHolder) -> Bool {
guard let rank = player.getRank() else { return false }
let _rank = player.male ? rank : rank + addon(for: rank, manMax: maleUnrankedValue ?? 0, womanMax: femaleUnrankedValue ?? 0)
if _rank <= tournamentLevel.minimumPlayerRank(category: tournamentCategory, ageCategory: federalTournamentAge) {
if _rank <= tournamentLevel.minimumPlayerRank(category: tournamentCategory, ageCategory: federalTournamentAge, seasonYear: startDate.seasonYear()) {
return true
} else {
return false

@ -55,6 +55,18 @@ struct TournamentConfigurationView: View {
} label: {
Text("Équipes souhaitées")
}
let minimumNumberOfTeams = tournament.minimumNumberOfTeams()
if minimumNumberOfTeams > 0 {
LabeledContent {
Text(minimumNumberOfTeams.formatted())
} label: {
Text("Minimum pour homologation")
}
}
}
}
//

@ -333,6 +333,26 @@ struct EventListView: View {
} label: {
Text("Informations de contact Juge-Arbitre")
}
Divider()
Menu {
Button {
Task {
await pcTournaments.concurrentForEach { tournament in
if tournament.hasEnded() == false {
tournament.endDate = Date()
}
}
await MainActor.run {
dataStore.tournaments.addOrUpdate(contentOfs: pcTournaments)
}
}
} label: {
Text("Terminer les tournois encore ouverts")
}
} label: {
Text("Options avancées")
}
}
private func _nextMonths() -> [Date] {

@ -51,5 +51,16 @@ struct TournamentLevelPickerView: View {
Text(type.localizedLabel()).tag(type)
}
}
let minimumNumberOfTeams = tournament.minimumNumberOfTeams()
if minimumNumberOfTeams > 0 {
LabeledContent {
Text(minimumNumberOfTeams.formatted())
} label: {
Text("Minimum pour homologation")
}
}
}
}

@ -95,6 +95,12 @@ struct TableStructureView: View {
}
} label: {
Text("Nombre d'équipes")
let minimumNumberOfTeams = tournament.minimumNumberOfTeams()
if minimumNumberOfTeams > 0 {
Text("Minimum pour homologation : \(minimumNumberOfTeams)")
.foregroundStyle(.secondary)
}
}
LabeledContent {
StepperView(count: $groupStageCount, minimum: 0, maximum: maxGroupStages) {
@ -106,7 +112,9 @@ struct TableStructureView: View {
Text("Nombre de poules")
}
} footer: {
Text("Vous pourrez modifier la taille de vos poules de manière spécifique dans l'écran des poules.")
if groupStageCount > 0 {
Text("Vous pourrez modifier la taille de vos poules de manière spécifique dans l'écran des poules.")
}
}
if groupStageCount > 0 {

Loading…
Cancel
Save