fix issue with field setup

add a way to set price on all tournaments of a month
fix the tournament creation not using the most used price
fix issue in team detail view regarding registratoin date modification
sync3
Razmig Sarkissian 2 months ago
parent 59642d1aca
commit 9ed8e56c2e
  1. 19
      PadelClubData/Data/Tournament.swift

@ -1682,12 +1682,14 @@ defer {
} }
public func initSettings(templateTournament: Tournament?, overrideTeamCount: Bool = true) { public func initSettings(templateTournament: Tournament?, overrideTeamCount: Bool = true) {
courtCount = eventObject()?.clubObject()?.courtCount ?? 2
setupDefaultPrivateSettings(templateTournament: templateTournament) setupDefaultPrivateSettings(templateTournament: templateTournament)
setupUmpireSettings(defaultTournament: nil) //default is not template, default is for event sharing settings setupUmpireSettings(defaultTournament: nil) //default is not template, default is for event sharing settings
if let templateTournament { if let templateTournament {
setupRegistrationSettings(templateTournament: templateTournament, overrideTeamCount: overrideTeamCount) setupRegistrationSettings(templateTournament: templateTournament, overrideTeamCount: overrideTeamCount)
} }
setupFederalSettings() setupFederalSettings()
customizeUsingPreferences()
} }
public func setupFederalSettings() { public func setupFederalSettings() {
@ -1703,6 +1705,23 @@ defer {
} }
} }
public func customizeUsingPreferences() {
guard let lastTournamentWithSameBuild = DataStore.shared.tournaments.filter({ tournament in
tournament.tournamentLevel == self.tournamentLevel
&& tournament.tournamentCategory == self.tournamentCategory
&& tournament.federalTournamentAge == self.federalTournamentAge
&& tournament.hasEnded() == true
&& tournament.isCanceled == false
&& tournament.isDeleted == false
}).sorted(by: \.endDate!, order: .descending).first else {
return
}
self.entryFee = lastTournamentWithSameBuild.entryFee
self.clubMemberFeeDeduction = lastTournamentWithSameBuild.clubMemberFeeDeduction
}
public func deadline(for type: TournamentDeadlineType) -> Date? { public func deadline(for type: TournamentDeadlineType) -> Date? {
guard [.p500, .p1000, .p1500, .p2000].contains(tournamentLevel) else { return nil } guard [.p500, .p1000, .p1500, .p2000].contains(tournamentLevel) else { return nil }

Loading…
Cancel
Save