Skip to content

Commit

Permalink
Merge branch 'master' into #259-support-more-currencies
Browse files Browse the repository at this point in the history
  • Loading branch information
cbellone committed Jun 30, 2019
2 parents a907bc3 + 7ddc25b commit 123268e
Show file tree
Hide file tree
Showing 32 changed files with 83 additions and 122 deletions.
7 changes: 3 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,11 @@ dependencies {
compile 'org.springframework.session:spring-session:1.3.5.RELEASE'
compile "ch.digitalfondue.npjt-extra:npjt-extra:2.0.1"
compile "com.samskivert:jmustache:1.14"
compile "com.github.sps.mustache:mustache-spring-view:1.4"
compile "javax.mail:mail:1.5.0-b01"
compile 'com.moodysalem:LatLongToTimezoneMaven:1.2'
/**/
compile "com.openhtmltopdf:openhtmltopdf-core:0.0.1-RC20"
compile "com.openhtmltopdf:openhtmltopdf-pdfbox:0.0.1-RC20"
compile "com.openhtmltopdf:openhtmltopdf-core:0.0.1-RC21"
compile "com.openhtmltopdf:openhtmltopdf-pdfbox:0.0.1-RC21"
compile "ch.digitalfondue.jfiveparse:jfiveparse:0.5.3"
/**/
compile "com.google.zxing:core:3.4.0"
Expand All @@ -162,7 +161,7 @@ dependencies {
compile 'de.danielbechler:java-object-diff:0.95'
compile 'com.github.scribejava:scribejava-core:5.0.0'
compile 'ch.digitalfondue.vatchecker:vatchecker:1.2'
compile 'ch.digitalfondue.basicxlsx:basicxlsx:0.5.0'
compile 'ch.digitalfondue.basicxlsx:basicxlsx:0.5.1'
compile 'org.imgscalr:imgscalr-lib:4.2'
compile 'org.aspectj:aspectjweaver:1.9.4'

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/alfio/config/ConfigurationStatusChecker.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {

configurationManager.saveSystemConfiguration(INIT_COMPLETED, "true");

ofNullable(System.getProperty("maps.clientApiKey")).ifPresent((clientApiKey) -> configurationManager.saveSystemConfiguration(MAPS_CLIENT_API_KEY, clientApiKey));
ofNullable(System.getProperty("recaptcha.apiKey")).ifPresent((clientApiKey) -> configurationManager.saveSystemConfiguration(RECAPTCHA_API_KEY, clientApiKey));
ofNullable(System.getProperty("recaptcha.secret")).ifPresent((clientApiKey) -> configurationManager.saveSystemConfiguration(RECAPTCHA_SECRET, clientApiKey));
ofNullable(System.getProperty("maps.clientApiKey")).ifPresent(clientApiKey -> configurationManager.saveSystemConfiguration(MAPS_CLIENT_API_KEY, clientApiKey));
ofNullable(System.getProperty("recaptcha.apiKey")).ifPresent(clientApiKey -> configurationManager.saveSystemConfiguration(RECAPTCHA_API_KEY, clientApiKey));
ofNullable(System.getProperty("recaptcha.secret")).ifPresent(clientApiKey -> configurationManager.saveSystemConfiguration(RECAPTCHA_SECRET, clientApiKey));

}
log.info("performing migration from previous version, if any");
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/alfio/config/MvcConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,11 @@ public void postHandle(HttpServletRequest request, HttpServletResponse response,
//
String reportUri = "";
boolean enabledReport = Boolean.parseBoolean(configurationCache.get(ConfigurationKeys.SECURITY_CSP_REPORT_ENABLED,
(k) -> configurationManager.getFor(k).getValueOrDefault("false")
k -> configurationManager.getFor(k).getValueOrDefault("false")
));
if (enabledReport) {
reportUri = " report-uri " + configurationCache.get(ConfigurationKeys.SECURITY_CSP_REPORT_URI,
(k) -> configurationManager.getFor(k).getValueOrDefault("/report-csp-violation")
k -> configurationManager.getFor(k).getValueOrDefault("/report-csp-violation")
);
}
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

Expand All @@ -47,7 +47,7 @@ public class AdminConfigurationController {
private final StripeCreditCardManager stripeCreditCardManager;
private final UserManager userManager;

@RequestMapping("/admin/configuration/payment/stripe/connect/{orgId}")
@GetMapping("/admin/configuration/payment/stripe/connect/{orgId}")
public String redirectToStripeConnect(Principal principal,
@PathVariable("orgId") Integer orgId,
HttpSession session) {
Expand All @@ -61,7 +61,7 @@ public String redirectToStripeConnect(Principal principal,
}


@RequestMapping(CONNECT_REDIRECT_PATH)
@GetMapping(CONNECT_REDIRECT_PATH)
public String authorize(Principal principal,
@RequestParam("state") String state,
@RequestParam(value = "code", required = false) String code,
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/alfio/controller/FileController.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@
import alfio.model.FileBlobMetadata;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
Expand All @@ -41,7 +40,7 @@ public FileController(FileUploadManager manager) {
this.manager = manager;
}

@RequestMapping(value = "/file/{digest}", method = RequestMethod.GET)
@GetMapping("/file/{digest}")
public void showFile(@PathVariable("digest") String digest, HttpServletRequest request, HttpServletResponse response) throws IOException {

Optional<FileBlobMetadata> res = manager.findMetadata(digest);
Expand Down
17 changes: 7 additions & 10 deletions src/main/java/alfio/controller/IndexController.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,7 @@
import org.springframework.security.web.csrf.CsrfToken;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.util.UriComponentsBuilder;

import javax.servlet.http.HttpServletRequest;
Expand Down Expand Up @@ -85,7 +82,7 @@ public ResponseEntity<String> replyToK8s() {
</pre>
*/
@RequestMapping(value = {
@GetMapping({
"/",
"/event/{eventShortName}",
"/event/{eventShortName}/reservation/{reservationId}",
Expand All @@ -96,7 +93,7 @@ public ResponseEntity<String> replyToK8s() {
"/event/{eventShortName}/reservation/{reservationId}/processing-payment",
"/event/{eventShortName}/reservation/{reservationId}/success",
"/event/{eventShortName}/ticket/{ticketId}/view"
}, method = RequestMethod.GET)
})
public void replyToIndex(HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
Expand All @@ -105,7 +102,7 @@ public void replyToIndex(HttpServletResponse response) throws IOException {
}
}

@RequestMapping("/event/{eventShortName}/code/{code}")
@GetMapping("/event/{eventShortName}/code/{code}")
public String redirectCode(@PathVariable("eventShortName") String eventName,
@PathVariable("code") String code) {
return "redirect:" + UriComponentsBuilder.fromPath("/api/v2/public/event/{eventShortName}/code/{code}")
Expand All @@ -115,7 +112,7 @@ public String redirectCode(@PathVariable("eventShortName") String eventName,


// login related
@RequestMapping(value="/authentication", method = RequestMethod.GET)
@GetMapping("/authentication")
public void getLoginPage(@RequestParam(value="failed", required = false) String failed, @RequestParam(value = "recaptchaFailed", required = false) String recaptchaFailed,
Model model,
Principal principal,
Expand Down Expand Up @@ -150,15 +147,15 @@ public void getLoginPage(@RequestParam(value="failed", required = false) String
}
}

@RequestMapping(value="/authenticate", method = RequestMethod.POST)
@PostMapping("/authenticate")
public String doLogin() {
return REDIRECT_ADMIN;
}
//


// admin index
@RequestMapping("/admin")
@GetMapping("/admin")
public void adminHome(Model model, @Value("${alfio.version}") String version, HttpServletRequest request, HttpServletResponse response, Principal principal) throws IOException {
model.addAttribute("alfioVersion", version);
model.addAttribute("username", principal.getName());
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/alfio/controller/api/AttendeeApiController.java
Original file line number Diff line number Diff line change
Expand Up @@ -68,20 +68,20 @@ public ResponseEntity<String> handleGenericException(RuntimeException e) {
}


@RequestMapping(value = "/sponsor-scan", method = RequestMethod.POST)
@PostMapping("/sponsor-scan")
public ResponseEntity<TicketAndCheckInResult> scanBadge(@RequestBody SponsorScanRequest request, Principal principal) {
return ResponseEntity.ok(attendeeManager.registerSponsorScan(request.eventName, request.ticketIdentifier, principal.getName()));
}

@RequestMapping(value = "/sponsor-scan/bulk", method = RequestMethod.POST)
@PostMapping("/sponsor-scan/bulk")
public ResponseEntity<List<TicketAndCheckInResult>> scanBadges(@RequestBody List<SponsorScanRequest> requests, Principal principal) {
String username = principal.getName();
return ResponseEntity.ok(requests.stream()
.map(request -> attendeeManager.registerSponsorScan(request.eventName, request.ticketIdentifier, username))
.collect(Collectors.toList()));
}

@RequestMapping(value = "/{eventKey}/sponsor-scan/mine", method = RequestMethod.GET)
@GetMapping("/{eventKey}/sponsor-scan/mine")
public ResponseEntity<List<SponsorAttendeeData>> getScannedBadges(@PathVariable("eventKey") String eventShortName, @RequestParam(value = "from", required = false) String from, Principal principal) {

ZonedDateTime start = Optional.ofNullable(StringUtils.trimToNull(from))
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/alfio/controller/api/WebhookApiController.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ public class WebhookApiController {
//private final TicketReservationManager ticketReservationManager;
private final StripeCreditCardManager stripeCreditCardManager;

@RequestMapping(value = "/mollie/event/{eventName}/reservation/{reservationId}", method = RequestMethod.POST)
@PostMapping("/mollie/event/{eventName}/reservation/{reservationId}")
public void handleMollie(@PathVariable("eventName") String eventName, @PathVariable("reservationId") String reservationId) {
// mollieManager.handleWebhook(eventName, reservationId, null);
// call ticketReservationManager.performPayment... if handlewebhoook return status paid
}

@RequestMapping(value = "/stripe/notification", method = RequestMethod.POST)
@PostMapping("/stripe/notification")
public ResponseEntity<Boolean> handleStripeMessage(@RequestHeader(value = "Stripe-Signature", required = false) String stripeSignature, HttpServletRequest request) {
return RequestUtils.readRequest(request)
.flatMap(b -> stripeCreditCardManager.processWebhookEvent(b, stripeSignature))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public ResponseEntity<String> handleError(Exception e) {
return new ResponseEntity<>("internal server error", HttpStatus.INTERNAL_SERVER_ERROR);
}

@RequestMapping(value = "/event/{eventId}/additional-services", method = RequestMethod.GET)
@GetMapping("/event/{eventId}/additional-services")
public List<EventModification.AdditionalService> loadAll(@PathVariable("eventId") int eventId) {
return eventRepository.findOptionalById(eventId)
.map(event -> additionalServiceRepository.loadAllForEvent(eventId)
Expand All @@ -93,7 +93,7 @@ public Map<Integer, Integer> countUse(@PathVariable("eventId") int eventId) {
return additionalServiceRepository.getCount(eventId);
}

@RequestMapping(value = "/event/{eventId}/additional-services/{additionalServiceId}", method = RequestMethod.PUT)
@PutMapping("/event/{eventId}/additional-services/{additionalServiceId}")
@Transactional
public ResponseEntity<EventModification.AdditionalService> update(@PathVariable("eventId") int eventId, @PathVariable("additionalServiceId") int additionalServiceId, @RequestBody EventModification.AdditionalService additionalService, BindingResult bindingResult) {
ValidationResult validationResult = Validator.validateAdditionalService(additionalService, bindingResult);
Expand All @@ -117,7 +117,7 @@ public ResponseEntity<EventModification.AdditionalService> update(@PathVariable(
}).orElseThrow(IllegalArgumentException::new);
}

@RequestMapping(value = "/event/{eventId}/additional-services", method = RequestMethod.POST)
@PostMapping(value = "/event/{eventId}/additional-services")
@Transactional
public ResponseEntity<EventModification.AdditionalService> insert(@PathVariable("eventId") int eventId, @RequestBody EventModification.AdditionalService additionalService, BindingResult bindingResult) {
ValidationResult validationResult = Validator.validateAdditionalService(additionalService, bindingResult);
Expand Down Expand Up @@ -148,7 +148,7 @@ public ResponseEntity<EventModification.AdditionalService> insert(@PathVariable(
}).orElseThrow(IllegalArgumentException::new);
}

@RequestMapping(value = "/event/{eventId}/additional-services/{additionalServiceId}", method = RequestMethod.DELETE)
@DeleteMapping("/event/{eventId}/additional-services/{additionalServiceId}")
@Transactional
public ResponseEntity<String> remove(@PathVariable("eventId") int eventId, @PathVariable("additionalServiceId") int additionalServiceId, Principal principal) {
return eventRepository.findOptionalById(eventId)
Expand All @@ -166,7 +166,7 @@ public ResponseEntity<String> remove(@PathVariable("eventId") int eventId, @Path
.orElseGet(() -> new ResponseEntity<>("event not found", HttpStatus.NOT_FOUND));
}

@RequestMapping(value = "/additional-services/validate", method = RequestMethod.POST)
@PostMapping("/additional-services/validate")
public ValidationResult checkAdditionalService(@RequestBody EventModification.AdditionalService additionalService, BindingResult bindingResult) {
return Validator.validateAdditionalService(additionalService, bindingResult);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
import org.springframework.http.ResponseEntity;
Expand Down Expand Up @@ -243,11 +244,11 @@ public static class RemoveTicketsModification {
private final Boolean forceInvoiceUpdate;

public Boolean getNotify() {
return notify != null ? notify : false;
return ObjectUtils.firstNonNull(notify, Boolean.FALSE);
}

public Boolean getForceInvoiceUpdate() {
return forceInvoiceUpdate != null ? forceInvoiceUpdate : false;
return ObjectUtils.firstNonNull(forceInvoiceUpdate, Boolean.FALSE);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ public class AttendeeBulkImportApiController {

private final AdminReservationRequestManager requestManager;

@RequestMapping(value = "", method = RequestMethod.POST)
@PostMapping("")
public Result<String> createReservations(@PathVariable("eventName") String eventName,
@RequestBody AdminReservationModification body,
@RequestParam(name="oneReservationPerAttendee", defaultValue = "false", required = false) boolean oneReservationPerAttendee,
Principal principal) {
return requestManager.scheduleReservations(eventName, body, !oneReservationPerAttendee, principal.getName());
}

@RequestMapping(value = "/{requestId}/status", method = RequestMethod.GET)
@GetMapping("/{requestId}/status")
public Result<AdminReservationRequestStats> getRequestsStatus(@PathVariable("eventName") String eventName,
@PathVariable("requestId") String requestId,
Principal principal) {
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/alfio/controller/api/admin/EventApiController.java
Original file line number Diff line number Diff line change
Expand Up @@ -279,9 +279,9 @@ public void downloadAllTicketsCSV(@PathVariable("eventName") String eventName, @
ZoneId eventZoneId = event.getZoneId();

if ("excel".equals(format)) {
exportTicketExcel(eventName, response, principal, fields, categoriesMap, eventZoneId);
exportTicketExcel(event.getShortName(), response, principal, fields, categoriesMap, eventZoneId);
} else {
exportTicketCSV(eventName, response, principal, fields, categoriesMap, eventZoneId);
exportTicketCSV(event.getShortName(), response, principal, fields, categoriesMap, eventZoneId);
}
}

Expand Down Expand Up @@ -369,7 +369,7 @@ private Stream<String[]> exportLines(String eventName, Principal principal, List

@RequestMapping("/events/{eventName}/sponsor-scan/export")
public void downloadSponsorScanExport(@PathVariable("eventName") String eventName, @RequestParam(name = "format", defaultValue = "excel") String format, HttpServletResponse response, Principal principal) throws IOException {
EventAndOrganizationId event = eventManager.getEventAndOrganizationId(eventName, principal.getName());
var event = eventManager.getSingleEvent(eventName, principal.getName());
List<TicketFieldConfiguration> fields = ticketFieldRepository.findAdditionalFieldsForEvent(event.getId());

List<String> header = new ArrayList<>();
Expand Down Expand Up @@ -405,9 +405,9 @@ public void downloadSponsorScanExport(@PathVariable("eventName") String eventNam
});

if ("excel".equals(format)) {
exportSponsorScanExcel(eventName, header, sponsorScans, response);
exportSponsorScanExcel(event.getShortName(), header, sponsorScans, response);
} else {
exportSponsorScanCSV(eventName, header, sponsorScans, response);
exportSponsorScanCSV(event.getShortName(), header, sponsorScans, response);
}
}

Expand Down
Loading

0 comments on commit 123268e

Please sign in to comment.