upgrade spring, add javadoc, formatting

This commit is contained in:
2022-04-13 16:38:23 +02:00
parent 8ebed47574
commit eb829bfa26
168 changed files with 1554 additions and 2020 deletions
@@ -60,17 +60,15 @@ public class MembershipManager {
* Generate membership ids.
*/
public void generateMembershipIds() {
String membershipItemId = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "");
String membershipItemId = systemPropertyManager.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "");
int membershipInternalIdQuestion = systemPropertyManager.getInteger(
PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_INTERNAL_ID_QUESTION, 0);
int membershipInternalIdQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_INTERNAL_ID_QUESTION, 0);
int membershipIdQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ID_QUESTION, 0);
if (!StringUtils.hasText(membershipItemId) || membershipInternalIdQuestion == 0
|| membershipIdQuestion == 0) {
if (!StringUtils.hasText(membershipItemId) || membershipInternalIdQuestion == 0 || membershipIdQuestion == 0) {
logger.warn("Required system properties for 'generateMembershipIds' not set!");
return;
}
@@ -81,8 +79,8 @@ public class MembershipManager {
queryParams.add("order__status", "p");
List<JsonObject> orderPositions = fetchAllOrderPositions(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/",
pretixManager.getOrganizer(), pretixManager.getEvent()),
String.format("/api/v1/organizers/%s/events/%s/orderpositions/", pretixManager.getOrganizer(),
pretixManager.getEvent()),
queryParams, Lists.newArrayList());
Map<Instant, JsonObject> newMembershipPositions = new TreeMap<Instant, JsonObject>();
@@ -106,23 +104,20 @@ public class MembershipManager {
}
if (!hasInternalMembershipId) {
newMembershipPositions.put(pretixManager.getLastPaymentDateForOrder(
orderPosition.get("order").getAsString()), orderPosition);
newMembershipPositions.put(
pretixManager.getLastPaymentDateForOrder(orderPosition.get("order").getAsString()),
orderPosition);
} else {
boolean writeMembershipId = true;
JsonObject membershipIdAnswer = getAnswerObject(orderPosition,
membershipIdQuestion);
JsonObject membershipIdAnswer = getAnswerObject(orderPosition, membershipIdQuestion);
if (membershipIdAnswer != null) {
int membershipId = Integer.valueOf(membershipIdAnswer.get("answer").getAsInt());
if (internalMembershipId == membershipId) {
writeMembershipId = false;
logger.trace("Order '"
+ orderPosition.get("order").getAsString()
+ "' already processed, membership id: '"
+ membershipId
+ "'");
logger.trace("Order '" + orderPosition.get("order").getAsString()
+ "' already processed, membership id: '" + membershipId + "'");
}
}
@@ -140,22 +135,17 @@ public class MembershipManager {
JsonObject payload = new JsonObject();
payload.add("answers", answers);
logger.debug("Write membershipId for '"
+ orderPosition.get("order").getAsString()
+ "': "
logger.debug("Write membershipId for '" + orderPosition.get("order").getAsString() + "': "
+ internalMembershipId);
pretixManager.request(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
orderPosition.get("id").getAsString()),
HttpMethod.PATCH, payload);
pretixManager.request(String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
orderPosition.get("id").getAsString()), HttpMethod.PATCH, payload);
}
}
}
Iterator<Entry<Instant, JsonObject>> iterator = newMembershipPositions.entrySet()
.iterator();
Iterator<Entry<Instant, JsonObject>> iterator = newMembershipPositions.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Instant, JsonObject> entry = iterator.next();
JsonObject orderPosition = entry.getValue();
@@ -182,17 +172,13 @@ public class MembershipManager {
payload.add("answers", answers);
logger.debug("Create membershipId for '"
+ orderPosition.get("order").getAsString()
+ "': "
+ nextMembershipId);
logger.debug(
"Create membershipId for '" + orderPosition.get("order").getAsString() + "': " + nextMembershipId);
pretixManager
.request(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
orderPosition.get("id").getAsString()),
HttpMethod.PATCH, payload);
pretixManager.request(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/", pretixManager.getOrganizer(),
pretixManager.getEvent(), orderPosition.get("id").getAsString()),
HttpMethod.PATCH, payload);
nextMembershipId++;
}
@@ -203,17 +189,16 @@ public class MembershipManager {
*/
public void activeMemberships() {
String membershipItemId = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "");
String membershipItemId = systemPropertyManager.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "");
String membershipFeeItemId = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_ITEM, "");
String membershipFeeItemId = systemPropertyManager.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_ITEM,
"");
int membershipInternalIdQuestion = systemPropertyManager.getInteger(
PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_INTERNAL_ID_QUESTION, 0);
int membershipInternalIdQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_INTERNAL_ID_QUESTION, 0);
int membershipFeeReferenceQuestion = systemPropertyManager.getInteger(
PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REFERENCE_QUESTION, 0);
int membershipFeeReferenceQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REFERENCE_QUESTION, 0);
int membershipActiveQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ACTIVE_QUESTION, 0);
@@ -231,23 +216,22 @@ public class MembershipManager {
queryParams.add("order__status", "p");
List<JsonObject> membershipOrderPositions = fetchAllOrderPositions(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/",
pretixManager.getOrganizer(), pretixManager.getEvent()),
String.format("/api/v1/organizers/%s/events/%s/orderpositions/", pretixManager.getOrganizer(),
pretixManager.getEvent()),
queryParams, Lists.newArrayList());
queryParams.remove("item");
queryParams.add("item", membershipFeeItemId);
List<JsonObject> membershipfeeOrderPositions = fetchAllOrderPositions(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/",
pretixManager.getOrganizer(), pretixManager.getEvent()),
String.format("/api/v1/organizers/%s/events/%s/orderpositions/", pretixManager.getOrganizer(),
pretixManager.getEvent()),
queryParams, Lists.newArrayList());
Map<Integer, List<JsonObject>> membershipfeeOrderPositionMap = Maps.newHashMap();
for (JsonObject membershipFeeOrderPosition : membershipfeeOrderPositions) {
int membershipReference = getNumberAnswer(membershipFeeOrderPosition,
membershipFeeReferenceQuestion);
int membershipReference = getNumberAnswer(membershipFeeOrderPosition, membershipFeeReferenceQuestion);
if (!membershipfeeOrderPositionMap.containsKey(membershipReference)) {
membershipfeeOrderPositionMap.put(membershipReference, Lists.newArrayList());
}
@@ -260,15 +244,12 @@ public class MembershipManager {
answers = membershipOrderPosition.getAsJsonArray("answers");
}
JsonObject membershipActiveAnswer = getAnswerObject(membershipOrderPosition,
membershipActiveQuestion);
int membershipId = getNumberAnswer(membershipOrderPosition,
membershipInternalIdQuestion);
JsonObject membershipActiveAnswer = getAnswerObject(membershipOrderPosition, membershipActiveQuestion);
int membershipId = getNumberAnswer(membershipOrderPosition, membershipInternalIdQuestion);
if (membershipId == 0) {
logger.warn("No membership number found for '"
+ membershipOrderPosition.get("order").getAsString()
+ "'!");
logger.warn(
"No membership number found for '" + membershipOrderPosition.get("order").getAsString() + "'!");
continue;
}
@@ -276,9 +257,7 @@ public class MembershipManager {
.getLastPaymentDateForOrder(membershipOrderPosition.get("order").getAsString());
if (membershipStart == null) {
logger.warn("No last payment found for '"
+ membershipOrderPosition.get("order").getAsString()
+ "'!");
logger.warn("No last payment found for '" + membershipOrderPosition.get("order").getAsString() + "'!");
continue;
}
@@ -288,8 +267,8 @@ public class MembershipManager {
years += membershipfeeOrderPositionMap.get(membershipId).size();
}
Instant active = InstantHelper.truncate(
InstantHelper.plus(membershipStart, years, ChronoUnit.YEARS), ChronoUnit.YEARS);
Instant active = InstantHelper.truncate(InstantHelper.plus(membershipStart, years, ChronoUnit.YEARS),
ChronoUnit.YEARS);
String activeAnswer = pretixDateFormat.format(Date.from(active));
@@ -308,21 +287,15 @@ public class MembershipManager {
JsonObject payload = new JsonObject();
payload.add("answers", answers);
pretixManager.request(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
membershipOrderPosition.get("id").getAsString()),
HttpMethod.PATCH, payload);
pretixManager.request(String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
membershipOrderPosition.get("id").getAsString()), HttpMethod.PATCH, payload);
logger.debug("Write active state for '"
+ membershipOrderPosition.get("order").getAsString()
+ "': "
logger.debug("Write active state for '" + membershipOrderPosition.get("order").getAsString() + "': "
+ activeAnswer);
} else {
logger.trace("Order active state for '"
+ membershipOrderPosition.get("order").getAsString()
+ "' already set: "
+ activeAnswer);
logger.trace("Order active state for '" + membershipOrderPosition.get("order").getAsString()
+ "' already set: " + activeAnswer);
}
}
}
@@ -332,17 +305,16 @@ public class MembershipManager {
*/
public void createMembershipExtension() {
String membershipItemId = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "");
String membershipItemId = systemPropertyManager.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "");
String membershipFeeItemId = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_ITEM, "");
String membershipFeeItemId = systemPropertyManager.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_ITEM,
"");
int membershipInternalIdQuestion = systemPropertyManager.getInteger(
PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_INTERNAL_ID_QUESTION, 0);
int membershipInternalIdQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_INTERNAL_ID_QUESTION, 0);
int membershipFeeReferenceQuestion = systemPropertyManager.getInteger(
PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REFERENCE_QUESTION, 0);
int membershipFeeReferenceQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REFERENCE_QUESTION, 0);
int membershipFeeCodeQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_CODE_QUESTION, 0);
@@ -356,20 +328,19 @@ public class MembershipManager {
int membershipfeeReminderDays = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REMINDER_DAYS, 0);
int membershipfeeReminderQuestion = systemPropertyManager.getInteger(
PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REMINDER_QUESTION, 0);
int membershipfeeReminderQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIPFEE_REMINDER_QUESTION, 0);
boolean orderSendmail = systemPropertyManager
.getBoolean(PretixManager.SYSTEM_PROPERTY_PRETIX_ORDER_SENDMAIL, false);
boolean orderTestmode = systemPropertyManager
.getBoolean(PretixManager.SYSTEM_PROPERTY_PRETIX_ORDER_TESTMODE, true);
boolean orderSimulate = systemPropertyManager
.getBoolean(PretixManager.SYSTEM_PROPERTY_PRETIX_ORDER_SIMULATE, false);
boolean orderSendmail = systemPropertyManager.getBoolean(PretixManager.SYSTEM_PROPERTY_PRETIX_ORDER_SENDMAIL,
false);
boolean orderTestmode = systemPropertyManager.getBoolean(PretixManager.SYSTEM_PROPERTY_PRETIX_ORDER_TESTMODE,
true);
boolean orderSimulate = systemPropertyManager.getBoolean(PretixManager.SYSTEM_PROPERTY_PRETIX_ORDER_SIMULATE,
false);
if (!StringUtils.hasText(membershipItemId) || !StringUtils.hasText(membershipFeeItemId)
|| membershipInternalIdQuestion == 0 || membershipFeeReferenceQuestion == 0
|| membershipFeeCodeQuestion == 0 || membershipActiveQuestion == 0
|| membershipfeeOrderDays == 0) {
|| membershipFeeCodeQuestion == 0 || membershipActiveQuestion == 0 || membershipfeeOrderDays == 0) {
logger.warn("Required system properties for 'createMembershipExtension' not set!");
return;
}
@@ -380,8 +351,8 @@ public class MembershipManager {
queryMembershipParams.add("order__status", "p");
List<JsonObject> membershipOrderPositions = fetchAllOrderPositions(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/",
pretixManager.getOrganizer(), pretixManager.getEvent()),
String.format("/api/v1/organizers/%s/events/%s/orderpositions/", pretixManager.getOrganizer(),
pretixManager.getEvent()),
queryMembershipParams, Lists.newArrayList());
List<JsonObject> expireMemberships = Lists.newArrayList();
@@ -389,15 +360,11 @@ public class MembershipManager {
for (JsonObject membershipOrderPosition : membershipOrderPositions) {
Instant active = getDateAnswer(membershipOrderPosition, membershipActiveQuestion);
if (active.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS))
&& InstantHelper.minus(active, membershipfeeOrderDays, ChronoUnit.DAYS)
.isBefore(Instant.now())) {
&& InstantHelper.minus(active, membershipfeeOrderDays, ChronoUnit.DAYS).isBefore(Instant.now())) {
expireMemberships.add(membershipOrderPosition);
} else {
logger.trace("Membership '"
+ membershipOrderPosition.get("order").getAsString()
+ "' not expiring in next "
+ membershipfeeOrderDays
+ " days.");
logger.trace("Membership '" + membershipOrderPosition.get("order").getAsString()
+ "' not expiring in next " + membershipfeeOrderDays + " days.");
}
}
@@ -407,49 +374,43 @@ public class MembershipManager {
queryMembershipFeeParams.add("order__status__in", "n,e,c");
List<JsonObject> membershipfeeOrderPositions = fetchAllOrderPositions(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/",
pretixManager.getOrganizer(), pretixManager.getEvent()),
String.format("/api/v1/organizers/%s/events/%s/orderpositions/", pretixManager.getOrganizer(),
pretixManager.getEvent()),
queryMembershipFeeParams, Lists.newArrayList());
Map<Integer, List<JsonObject>> membershipfeeOrderPositionMap = Maps.newHashMap();
for (JsonObject membershipfeeOrderPosition : membershipfeeOrderPositions) {
int membershipReference = getNumberAnswer(membershipfeeOrderPosition,
membershipFeeReferenceQuestion);
int membershipReference = getNumberAnswer(membershipfeeOrderPosition, membershipFeeReferenceQuestion);
JsonObject membershipFeeOrder = pretixManager
.getOrder(membershipfeeOrderPosition.get("order").getAsString());
Instant membershipFeeOrderDatetime = OffsetDateTime
.parse(membershipFeeOrder.get("datetime").getAsString()).toInstant();
Instant membershipFeeOrderDatetime = OffsetDateTime.parse(membershipFeeOrder.get("datetime").getAsString())
.toInstant();
if (membershipFeeOrderDatetime
.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS))) {
if (membershipFeeOrderDatetime.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS))) {
if (!membershipfeeOrderPositionMap.containsKey(membershipReference)) {
membershipfeeOrderPositionMap.put(membershipReference, Lists.newArrayList());
}
membershipfeeOrderPositionMap.get(membershipReference)
.add(membershipfeeOrderPosition);
membershipfeeOrderPositionMap.get(membershipReference).add(membershipfeeOrderPosition);
}
}
for (JsonObject membershipOrderPosition : expireMemberships) {
int membershipId = getNumberAnswer(membershipOrderPosition,
membershipInternalIdQuestion);
int membershipId = getNumberAnswer(membershipOrderPosition, membershipInternalIdQuestion);
Instant active = getDateAnswer(membershipOrderPosition, membershipActiveQuestion);
if (membershipId == 0) {
logger.warn("No membership number found for '"
+ membershipOrderPosition.get("order").getAsString()
+ "'!");
logger.warn(
"No membership number found for '" + membershipOrderPosition.get("order").getAsString() + "'!");
continue;
}
if (!membershipfeeOrderPositionMap.containsKey(membershipId)
|| membershipfeeOrderPositionMap.get(membershipId).isEmpty()) {
JsonObject membershipOrder = pretixManager
.getOrder(membershipOrderPosition.get("order").getAsString());
JsonObject membershipOrder = pretixManager.getOrder(membershipOrderPosition.get("order").getAsString());
JsonObject membershipFeeOrder = new JsonObject();
membershipFeeOrder.add("email", membershipOrder.get("email"));
@@ -462,8 +423,7 @@ public class MembershipManager {
JsonArray membershipFeeOrderPositionAnswers = new JsonArray();
JsonObject membershipFeeReferenceAnswer = new JsonObject();
membershipFeeReferenceAnswer.addProperty("question",
membershipFeeReferenceQuestion);
membershipFeeReferenceAnswer.addProperty("question", membershipFeeReferenceQuestion);
membershipFeeReferenceAnswer.add("options", new JsonArray());
membershipFeeReferenceAnswer.add("option_identifiers", new JsonArray());
membershipFeeReferenceAnswer.addProperty("answer", membershipId);
@@ -473,8 +433,7 @@ public class MembershipManager {
membershipFeeCodeAnswer.addProperty("question", membershipFeeCodeQuestion);
membershipFeeCodeAnswer.add("options", new JsonArray());
membershipFeeCodeAnswer.add("option_identifiers", new JsonArray());
membershipFeeCodeAnswer.addProperty("answer",
membershipOrderPosition.get("order").getAsString());
membershipFeeCodeAnswer.addProperty("answer", membershipOrderPosition.get("order").getAsString());
membershipFeeOrderPositionAnswers.add(membershipFeeCodeAnswer);
membershipFeeOrderPosition.add("answers", membershipFeeOrderPositionAnswers);
@@ -484,19 +443,15 @@ public class MembershipManager {
membershipFeeOrder.add("locale", membershipOrder.get("locale"));
membershipFeeOrder.add("positions", membershipFeeOrderPositions);
if (membershipOrder.has("payments")
&& membershipOrder.getAsJsonArray("payments").size() > 0) {
JsonObject payment = membershipOrder.getAsJsonArray("payments").get(0)
.getAsJsonObject();
if (membershipOrder.has("payments") && membershipOrder.getAsJsonArray("payments").size() > 0) {
JsonObject payment = membershipOrder.getAsJsonArray("payments").get(0).getAsJsonObject();
membershipFeeOrder.add("payment_provider", payment.get("provider"));
}
Instant expires = InstantHelper.minus(InstantHelper.truncate(
InstantHelper.plus(Instant.now(), 1, ChronoUnit.YEARS), ChronoUnit.YEARS),
1, ChronoUnit.DAYS);
InstantHelper.plus(Instant.now(), 1, ChronoUnit.YEARS), ChronoUnit.YEARS), 1, ChronoUnit.DAYS);
membershipFeeOrder.addProperty("expires",
pretixDateFormat.format(Date.from(expires)));
membershipFeeOrder.addProperty("expires", pretixDateFormat.format(Date.from(expires)));
membershipFeeOrder.addProperty("send_email", orderSendmail);
membershipFeeOrder.addProperty("testmode", orderTestmode);
membershipFeeOrder.addProperty("simulate", orderSimulate);
@@ -505,20 +460,16 @@ public class MembershipManager {
JsonObject expire = new JsonObject();
expire.addProperty("expires", pretixDateFormat.format(Date.from(expires)));
membershipFeeOrder = pretixManager
.extendOrder(membershipFeeOrder.get("code").getAsString(), expire);
membershipFeeOrder = pretixManager.extendOrder(membershipFeeOrder.get("code").getAsString(), expire);
logger.debug("Create membership fee order: "
+ membershipFeeOrder.toString());
logger.debug("Create membership fee order: " + membershipFeeOrder.toString());
} else
// send reminder mail for membership fee order
if (membershipfeeReminderDays > 0 && membershipfeeReminderQuestion > 0
&& active.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS))
&& InstantHelper.minus(active, membershipfeeReminderDays, ChronoUnit.DAYS)
.isBefore(Instant.now())) {
&& active.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS)) && InstantHelper
.minus(active, membershipfeeReminderDays, ChronoUnit.DAYS).isBefore(Instant.now())) {
for (JsonObject membershipfeeOrderPosition : membershipfeeOrderPositionMap
.get(membershipId)) {
for (JsonObject membershipfeeOrderPosition : membershipfeeOrderPositionMap.get(membershipId)) {
JsonObject membershipFeeOrder = pretixManager
.getOrder(membershipfeeOrderPosition.get("order").getAsString());
@@ -526,17 +477,15 @@ public class MembershipManager {
if (!"c".equals(membershipFeeOrder.get("status").getAsString())) {
JsonArray membershipfeeAnswers = new JsonArray();
if (membershipfeeOrderPosition.has("answers")) {
membershipfeeAnswers = membershipfeeOrderPosition
.getAsJsonArray("answers");
membershipfeeAnswers = membershipfeeOrderPosition.getAsJsonArray("answers");
}
JsonObject membershipReminderAnswer = getAnswerObject(
membershipfeeOrderPosition, membershipfeeReminderQuestion);
JsonObject membershipReminderAnswer = getAnswerObject(membershipfeeOrderPosition,
membershipfeeReminderQuestion);
if (membershipReminderAnswer == null) {
membershipReminderAnswer = new JsonObject();
membershipReminderAnswer.addProperty("question",
membershipfeeReminderQuestion);
membershipReminderAnswer.addProperty("question", membershipfeeReminderQuestion);
membershipReminderAnswer.add("options", new JsonArray());
membershipReminderAnswer.add("option_identifiers", new JsonArray());
membershipReminderAnswer.addProperty("answer", "false");
@@ -546,15 +495,13 @@ public class MembershipManager {
if (!membershipReminderAnswer.get("answer").getAsBoolean()) {
membershipReminderAnswer.addProperty("answer", "true");
pretixManager.sendEmail(
membershipfeeOrderPosition.get("order").getAsString());
pretixManager.sendEmail(membershipfeeOrderPosition.get("order").getAsString());
JsonObject payload = new JsonObject();
payload.add("answers", membershipfeeAnswers);
pretixManager.request(
String.format(
"/api/v1/organizers/%s/events/%s/orderpositions/%s/",
String.format("/api/v1/organizers/%s/events/%s/orderpositions/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
membershipfeeOrderPosition.get("id").getAsString()),
HttpMethod.PATCH, payload);
@@ -563,18 +510,15 @@ public class MembershipManager {
+ membershipfeeOrderPosition.get("order").getAsString());
} else {
logger.debug("Reminder for Membership fee order of'"
+ membershipfeeOrderPosition.get("order").getAsString()
+ "' already created.");
+ membershipfeeOrderPosition.get("order").getAsString() + "' already created.");
}
} else {
logger.debug("Membership fee order for'"
+ membershipfeeOrderPosition.get("order").getAsString()
logger.debug("Membership fee order for'" + membershipfeeOrderPosition.get("order").getAsString()
+ "' is canceled, no reminder.");
}
}
} else {
logger.debug("Membership fee order for '"
+ membershipOrderPosition.get("order").getAsString()
logger.debug("Membership fee order for '" + membershipOrderPosition.get("order").getAsString()
+ "' already created, no reminder.");
}
@@ -585,8 +529,8 @@ public class MembershipManager {
* Calculate price.
*/
public void calculatePrice() {
int membershipItemId = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, 0);
int membershipItemId = systemPropertyManager.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM,
0);
String discountPeriod = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_DISCOUNT_PERIOD, "");
@@ -638,8 +582,7 @@ public class MembershipManager {
}
if (applyDefault && defaultVariationId > 0) {
pretixManager.updateVariation(membershipItemId, defaultVariationId,
defaultVariation);
pretixManager.updateVariation(membershipItemId, defaultVariationId, defaultVariation);
}
} catch (DateTimeParseException e) {
@@ -650,13 +593,12 @@ public class MembershipManager {
/**
* Membership csv export.
*
* @param writer the writer
* @param writer the writer
* @param includeInactive the include inactive
* @return the json array
*/
public JsonArray membershipCsvExport(Writer writer, boolean includeInactive) {
String membershipItemId = systemPropertyManager
.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "0");
String membershipItemId = systemPropertyManager.get(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ITEM, "0");
int membershipActiveQuestion = systemPropertyManager
.getInteger(PretixManager.SYSTEM_PROPERTY_PRETIX_MEMBERSHIP_ACTIVE_QUESTION, 0);
@@ -670,18 +612,15 @@ public class MembershipManager {
List<String> answerHeaders = Lists.newArrayList();
List<JsonObject> orderPositions = fetchAllOrderPositions(
String.format("/api/v1/organizers/%s/events/%s/orderpositions/",
pretixManager.getOrganizer(), pretixManager.getEvent()),
String.format("/api/v1/organizers/%s/events/%s/orderpositions/", pretixManager.getOrganizer(),
pretixManager.getEvent()),
queryParams, Lists.newArrayList());
for (JsonObject orderPosition : orderPositions) {
JsonObject order = pretixManager
.request(
String.format("/api/v1/organizers/%s/events/%s/orders/%s/",
pretixManager.getOrganizer(), pretixManager.getEvent(),
orderPosition.get("order").getAsString()),
HttpMethod.GET, queryParams)
.getAsJsonObject();
JsonObject order = pretixManager.request(
String.format("/api/v1/organizers/%s/events/%s/orders/%s/", pretixManager.getOrganizer(),
pretixManager.getEvent(), orderPosition.get("order").getAsString()),
HttpMethod.GET, queryParams).getAsJsonObject();
JsonObject member = new JsonObject();
@@ -696,24 +635,22 @@ public class MembershipManager {
answerHeaders.add(question_identifier);
}
answers.addProperty(question_identifier, answer.get("answer").getAsString());
if (membershipActiveQuestion == answer.get("question").getAsInt()
&& answer.has("answer")) {
if (membershipActiveQuestion == answer.get("question").getAsInt() && answer.has("answer")) {
Date date;
try {
date = pretixDateFormat.parse(answer.get("answer").getAsString());
active = date.toInstant();
} catch (ParseException e) {
logger.error("Error on parsing active date for '"
+ orderPosition.get("order").getAsString()
logger.error("Error on parsing active date for '" + orderPosition.get("order").getAsString()
+ "'!", e);
}
}
}
}
member.add("answers", answers);
if (includeInactive || active != null
&& active.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS))) {
if (includeInactive
|| active != null && active.isAfter(InstantHelper.truncate(Instant.now(), ChronoUnit.YEARS))) {
members.add(member);
}
}
@@ -758,15 +695,14 @@ public class MembershipManager {
/**
* Fetch all order positions.
*
* @param path the path
* @param path the path
* @param queryParams the query params
* @param result the result
* @param result the result
* @return the list
*/
protected List<JsonObject> fetchAllOrderPositions(String path,
MultiValueMap<String, String> queryParams, List<JsonObject> result) {
JsonObject orderPositions = pretixManager.request(path, HttpMethod.GET, queryParams)
.getAsJsonObject();
protected List<JsonObject> fetchAllOrderPositions(String path, MultiValueMap<String, String> queryParams,
List<JsonObject> result) {
JsonObject orderPositions = pretixManager.request(path, HttpMethod.GET, queryParams).getAsJsonObject();
for (JsonElement element : orderPositions.getAsJsonArray("results")) {
JsonObject orderPosition = element.getAsJsonObject();
@@ -774,8 +710,7 @@ public class MembershipManager {
}
if (orderPositions.has("next") && !orderPositions.get("next").isJsonNull()) {
return fetchAllOrderPositions(orderPositions.get("next").getAsString(), queryParams,
result);
return fetchAllOrderPositions(orderPositions.get("next").getAsString(), queryParams, result);
}
return result;
@@ -785,7 +720,7 @@ public class MembershipManager {
* Gets the answer object.
*
* @param orderPosition the order position
* @param question the question
* @param question the question
* @return the answer object
*/
protected JsonObject getAnswerObject(JsonObject orderPosition, int question) {
@@ -804,7 +739,7 @@ public class MembershipManager {
* Gets the number answer.
*
* @param orderPosition the order position
* @param question the question
* @param question the question
* @return the number answer
*/
protected int getNumberAnswer(JsonObject orderPosition, int question) {
@@ -819,7 +754,7 @@ public class MembershipManager {
* Gets the date answer.
*
* @param orderPosition the order position
* @param question the question
* @param question the question
* @return the date answer
*/
protected Instant getDateAnswer(JsonObject orderPosition, int question) {
@@ -828,11 +763,8 @@ public class MembershipManager {
try {
return pretixDateFormat.parse(answer.get("answer").getAsString()).toInstant();
} catch (ParseException e) {
logger.error("Error on parsing active date for '"
+ orderPosition.get("order").getAsString()
+ "' in question '"
+ question
+ "'!", e);
logger.error("Error on parsing active date for '" + orderPosition.get("order").getAsString()
+ "' in question '" + question + "'!", e);
}
}
return null;
@@ -101,14 +101,13 @@ public class MembershipController extends BaseController {
* Gets the member mail list.
*
* @param includeInactive the include inactive
* @param response the response
* @param response the response
* @return the member mail list
* @throws IOException Signals that an I/O exception has occurred.
*/
@PreAuthorize("hasRole('ROLE_ADMIN')")
@GetMapping("/export")
public void getMemberMailList(
@RequestParam("includeInactive") Optional<Boolean> includeInactive,
public void getMemberMailList(@RequestParam("includeInactive") Optional<Boolean> includeInactive,
HttpServletResponse response) throws IOException {
response.setContentType("text/csv");
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
@@ -120,7 +119,7 @@ public class MembershipController extends BaseController {
* Webhook.
*
* @param webhookKey the webhook key
* @param payload the payload
* @param payload the payload
*/
@PostMapping("/pretix/webhook")
public void webhook(@RequestParam("key") String webhookKey, @RequestBody String payload) {
@@ -130,8 +129,7 @@ public class MembershipController extends BaseController {
JsonObject event = JsonParser.parseString(payload).getAsJsonObject();
if (event.has("action")
&& "pretix.event.order.paid".equals(event.get("action").getAsString())) {
if (event.has("action") && "pretix.event.order.paid".equals(event.get("action").getAsString())) {
membershipManager.generateMembershipIds();
membershipManager.activeMemberships();
} else {