From 6fef683247ebec7579b1f08f16888c85d2201b1d Mon Sep 17 00:00:00 2001 From: aboeckle <alexander.boeckle@frentix.com> Date: Fri, 13 Mar 2020 18:17:51 +0100 Subject: [PATCH] OO-4575: Fixed existing errors in booking methods --- .../ui/FreeAccessConfigurationController.java | 13 ++++++++++++ .../PaypalAccessConfigurationController.java | 20 +++++++++++++++++-- ...CheckoutAccessConfigurationController.java | 18 +++++++++++++++-- .../ui/_i18n/LocalStrings_de.properties | 2 ++ .../ui/_i18n/LocalStrings_en.properties | 2 ++ .../ui/_i18n/LocalStrings_fr.properties | 1 + .../ui/_i18n/LocalStrings_pt_BR.properties | 1 + .../TokenAccessConfigurationController.java | 6 ++++++ .../token/ui/_i18n/LocalStrings_de.properties | 2 +- .../token/ui/_i18n/LocalStrings_en.properties | 2 +- .../token/ui/_i18n/LocalStrings_fr.properties | 2 +- .../token/ui/_i18n/LocalStrings_it.properties | 2 +- .../token/ui/_i18n/LocalStrings_pl.properties | 2 +- .../ui/_i18n/LocalStrings_pt_BR.properties | 2 +- .../ui/_i18n/LocalStrings_de.properties | 1 + .../ui/_i18n/LocalStrings_en.properties | 1 + 16 files changed, 67 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/free/ui/FreeAccessConfigurationController.java b/src/main/java/org/olat/resource/accesscontrol/provider/free/ui/FreeAccessConfigurationController.java index 03010686383..c7223c6cdac 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/free/ui/FreeAccessConfigurationController.java +++ b/src/main/java/org/olat/resource/accesscontrol/provider/free/ui/FreeAccessConfigurationController.java @@ -103,4 +103,17 @@ public class FreeAccessConfigurationController extends AbstractConfigurationMeth link.setValidTo(dateTo.getDate()); return link; } + + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = super.validateFormLogic(ureq); + + if (dateFrom.getValue() != null && dateTo.getValue() != null && dateFrom.getValue().compareTo(dateTo.getValue()) > 0) { + dateTo.setErrorKey("date.error", null); + dateFrom.setErrorKey(null, null); + allOk = false; + } + + return allOk; + } } diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java index e99f55ec3b7..5466336c4c8 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java @@ -41,6 +41,7 @@ import org.olat.resource.accesscontrol.model.PriceImpl; import org.olat.resource.accesscontrol.provider.paypal.PaypalModule; import org.olat.resource.accesscontrol.ui.AbstractConfigurationMethodController; import org.olat.resource.accesscontrol.ui.AccessConfigurationController; +import org.olat.resource.accesscontrol.ui.PriceFormat; import org.springframework.beans.factory.annotation.Autowired; /** @@ -185,17 +186,26 @@ public class PaypalAccessConfigurationController extends AbstractConfigurationMe boolean allOk = super.validateFormLogic(ureq); String priceStr = priceEl.getValue(); + Double priceDbl = 0d; + priceEl.clearError(); try { - double priceDbl = Double.parseDouble(priceStr); + priceDbl = Double.parseDouble(priceStr); if(priceDbl <= 0.0d) { priceEl.setErrorKey("price.error", null); allOk = false; - } + } } catch(Exception e) { priceEl.setErrorKey("price.error", null); allOk = false; } + + try { + PriceFormat.format(BigDecimal.valueOf(priceDbl)); + } catch (Exception e) { + priceEl.setErrorKey("price.error", null); + allOk = false; + } currencyEl.clearError(); if(!currencyEl.isOneSelected()) { @@ -203,6 +213,12 @@ public class PaypalAccessConfigurationController extends AbstractConfigurationMe allOk = false; } + if (dateFrom.getValue() != null && dateTo.getValue() != null && dateFrom.getValue().compareTo(dateTo.getValue()) > 0) { + dateTo.setErrorKey("date.error", null); + dateFrom.setErrorKey(null, null); + allOk = false; + } + return allOk; } } diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/PaypalCheckoutAccessConfigurationController.java b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/PaypalCheckoutAccessConfigurationController.java index 0bfd75e1bd7..11bbeed9e27 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/PaypalCheckoutAccessConfigurationController.java +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/PaypalCheckoutAccessConfigurationController.java @@ -162,17 +162,26 @@ public class PaypalCheckoutAccessConfigurationController extends AbstractConfigu boolean allOk = super.validateFormLogic(ureq); String priceStr = priceEl.getValue(); + Double priceDbl = 0d; + priceEl.clearError(); try { - double priceDbl = Double.parseDouble(priceStr); + priceDbl = Double.parseDouble(priceStr); if(priceDbl <= 0.0d) { priceEl.setErrorKey("price.error", null); allOk = false; - } + } } catch(Exception e) { priceEl.setErrorKey("price.error", null); allOk = false; } + + try { + PriceFormat.format(BigDecimal.valueOf(priceDbl)); + } catch (Exception e) { + priceEl.setErrorKey("price.error", null); + allOk = false; + } currencyEl.clearError(); if(!currencyEl.isOneSelected()) { @@ -180,6 +189,11 @@ public class PaypalCheckoutAccessConfigurationController extends AbstractConfigu allOk = false; } + if (datesEl.getDate() != null && datesEl.getSecondDate() != null && datesEl.getDate().compareTo(datesEl.getSecondDate()) > 0) { + datesEl.setErrorKey("date.error", null); + allOk = false; + } + return allOk; } diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_de.properties index e14c5392e09..c6818d2064b 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_de.properties @@ -9,6 +9,7 @@ checkout.config.title=Paypal Checkout konfigurieren config.disabled.warning=Das PayPal Bezahlungsmodul ist f\u00FCr dieses System nicht freigeschaltet. Um Buchungen \u00FCber PayPal abwickeln zu k\u00F6nnen, nehmen Sie bitte Kontakt auf mit <a href="mailto:{0}">{0}</a>. currency=W\u00E4hrung currency.error=Fehler in der W\u00E4hrungsauswahl +date.error=Anfangsdatum kann nicht nach dem Enddatum sein delivery=Einka\u00FCfer filter.canceled=Abgebrochen filter.completed=Erfolgreich abgeschlossen @@ -36,6 +37,7 @@ paypal.transaction.amount=Preis (in Paypal) paypal.transaction.title=Paypal Transaction "{0}" paypal.transactions.empty=Keine Transaktion gefunden price=Preis +price.error=Fehler in der Preisangabe show.all=Show all status.canceled=Abgebrochenn status.error=Unerwartete Fehler diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_en.properties index de4ee5d67c9..df3ff08f467 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_en.properties @@ -9,6 +9,7 @@ checkout.config.title=Configure Paypal Checkout config.disabled.warning=The PayPal payment module is not activated for this system. To handle bookings via PayPal can you please contact <a href="mailto:{0}">{0}</a>. currency=Currency currency.error=Currency error +date.error=Start date cannot be set after the end date delivery=Buyer filter.canceled=Cancelled filter.completed=Closed successfully @@ -36,6 +37,7 @@ paypal.transaction.amount=Price (Paypal) paypal.transaction.title=Paypal Transaction "{0}" paypal.transactions.empty=No transaction found price=Price +price.error=Price error show.all=Alle anzeigen status.canceled=Cancelled status.error=Unexpected error diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_fr.properties index e308d5fea81..dd129528ad5 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_fr.properties @@ -37,6 +37,7 @@ paypal.transaction.amount=Prix (Paypal) paypal.transaction.title=Transaction Paypal "{0}" paypal.transactions.empty=Pas de transactions trouv\u00E9es price=Prix +price.error=Erreur dans l'indication du prix show.all=Tout afficher status.canceled=Annul\u00E9 status.error=Erreur inattendue diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_pt_BR.properties index 8e491e759e7..0449c52adf6 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypalcheckout/ui/_i18n/LocalStrings_pt_BR.properties @@ -36,6 +36,7 @@ paypal.transaction.amount=Pre\u00E7o (Paypal) paypal.transaction.title=Transa\u00E7\u00E3o Paypal \u201C{0}\u201D paypal.transactions.empty=Nenhuma transa\u00E7\u00E3o encontrada price=Pre\u00E7o +price.error=Price error show.all=Mostrar tudo status.canceled=Cancelado status.error=Erro inesperado diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/TokenAccessConfigurationController.java b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/TokenAccessConfigurationController.java index 7db2cfbeb36..d55fb2570f3 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/TokenAccessConfigurationController.java +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/TokenAccessConfigurationController.java @@ -113,6 +113,12 @@ public class TokenAccessConfigurationController extends AbstractConfigurationMet allOk = false; } + if (dateFrom.getValue() != null && dateTo.getValue() != null && dateFrom.getValue().compareTo(dateTo.getValue()) > 0) { + dateTo.setErrorKey("date.error", null); + dateFrom.setErrorKey(null, null); + allOk = false; + } + return allOk && super.validateFormLogic(ureq); } } diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_de.properties index 8ed7996db0a..0726d72811c 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_de.properties @@ -5,6 +5,6 @@ access.token.desc=Diese Ressource ist mit einem Zugangscode gesch\u00fctzt. Gebe access.button=Buchen offer.description=$org.olat.resource.accesscontrol.ui\:offer.description token.method=Zugangscode -invalid.token.format=Der Zugangscode muss aus mindestens einem Zeichen bestehen +invalid.token.format=Der Zugangscode muss aus mindestens zwei Zeichen bestehen invalid.token=Falscher Zugangscode create=$org.olat.resource.accesscontrol.ui\:create diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_en.properties index e087da449b0..b108b9042ed 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_en.properties @@ -6,5 +6,5 @@ accesscontrol.token=Access code offer.description=$org.olat.resource.accesscontrol.ui\:offer.description token.method=Access code invalid.token=Wrong access code -invalid.token.format=The access code must consist of at least one symbol +invalid.token.format=The access code must consist of at least two characters create=$org.olat.resource.accesscontrol.ui\:create \ No newline at end of file diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_fr.properties index c6ec298aced..7b5c63dc7e4 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_fr.properties @@ -5,6 +5,6 @@ access.token.title=Ressource prot\u00E9g\u00E9e accesscontrol.token=Code d'acc\u00E8s create=$org.olat.resource.accesscontrol.ui\:create invalid.token=Code d'acc\u00E8s incorrecte -invalid.token.format=Le code d'acc\u00E8s doit contenir au moins un caract\u00E8re. +invalid.token.format=Le code d'acc\u00E8s doit contenir au moins deux caract\u00E8res. offer.description=$org.olat.resource.accesscontrol.ui\:offer.description token.method=Code d'acc\u00E8s diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_it.properties index 48bc4dfb6f9..a64af2f9a48 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_it.properties @@ -5,6 +5,6 @@ access.token.title=Risorsa protetta accesscontrol.token=Codice di accesso create=$org.olat.resource.accesscontrol.ui\:create invalid.token=Codice di accesso errato -invalid.token.format=Il codice di accesso deve contenere almeno un carattere. +invalid.token.format=Il codice di accesso deve contenere almeno due caratteri. offer.description=$org.olat.resource.accesscontrol.ui\:offer.description token.method=Codice di accesso diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pl.properties index 7d9150798f9..9dadb2a51f4 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pl.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pl.properties @@ -2,6 +2,6 @@ accesscontrol.token=Kod dost\u0119pu create=Utw\u00F3rz invalid.token=B\u0142\u0119dny kod dost\u0119pu -invalid.token.format=Kod dost\u0119pu musi zawiera\u0107 co najmniej jeden znak +invalid.token.format=Kod dost\u0119pu musi zawiera\u0107 co najmniej dwa znaki. offer.description=Opis token.method=Kod dost\u0119pu diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pt_BR.properties index da27773b7c9..d5c51c505fc 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/resource/accesscontrol/provider/token/ui/_i18n/LocalStrings_pt_BR.properties @@ -5,6 +5,6 @@ access.token.title=Conte\u00FAdo protegido accesscontrol.token=C\u00F3digo de acesso create=$org.olat.resource.accesscontrol.ui\:create invalid.token=C\u00F3digo de acesso errado -invalid.token.format=O c\u00F3digo de acesso deve ter pelo menos um s\u00EDmbolo +invalid.token.format=O c\u00F3digo de acesso deve ter pelo menos dois caracteres. offer.description=$org.olat.resource.accesscontrol.ui\:offer.description token.method=C\u00F3digo de acesso diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_de.properties index a9fdeaf9c92..45ff7203382 100644 --- a/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_de.properties @@ -42,6 +42,7 @@ cmd.title=Zugangskontrolle confirmation.email=Best\u00E4tigungsemail f\u00FCr selbst eingetragene Benutzer course.closed=$org.olat.course.run\:course.closed create=Erstellen +date.error=Anfangsdatum kann nicht nach dem Enddatum sein from=Von\: from.hint=Bis zum eingetragenen Datum bedeutet, bis zum Ende des gew\u00E4hlten Tages um 23:59:59 Uhr. info.membership.deleted=Der Benutzer wurde erfolgreich aus der Liste entfernt. diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_en.properties index f0be1239b7f..d00aff49e98 100644 --- a/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_en.properties @@ -37,6 +37,7 @@ admin.desc=Here you can define if the access control mechanism for learning reso admin.menu.title=Access control admin.menu.title.alt=$\:admin.title admin.title=Access control and booking methods administration +date.error=Start date cannot be set after the end date -- GitLab