diff --git a/build.gradle b/build.gradle index 0e8e119..73cb14a 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ plugins { } group = 'de.jottyfan.camporganizer' -version = '0.6.8' +version = '0.6.9' description = """CampOrganizer2""" @@ -42,7 +42,7 @@ war { dependencies { implementation 'org.jooq:jooq:3.19.1' - implementation 'de.jottyfan:COJooq:2023.12.1' + implementation 'de.jottyfan:COJooq:2024.02.23' implementation 'org.apache.logging.log4j:log4j-api:2.22.0' implementation 'org.apache.logging.log4j:log4j-core:2.22.0' diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java index 9e9d7f2..6de8e92 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java +++ b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java @@ -13,12 +13,10 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; -import jakarta.validation.Valid; -import java.util.Iterator; - import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jooq.Condition; @@ -27,7 +25,7 @@ import org.jooq.DeleteConditionStep; import org.jooq.Field; import org.jooq.InsertResultStep; import org.jooq.InsertReturningStep; -import org.jooq.InsertValuesStep11; +import org.jooq.InsertValuesStep15; import org.jooq.InsertValuesStep3; import org.jooq.Record4; import org.jooq.Record5; @@ -61,6 +59,7 @@ import de.jottyfan.camporganizer.module.admin.model.LocationBean; import de.jottyfan.camporganizer.module.admin.model.PrivilegesContainerBean; import de.jottyfan.camporganizer.module.admin.model.ProfileBean; import de.jottyfan.camporganizer.module.camplist.model.LambdaResultWrapper; +import jakarta.validation.Valid; /** * @@ -439,7 +438,7 @@ public class AdminRepository { LocalDateTime arrive = arriveDate == null ? null : arriveDate.atStartOfDay(); LocalDateTime depart = departDate == null ? null : departDate.atStartOfDay(); if (bean.getPk() == null) { - InsertValuesStep11 sql = DSL + InsertValuesStep15 sql = DSL .using(t) // @formatter:off .insertInto(T_CAMP, @@ -453,9 +452,14 @@ public class AdminRepository { T_CAMP.MAX_AGE, T_CAMP.MIN_AGE, T_CAMP.NAME, - T_CAMP.PRICE) + T_CAMP.PRICE, + T_CAMP.BEDS_FEMALE, + T_CAMP.BEDS_MALE, + T_CAMP.BLOCKED_BEDS_FEMALE, + T_CAMP.BLOCKED_BEDS_MALE) .values(arrive, bean.getCountries(), depart, bean.getFkDocument(), bean.getFkLocation(), bean.getFkProfile(), - bean.getLockSales() != null ? bean.getLockSales() : false, bean.getMaxAge(), bean.getMinAge(), bean.getName(), bean.getPrice()); + bean.getLockSales() != null ? bean.getLockSales() : false, bean.getMaxAge(), bean.getMinAge(), bean.getName(), bean.getPrice(), + bean.getBedsFemale(), bean.getBedsMale(), bean.getBlockedBedsFemale(), bean.getBlockedBedsMale()); // @formatter:on LOGGER.debug(sql.toString()); sql.execute(); @@ -474,6 +478,10 @@ public class AdminRepository { .set(T_CAMP.MIN_AGE, bean.getMinAge()) .set(T_CAMP.NAME, bean.getName()) .set(T_CAMP.PRICE, bean.getPrice()) + .set(T_CAMP.BEDS_FEMALE, bean.getBedsFemale()) + .set(T_CAMP.BEDS_MALE, bean.getBedsMale()) + .set(T_CAMP.BLOCKED_BEDS_FEMALE, bean.getBlockedBedsFemale()) + .set(T_CAMP.BLOCKED_BEDS_MALE, bean.getBlockedBedsMale()) .where(T_CAMP.PK.eq(bean.getPk())); // @formatter:on LOGGER.debug(sql.toString()); diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/model/CampBean.java b/src/main/java/de/jottyfan/camporganizer/module/admin/model/CampBean.java index 9b51b0b..df355b8 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/admin/model/CampBean.java +++ b/src/main/java/de/jottyfan/camporganizer/module/admin/model/CampBean.java @@ -7,12 +7,12 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - import org.springframework.format.annotation.DateTimeFormat; import de.jottyfan.camporganizer.db.jooq.tables.records.TCampRecord; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; /** * @@ -45,6 +45,18 @@ public class CampBean implements Serializable { private String countries; @NotNull private String price; + @NotNull + @Min(value = 0) + private Integer bedsFemale; + @NotNull + @Min(value = 0) + private Integer bedsMale; + @NotNull + @Min(value = 0) + private Integer blockedBedsFemale; + @NotNull + @Min(value = 0) + private Integer blockedBedsMale; /** * generate a camp bean out of r @@ -71,6 +83,10 @@ public class CampBean implements Serializable { bean.setName(r.getName()); bean.setPk(r.getPk()); bean.setPrice(r.getPrice()); + bean.setBedsFemale(r.getBedsFemale()); + bean.setBedsMale(r.getBedsMale()); + bean.setBlockedBedsFemale(r.getBlockedBedsFemale()); + bean.setBlockedBedsMale(r.getBlockedBedsMale()); return bean; } @@ -272,4 +288,60 @@ public class CampBean implements Serializable { } this.countries = buf.toString(); } + + /** + * @return the bedsFemale + */ + public Integer getBedsFemale() { + return bedsFemale; + } + + /** + * @param bedsFemale the bedsFemale to set + */ + public void setBedsFemale(Integer bedsFemale) { + this.bedsFemale = bedsFemale; + } + + /** + * @return the bedsMale + */ + public Integer getBedsMale() { + return bedsMale; + } + + /** + * @param bedsMale the bedsMale to set + */ + public void setBedsMale(Integer bedsMale) { + this.bedsMale = bedsMale; + } + + /** + * @return the blockedBedsFemale + */ + public Integer getBlockedBedsFemale() { + return blockedBedsFemale; + } + + /** + * @param blockedBedsFemale the blockedBedsFemale to set + */ + public void setBlockedBedsFemale(Integer blockedBedsFemale) { + this.blockedBedsFemale = blockedBedsFemale; + } + + /** + * @return the blockedBedsMale + */ + public Integer getBlockedBedsMale() { + return blockedBedsMale; + } + + /** + * @param blockedBedsMale the blockedBedsMale to set + */ + public void setBlockedBedsMale(Integer blockedBedsMale) { + this.blockedBedsMale = blockedBedsMale; + } } diff --git a/src/main/resources/templates/admin/camp_edit.html b/src/main/resources/templates/admin/camp_edit.html index 694e6d5..b5e6190 100644 --- a/src/main/resources/templates/admin/camp_edit.html +++ b/src/main/resources/templates/admin/camp_edit.html @@ -119,6 +119,34 @@ +
+ +
+ [[${error}]]
+ +
+
+
+ +
+ [[${error}]]
+ +
+
+
+ +
+ [[${error}]]
+ +
+
+
+ +
+ [[${error}]]
+ +
+
diff --git a/src/main/resources/templates/fragments/camplist.html b/src/main/resources/templates/fragments/camplist.html index 5e74340..dd5ff04 100644 --- a/src/main/resources/templates/fragments/camplist.html +++ b/src/main/resources/templates/fragments/camplist.html @@ -14,8 +14,8 @@
- - + + + + +
+
Biblische Geschichten
Nachtwanderung
Gruppenspiele
Ausflüge
Überraschungen
@@ -38,6 +38,12 @@

+

+