diff --git a/build.gradle b/build.gradle index 811023d..0331654 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ apply plugin: 'war' apply plugin: 'application' group = 'de.jottyfan.camporganizer' -version = '0.0.8' +version = '0.0.9' sourceCompatibility = 17 mainClassName = "de.jottyfan.camporganizer.Main" diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/BookingBean.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/BookingBean.java index 8bfc781..01d6895 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/BookingBean.java +++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/BookingBean.java @@ -12,7 +12,7 @@ import de.jottyfan.camporganizer.db.jooq.enums.EnumCamprole; * */ public class BookingBean implements Serializable, Comparable { - private static final long serialVersionUID = 2L; + private static final long serialVersionUID = 3L; private final Integer pkPerson; private final LocalDate date; @@ -20,6 +20,7 @@ public class BookingBean implements Serializable, Comparable { private String fullname; private String role; private LocalDateTime registered; + private Boolean accept; public BookingBean(Integer pkPerson, LocalDate date, String camp) { this.pkPerson = pkPerson; @@ -110,4 +111,12 @@ public class BookingBean implements Serializable, Comparable { public Integer getPkPerson() { return pkPerson; } + + public Boolean getAccept() { + return accept; + } + + public void setAccept(Boolean accept) { + this.accept = accept; + } } diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationGateway.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationGateway.java index cbb3c52..81b4cb3 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationGateway.java +++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationGateway.java @@ -20,6 +20,7 @@ import org.jooq.DSLContext; import org.jooq.Name; import org.jooq.Record4; import org.jooq.Record7; +import org.jooq.Record8; import org.jooq.SelectHavingStep; import org.jooq.SelectSeekStep1; import org.jooq.impl.DSL; @@ -95,7 +96,7 @@ public class ConfirmationGateway { * get all bookings with condition that this user can manage * * @param currentUser the current user - * @param condition the condition e.g. T_PERSON.ACCEPT.isNull() + * @param condition the condition e.g. T_PERSON.ACCEPT.isNull() * @return a list of booking beans; an empty one at least */ private List getListWithCondition(String currentUser, Condition condition) { @@ -163,7 +164,7 @@ public class ConfirmationGateway { /** * get the result of the search * - * @param needle the needle + * @param needle the needle * @param currentUser the current user * @return a list of found beans; an empty one at least */ @@ -175,9 +176,9 @@ public class ConfirmationGateway { .or(V_CAMP.YEAR.cast(String.class).containsIgnoreCase(needle)); // @formatter:on - SelectSeekStep1, LocalDateTime> sql = jooq + SelectSeekStep1, LocalDateTime> sql = jooq // @formatter:off - .select(T_PERSON.PK, T_PERSON.FORENAME, T_PERSON.SURNAME, T_PERSON.CAMPROLE, V_CAMP.NAME, V_CAMP.YEAR, V_CAMP.LOCATION_NAME) + .select(T_PERSON.PK, T_PERSON.FORENAME, T_PERSON.SURNAME, T_PERSON.CAMPROLE, V_CAMP.NAME, V_CAMP.YEAR, V_CAMP.LOCATION_NAME, T_PERSON.ACCEPT) .from(T_PERSON) .leftJoin(V_CAMP).on(V_CAMP.PK.eq(T_PERSON.FK_CAMP)) .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP)) @@ -189,16 +190,18 @@ public class ConfirmationGateway { // @formatter:on LOGGER.debug(sql.toString()); List list = new ArrayList<>(); - for (Record7 r : sql.fetch()) { + for (Record8 r : sql.fetch()) { Integer pkPerson = r.get(T_PERSON.PK); String forename = r.get(T_PERSON.FORENAME); String surname = r.get(T_PERSON.SURNAME); EnumCamprole role = r.get(T_PERSON.CAMPROLE); String campname = r.get(V_CAMP.NAME); Double year = r.get(V_CAMP.YEAR); + Boolean accept = r.get(T_PERSON.ACCEPT); BookingBean bean = new BookingBean(pkPerson, null, String.format("%s %4.0f", campname, year)); bean.setRole(role == null ? null : role.getLiteral()); bean.setFullname(new StringBuilder().append(forename).append(" ").append(surname).toString()); + bean.setAccept(accept); list.add(bean); } return list; diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationService.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationService.java index b69ac62..3398525 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationService.java +++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/impl/ConfirmationService.java @@ -53,9 +53,19 @@ public class ConfirmationService implements IConfirmationService { @Override public String search(String needle, String linkURL, HttpServletRequest request) { - StringBuilder buf = new StringBuilder(""); + StringBuilder buf = new StringBuilder( + "
NameFreizeitRolle
"); for (BookingBean bean : gateway.getSearchResult(needle, getCurrentUser(request))) { - buf.append(String.format("", linkURL, bean.getPkPerson(), bean.getFullname(), bean.getCamp(), bean.getRolename())); + String acceptHtml = ""; + if (bean.getAccept() == null) { + acceptHtml = ""; + } else if (bean.getAccept()) { + acceptHtml = ""; + } else { + acceptHtml = ""; + } + buf.append(String.format("", + acceptHtml, linkURL, bean.getPkPerson(), bean.getFullname(), bean.getCamp(), bean.getRolename())); } buf.append("
DabeiNameFreizeitRolle
%s%s%s
%s%s%s%s
"); return buf.toString(); diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/impl/PersonGateway.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/impl/PersonGateway.java index efa4888..169e3be 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/impl/PersonGateway.java +++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/impl/PersonGateway.java @@ -140,6 +140,7 @@ public class PersonGateway { .set(T_PERSON.EMAIL, bean.getEmail()) .set(T_PERSON.COMMENT, bean.getComment()) .set(T_PERSON.ACCEPT, bean.getAccept()) + .set(T_PERSON.CAMPROLE, bean.getCamprole()) .where(T_PERSON.PK.eq(bean.getPk())); // @formatter:on LOGGER.debug(sql.toString()); diff --git a/src/main/resources/templates/confirmation/person.html b/src/main/resources/templates/confirmation/person.html index af68a8a..273fb2d 100644 --- a/src/main/resources/templates/confirmation/person.html +++ b/src/main/resources/templates/confirmation/person.html @@ -89,7 +89,7 @@
- @@ -112,11 +112,14 @@
- +
+ + + + + + +