Use Player links

This commit is contained in:
2024-11-14 00:00:10 +01:00
parent 17c9f4e685
commit e91e906d22

View File

@@ -90,7 +90,7 @@ public class TournamentValidationService {
for (var registration : registrations) {
var partner = registration.getPartner();
if (partner == null) {
addValidation(validations, ERROR, "%s heeft geen partner", registration.getPlayer().getFullName());
addValidation(validations, ERROR, "%s heeft geen partner", getPlayerLink(registration.getPlayer()));
}
}
}
@@ -104,19 +104,24 @@ public class TournamentValidationService {
if (optionalPartnerRegistration.isEmpty()) {
addValidation(validations, ERROR,
"%s heeft als geregistreerde partner %s, maar deze staat niet ingeschreven voor het onderdeel %s",
registration.getPlayer().getFullName(), registration.getPartner().getFullName(), event.getType().getText());
getPlayerLink(registration.getPlayer()),
getPlayerLink(registration.getPartner()),
event.getType().getText());
} else {
var partnerRegistration = optionalPartnerRegistration.get();
var partnerPartner = partnerRegistration.getPartner();
if (partnerPartner == null) {
addValidation(validations, ERROR,
"%s heeft als geregistreerde partner %s, maar deze heeft nog geen geregistreerde partner",
registration.getPlayer().getFullName(), partnerRegistration.getPlayer().getFullName());
getPlayerLink(registration.getPlayer()),
getPlayerLink(partnerRegistration.getPlayer()));
} else {
if (!Objects.equals(registration.getPlayer(), partnerPartner)) {
addValidation(validations, ERROR,
"%s heeft als geregistreerde partner %s, maar deze staat ingeschreven met partner %s",
registration.getPlayer().getFullName(), partnerRegistration.getPlayer().getFullName(), partnerRegistration.getPartner().getFullName());
getPlayerLink(registration.getPlayer()),
getPlayerLink(partnerRegistration.getPlayer()),
getPlayerLink(partnerRegistration.getPartner()));
}
}
}
@@ -132,11 +137,15 @@ public class TournamentValidationService {
if (partners.size() > 1) {
addValidation(validations, ERROR,
"%s is met meerdere spelers als partner geregistreerd (%s)",
registration.getPlayer().getFullName(), getPlayersAsList(partners));
getPlayerLink(registration.getPlayer()), getPlayersAsList(partners));
}
}
}
private String getPlayerLink(Player player) {
return "[%d|%s]".formatted(player.getId(), player.getFullName());
}
private void checkForTooManyRegistrationsPerPlayer(Tournament tournament, List<Player> players, List<Validation> validations) {
var playerRegistrations = new ArrayList<Registration>();
for (var player : players) {
@@ -148,7 +157,7 @@ public class TournamentValidationService {
if (playerRegistrations.size() > tournament.getMaxEvents()) {
addValidation(validations, ERROR,
"%s staat voor meer dan %d onderdelen ingeschreven, nl. %s",
player.getFullName(), tournament.getMaxEvents(), getEventsAsList(playerRegistrations, tournament));
getPlayerLink(player), tournament.getMaxEvents(), getEventsAsList(playerRegistrations, tournament));
}
}
}
@@ -190,14 +199,14 @@ public class TournamentValidationService {
if (players.isEmpty()) {
return "";
} else if (players.size() == 1) {
return players.getFirst().getFullName();
return getPlayerLink(players.getFirst());
} else {
return String.join(", ", players
.stream()
.limit(players.size() - 1)
.map(Player::getFullName)
.map(this::getPlayerLink)
.toList()
) + " en " + players.getLast().getFullName();
) + " en " + getPlayerLink(players.getLast());
}
}