@ -94,8 +94,39 @@ struct PlanningSettingsView: View {
Text ( " Voir les options avancées " )
Text ( " Voir les options avancées " )
}
}
let allMatches = tournament . allMatches ( )
let allGroupStages = tournament . groupStages ( )
let allRounds = tournament . allRounds ( )
let matchesWithDate = allMatches . filter ( { $0 . startDate != nil } )
let groupStagesWithDate = allGroupStages . filter ( { $0 . startDate != nil } )
let roundsWithDate = allRounds . filter ( { $0 . startDate != nil } )
if matchesWithDate . isEmpty = = false || groupStagesWithDate . isEmpty = = false || roundsWithDate . isEmpty = = false {
Section {
RowButtonView ( " Supprimer tous les horaires " , role : . destructive ) {
do {
allMatches . forEach ( { $0 . startDate = nil } )
try dataStore . matches . addOrUpdate ( contentOfs : allMatches )
allGroupStages . forEach ( { $0 . startDate = nil } )
try dataStore . groupStages . addOrUpdate ( contentOfs : allGroupStages )
allRounds . forEach ( { $0 . startDate = nil } )
try dataStore . rounds . addOrUpdate ( contentOfs : allRounds )
} catch {
Logger . error ( error )
}
}
}
}
Section {
Section {
RowButtonView ( " Horaire intelligent " , role : . destructive ) {
if groupStagesWithDate . isEmpty = = false {
Text ( " Des dates de démarrages ont été indiqué pour les poules et seront prises en compte. " )
}
if roundsWithDate . isEmpty = = false {
Text ( " Des dates de démarrages ont été indiqué pour les manches et seront prises en compte. " )
}
RowButtonView ( " Horaire intelligent " , role : . destructive , confirmationMessage : " L " ) {
schedulingDone = false
schedulingDone = false
await _setupSchedule ( )
await _setupSchedule ( )
_save ( )
_save ( )
@ -104,26 +135,6 @@ struct PlanningSettingsView: View {
} footer : {
} footer : {
Text ( " Padel Club programmera tous les matchs de votre tournoi en fonction de différents paramètres, " ) + Text ( " tout en tenant compte des horaires que vous avez fixé. " ) . underline ( )
Text ( " Padel Club programmera tous les matchs de votre tournoi en fonction de différents paramètres, " ) + Text ( " tout en tenant compte des horaires que vous avez fixé. " ) . underline ( )
}
}
Section {
RowButtonView ( " Supprimer tous les horaires " , role : . destructive ) {
do {
let allMatches = tournament . allMatches ( )
allMatches . forEach ( { $0 . startDate = nil } )
try dataStore . matches . addOrUpdate ( contentOfs : allMatches )
let allGroupStages = tournament . groupStages ( )
allGroupStages . forEach ( { $0 . startDate = nil } )
try dataStore . groupStages . addOrUpdate ( contentOfs : allGroupStages )
let allRounds = tournament . allRounds ( )
allRounds . forEach ( { $0 . startDate = nil } )
try dataStore . rounds . addOrUpdate ( contentOfs : allRounds )
} catch {
Logger . error ( error )
}
}
}
}
}
. headerProminence ( . increased )
. headerProminence ( . increased )
. onAppear {
. onAppear {