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