removes payment for summons

newoffer2025
Laurent 2 months ago
parent f6076a4230
commit c191288eb7
  1. 32
      PadelClub/Views/Calling/CallView.swift
  2. 4
      PadelClub/Views/Calling/Components/MenuWarningView.swift
  3. 27
      PadelClub/Views/Calling/SendToAllView.swift
  4. 70
      PadelClub/Views/GroupStage/Components/GroupStageTeamView.swift
  5. 70
      PadelClub/Views/Team/EditingTeamView.swift

@ -262,10 +262,8 @@ struct CallView: View {
NavigationStack { NavigationStack {
LoginView(reason: LoginReason.loginRequiredForFeature) { _ in LoginView(reason: LoginReason.loginRequiredForFeature) { _ in
self.showUserCreationView = false self.showUserCreationView = false
self._payTournamentAndExecute { self._summon(byMessage: self.summonParamByMessage,
self._summon(byMessage: self.summonParamByMessage, reSummon: self.summonParamByMessage)
reSummon: self.summonParamByMessage)
}
} }
} }
}) })
@ -353,12 +351,10 @@ struct CallView: View {
self.summonParamByMessage = byMessage self.summonParamByMessage = byMessage
self.summonParamReSummon = reSummon self.summonParamReSummon = reSummon
self._verifyUser { self._verifyUser {
self._payTournamentAndExecute { if byMessage {
if byMessage { self._contactByMessage(reSummon: reSummon, forcedEmptyMessage: forcedEmptyMessage)
self._contactByMessage(reSummon: reSummon, forcedEmptyMessage: forcedEmptyMessage) } else {
} else { self._contactByMail(reSummon: reSummon, forcedEmptyMessage: forcedEmptyMessage)
self._contactByMail(reSummon: reSummon, forcedEmptyMessage: forcedEmptyMessage)
}
} }
} }
} }
@ -371,14 +367,14 @@ struct CallView: View {
} }
} }
fileprivate func _payTournamentAndExecute(_ handler: () -> ()) { // fileprivate func _payTournamentAndExecute(_ handler: () -> ()) {
do { // do {
try self.tournament.payIfNecessary() // try self.tournament.payIfNecessary()
handler() // handler()
} catch { // } catch {
self.showSubscriptionView = true // self.showSubscriptionView = true
} // }
} // }
fileprivate func _contactByMessage(reSummon: Bool, forcedEmptyMessage: Bool) { fileprivate func _contactByMessage(reSummon: Bool, forcedEmptyMessage: Bool) {
self.contactType = .message(date: callDate, self.contactType = .message(date: callDate,

@ -147,9 +147,7 @@ struct MenuWarningView: View {
fileprivate func _tryToContact() { fileprivate func _tryToContact() {
self._verifyUser { self._verifyUser {
self._payTournamentAndExecute { self.contactType = self.savedContactType
self.contactType = self.savedContactType
}
} }
} }

@ -272,13 +272,10 @@ struct SendToAllView: View {
fileprivate func _contact() { fileprivate func _contact() {
self._verifyUser { self._verifyUser {
self._payTournamentAndExecute { if contactMethod == 0 {
contactType = .message(date: nil, recipients: _teams().flatMap { $0.unsortedPlayers() }.compactMap { $0.phoneNumber }, body: finalMessage(), tournamentBuild: nil)
if contactMethod == 0 { } else {
contactType = .message(date: nil, recipients: _teams().flatMap { $0.unsortedPlayers() }.compactMap { $0.phoneNumber }, body: finalMessage(), tournamentBuild: nil) contactType = .mail(date: nil, recipients: tournament.umpireMail(), bccRecipients: _teams().flatMap { $0.unsortedPlayers() }.compactMap { $0.email }, body: finalMessage(), subject: tournament.mailSubject(), tournamentBuild: nil)
} else {
contactType = .mail(date: nil, recipients: tournament.umpireMail(), bccRecipients: _teams().flatMap { $0.unsortedPlayers() }.compactMap { $0.email }, body: finalMessage(), subject: tournament.mailSubject(), tournamentBuild: nil)
}
} }
} }
@ -292,14 +289,14 @@ struct SendToAllView: View {
} }
} }
fileprivate func _payTournamentAndExecute(_ handler: () -> ()) { // fileprivate func _payTournamentAndExecute(_ handler: () -> ()) {
do { // do {
try tournament.payIfNecessary() // try tournament.payIfNecessary()
handler() // handler()
} catch { // } catch {
self.showSubscriptionView = true // self.showSubscriptionView = true
} // }
} // }
private var _networkErrorMessage: String { private var _networkErrorMessage: String {
ContactManagerError.getNetworkErrorMessage(sentError: sentError, networkMonitorConnected: networkMonitor.connected) ContactManagerError.getNetworkErrorMessage(sentError: sentError, networkMonitorConnected: networkMonitor.connected)

@ -147,55 +147,45 @@ struct GroupStageTeamView: View {
Group { Group {
switch contactType { switch contactType {
case .message(_, let recipients, let body, _): case .message(_, let recipients, let body, _):
if Guard.main.paymentForNewTournament() != nil { MessageComposeView(recipients: recipients, body: body) { result in
MessageComposeView(recipients: recipients, body: body) { result in switch result {
switch result { case .cancelled:
case .cancelled: break
break case .failed:
case .failed: self.sentError = .messageFailed
self.sentError = .messageFailed case .sent:
case .sent: if networkMonitor.connected == false {
if networkMonitor.connected == false { self.contactType = nil
self.contactType = nil if team.getPhoneNumbers().isEmpty == false {
if team.getPhoneNumbers().isEmpty == false { self.sentError = .uncalledTeams([team])
self.sentError = .uncalledTeams([team]) } else {
} else { self.sentError = .messageNotSent
self.sentError = .messageNotSent
}
} }
@unknown default:
break
} }
@unknown default:
break
} }
} else {
SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true)
.environment(\.colorScheme, .light)
} }
case .mail(_, let recipients, let bccRecipients, let body, let subject, _): case .mail(_, let recipients, let bccRecipients, let body, let subject, _):
if Guard.main.paymentForNewTournament() != nil { MailComposeView(recipients: recipients, bccRecipients: bccRecipients, body: body, subject: subject) { result in
MailComposeView(recipients: recipients, bccRecipients: bccRecipients, body: body, subject: subject) { result in switch result {
switch result { case .cancelled, .saved:
case .cancelled, .saved: self.contactType = nil
self.contactType = nil case .failed:
case .failed: self.contactType = nil
self.sentError = .mailFailed
case .sent:
if networkMonitor.connected == false {
self.contactType = nil self.contactType = nil
self.sentError = .mailFailed if team.getMail().isEmpty == false {
case .sent: self.sentError = .uncalledTeams([team])
if networkMonitor.connected == false { } else {
self.contactType = nil self.sentError = .mailNotSent
if team.getMail().isEmpty == false {
self.sentError = .uncalledTeams([team])
} else {
self.sentError = .mailNotSent
}
} }
@unknown default:
break
} }
@unknown default:
break
} }
} else {
SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true)
.environment(\.colorScheme, .light)
} }
} }
} }

@ -354,55 +354,45 @@ struct EditingTeamView: View {
Group { Group {
switch contactType { switch contactType {
case .message(_, let recipients, let body, _): case .message(_, let recipients, let body, _):
if Guard.main.paymentForNewTournament() != nil { MessageComposeView(recipients: recipients, body: body) { result in
MessageComposeView(recipients: recipients, body: body) { result in switch result {
switch result { case .cancelled:
case .cancelled: break
break case .failed:
case .failed: self.sentError = .messageFailed
self.sentError = .messageFailed case .sent:
case .sent: if networkMonitor.connected == false {
if networkMonitor.connected == false { self.contactType = nil
self.contactType = nil if team.getPhoneNumbers().isEmpty == false {
if team.getPhoneNumbers().isEmpty == false { self.sentError = .uncalledTeams([team])
self.sentError = .uncalledTeams([team]) } else {
} else { self.sentError = .messageNotSent
self.sentError = .messageNotSent
}
} }
@unknown default:
break
} }
@unknown default:
break
} }
} else {
SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true)
.environment(\.colorScheme, .light)
} }
case .mail(_, let recipients, let bccRecipients, let body, let subject, _): case .mail(_, let recipients, let bccRecipients, let body, let subject, _):
if Guard.main.paymentForNewTournament() != nil { MailComposeView(recipients: recipients, bccRecipients: bccRecipients, body: body, subject: subject) { result in
MailComposeView(recipients: recipients, bccRecipients: bccRecipients, body: body, subject: subject) { result in switch result {
switch result { case .cancelled, .saved:
case .cancelled, .saved: self.contactType = nil
case .failed:
self.contactType = nil
self.sentError = .mailFailed
case .sent:
if networkMonitor.connected == false {
self.contactType = nil self.contactType = nil
case .failed: if team.getMail().isEmpty == false {
self.contactType = nil self.sentError = .uncalledTeams([team])
self.sentError = .mailFailed } else {
case .sent: self.sentError = .mailNotSent
if networkMonitor.connected == false {
self.contactType = nil
if team.getMail().isEmpty == false {
self.sentError = .uncalledTeams([team])
} else {
self.sentError = .mailNotSent
}
} }
@unknown default:
break
} }
@unknown default:
break
} }
} else {
SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true)
.environment(\.colorScheme, .light)
} }
} }
} }

Loading…
Cancel
Save