Skip to content

Commit

Permalink
#468 handle correctly when vies is down
Browse files Browse the repository at this point in the history
  • Loading branch information
syjer committed Jun 20, 2018
1 parent 15774c9 commit 12396b8
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 5 deletions.
16 changes: 11 additions & 5 deletions src/main/java/alfio/controller/api/ReservationApiController.java
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,17 @@ public ResponseEntity<VatDetail> validateEUVat(@PathVariable("eventName") String
HttpServletRequest request) {

String country = paymentForm.getVatCountryCode();
Optional<Triple<Event, TicketReservation, VatDetail>> vatDetail = eventRepository.findOptionalByShortName(eventName)
.flatMap(e -> ticketReservationRepository.findOptionalReservationById(reservationId).map(r -> Pair.of(e, r)))
.filter(e -> EnumSet.of(INCLUDED, NOT_INCLUDED).contains(e.getKey().getVatStatus()))
.filter(e -> vatChecker.isVatCheckingEnabledFor(e.getKey().getOrganizationId()))
.flatMap(e -> vatChecker.checkVat(paymentForm.getVatNr(), country, e.getKey().getOrganizationId()).map(vd -> Triple.of(e.getLeft(), e.getRight(), vd)));
Optional<Triple<Event, TicketReservation, VatDetail>> vatDetail;
try {
vatDetail = eventRepository.findOptionalByShortName(eventName)
.flatMap(e -> ticketReservationRepository.findOptionalReservationById(reservationId).map(r -> Pair.of(e, r)))
.filter(e -> EnumSet.of(INCLUDED, NOT_INCLUDED).contains(e.getKey().getVatStatus()))
.filter(e -> vatChecker.isVatCheckingEnabledFor(e.getKey().getOrganizationId()))
.flatMap(e -> vatChecker.checkVat(paymentForm.getVatNr(), country, e.getKey().getOrganizationId()).map(vd -> Triple.of(e.getLeft(), e.getRight(), vd)));
} catch (IllegalStateException e) {
return new ResponseEntity<>(HttpStatus.SERVICE_UNAVAILABLE);
}


vatDetail
.filter(t -> t.getRight().isValid())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,7 @@
<div class="col-xs-10 text-right">
<span id="validation-result" class="text-danger" data-validation-error-msg="{{#i18n}}reservation-page.vat-validation-error [{{vatTranslation}}]{{/i18n}}"
data-generic-error-msg="{{#i18n}}reservation-page.vat-error [{{vatTranslation}}]{{/i18n}}"
data-vies-down="{{#i18n}}error.vatVIESDown{{/i18n}}"
data-validation-required-msg="{{#i18n}}reservation-page.vat-validation-required [{{vatTranslation}}]{{/i18n}}"></span>
</div>
</div>
Expand Down
2 changes: 2 additions & 0 deletions src/main/webapp/resources/js/event/reservation-page.js
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,8 @@
vatInput.parent('div').addClass('has-error');
if(xhr.status === 400) {
resultContainer.html(resultContainer.attr('data-validation-error-msg'));
} else if (xhr.status === 503) {
resultContainer.html(resultContainer.attr('data-vies-down'));
} else {
resultContainer.html(resultContainer.attr('data-generic-error-msg'));
}
Expand Down

0 comments on commit 12396b8

Please sign in to comment.