diff --git a/.project b/.project
index ebcb21c..f2a18a9 100644
--- a/.project
+++ b/.project
@@ -25,6 +25,11 @@
+
+ org.springframework.ide.eclipse.boot.validation.springbootbuilder
+
+
+
org.eclipse.jdt.core.javanature
diff --git a/.settings/org.springframework.ide.eclipse.prefs b/.settings/org.springframework.ide.eclipse.prefs
new file mode 100644
index 0000000..a12794d
--- /dev/null
+++ b/.settings/org.springframework.ide.eclipse.prefs
@@ -0,0 +1,2 @@
+boot.validation.initialized=true
+eclipse.preferences.version=1
diff --git a/build.gradle b/build.gradle
index cdd526a..3e2bd9f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,6 +1,6 @@
plugins {
- id 'org.springframework.boot' version '3.1.5'
- id "io.spring.dependency-management" version "1.1.3"
+ id 'org.springframework.boot' version '3.2.1'
+ id "io.spring.dependency-management" version "1.1.4"
id 'java'
id 'war'
id 'eclipse'
@@ -8,7 +8,7 @@ plugins {
}
group = 'de.jottyfan.camporganizer'
-version = '0.6.5'
+version = '0.6.6'
description = """CampOrganizer2"""
@@ -41,12 +41,12 @@ war {
}
dependencies {
- implementation 'org.apache.logging.log4j:log4j-api:2.21.0'
- implementation 'org.apache.logging.log4j:log4j-core:2.21.0'
- implementation 'org.apache.logging.log4j:log4j-to-slf4j:2.21.0'
+ implementation 'org.apache.logging.log4j:log4j-api:2.22.0'
+ implementation 'org.apache.logging.log4j:log4j-core:2.22.0'
+ implementation 'org.apache.logging.log4j:log4j-to-slf4j:2.22.0'
implementation 'org.webjars:bootstrap:5.3.2'
- implementation 'org.webjars:font-awesome:6.4.2'
+ implementation 'org.webjars:font-awesome:6.5.1'
implementation 'org.webjars:jquery:3.7.1'
implementation 'org.webjars:popper.js:2.11.7'
implementation 'org.webjars:datatables:1.13.5'
@@ -55,9 +55,9 @@ dependencies {
implementation 'net.sf.biweekly:biweekly:0.6.7'
// for using the keycloak rest interface
- implementation 'org.keycloak:keycloak-server-spi:22.0.4'
- implementation 'org.keycloak:keycloak-admin-client:22.0.4'
- implementation 'org.jboss.resteasy:resteasy-client:6.2.5.Final'
+ implementation 'org.keycloak:keycloak-server-spi:23.0.3'
+ implementation 'org.keycloak:keycloak-admin-client:23.0.3'
+ implementation 'org.jboss.resteasy:resteasy-client:6.2.6.Final'
// backward compatibility until the complete registration is converted to keycloak
implementation 'org.jasypt:jasypt:1.9.3'
@@ -66,13 +66,13 @@ dependencies {
implementation 'com.rometools:rome:2.1.0'
// mail support
- implementation 'commons-validator:commons-validator:1.7'
+ implementation 'commons-validator:commons-validator:1.8.0'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-jooq'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation "org.springframework.boot:spring-boot-starter-oauth2-client"
- implementation 'org.springframework.security:spring-security-oauth2-authorization-server:1.1.3'
+ implementation 'org.springframework.security:spring-security-oauth2-authorization-server:1.2.1'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
@@ -80,7 +80,7 @@ dependencies {
implementation 'de.jottyfan:COJooq:2023.03'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0'
- implementation 'commons-io:commons-io:2.14.0'
+ implementation 'commons-io:commons-io:2.15.1'
runtimeOnly 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java
index 25016c1..db1a989 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java
@@ -74,7 +74,7 @@ public class AdminController extends CommonController {
}
@GetMapping("/admin/document/edit/{id}")
- public String prepareAddDocument(@PathVariable Integer id, Model model, HttpServletRequest request) {
+ public String prepareAddDocument(@PathVariable("id") Integer id, Model model, HttpServletRequest request) {
model.addAttribute("bean", service.getDocument(id));
return "/admin/document_edit";
}
@@ -92,7 +92,7 @@ public class AdminController extends CommonController {
}
@GetMapping("/admin/document/delete/{id}")
- public String deleteDocument(@PathVariable Integer id, Model model, HttpServletRequest request) {
+ public String deleteDocument(@PathVariable("id") Integer id, Model model, HttpServletRequest request) {
service.deleteDocument(id);
return "redirect:/admin/document";
}
@@ -111,7 +111,7 @@ public class AdminController extends CommonController {
}
@GetMapping("/admin/location/edit/{id}")
- public String prepareAddLocation(@PathVariable Integer id, Model model, HttpServletRequest request) {
+ public String prepareAddLocation(@PathVariable("id") Integer id, Model model, HttpServletRequest request) {
model.addAttribute("bean", service.getLocation(id));
model.addAttribute("documents", service.getLocationDocuments());
return "/admin/location_edit";
@@ -132,7 +132,7 @@ public class AdminController extends CommonController {
}
@GetMapping("/admin/location/delete/{id}")
- public String deleteLocation(@PathVariable Integer id, Model model, HttpServletRequest request) {
+ public String deleteLocation(@PathVariable("id") Integer id, Model model, HttpServletRequest request) {
service.deleteLocation(id);
return "redirect:/admin/location";
}
@@ -154,7 +154,7 @@ public class AdminController extends CommonController {
}
@GetMapping("/admin/camp/edit/{id}")
- public String prepareEditCamp(@PathVariable Integer id, Model model, HttpServletRequest request) {
+ public String prepareEditCamp(@PathVariable("id") Integer id, Model model, HttpServletRequest request) {
model.addAttribute("bean", service.getCamp(id));
model.addAttribute("documents", service.getCampDocuments());
model.addAttribute("locations", service.getLocations());
@@ -186,7 +186,7 @@ public class AdminController extends CommonController {
}
@GetMapping("/admin/camp/delete/{id}")
- public String deleteCamp(@PathVariable Integer id, Model model, HttpServletRequest request,
+ public String deleteCamp(@PathVariable("id") Integer id, Model model, HttpServletRequest request,
RedirectAttributes redirect) {
String error = service.deleteCamp(id);
redirect.addAttribute("error", error);
diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminPrivilegesController.java b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminPrivilegesController.java
index 4905aff..88788c5 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminPrivilegesController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminPrivilegesController.java
@@ -49,7 +49,7 @@ public class AdminPrivilegesController extends CommonController {
}
@GetMapping("/admin/privileges/rolebased/{role}")
- public String getRolebased(@PathVariable String role, Model model) {
+ public String getRolebased(@PathVariable("role") String role, Model model) {
model.addAttribute("list", service.getAllModules());
model.addAttribute("selected", role);
model.addAttribute("container", service.getPersonCampMappingByModule(EnumModule.valueOf(role)));
@@ -58,7 +58,7 @@ public class AdminPrivilegesController extends CommonController {
}
@GetMapping("/admin/privileges/campbased/{campid}")
- public String getCampbased(@PathVariable Integer campid, Model model) {
+ public String getCampbased(@PathVariable("campid") Integer campid, Model model) {
List list = service.getAllCamps();
model.addAttribute("list", list);
String campname = "?";
@@ -74,7 +74,7 @@ public class AdminPrivilegesController extends CommonController {
}
@GetMapping("/admin/privileges/userbased/{userid}")
- public String getUserbased(@PathVariable Integer userid, Model model) {
+ public String getUserbased(@PathVariable("userid") Integer userid, Model model) {
List list = service.getProfiles();
model.addAttribute("list", list);
String selected = "?";
@@ -90,13 +90,13 @@ public class AdminPrivilegesController extends CommonController {
}
@GetMapping("/admin/privileges/delete/{id}/{pagedest}")
- public String deleteFromCampProfile(@PathVariable Integer id, @PathVariable String pagedest) {
+ public String deleteFromCampProfile(@PathVariable("id") Integer id, @PathVariable("pagedest") String pagedest) {
service.deleteFromCampProfile(id);
return "redirect:" + pagedest.replace("_", "/");
}
@GetMapping("/admin/privileges/add/{pagedest}")
- public String prepareAdd(Model model, @PathVariable String pagedest) {
+ public String prepareAdd(Model model, @PathVariable("pagedest") String pagedest) {
model.addAttribute("pagedest", pagedest);
model.addAttribute("bean", new CampProfileBean());
model.addAttribute("profiles", service.getProfiles());
@@ -106,7 +106,7 @@ public class AdminPrivilegesController extends CommonController {
}
@PostMapping("/admin/privileges/insert/{pagedest}")
- public String insertCampProfile(@Valid @ModelAttribute("bean") CampProfileBean bean, final BindingResult bindingResult, @PathVariable String pagedest, Model model) {
+ public String insertCampProfile(@Valid @ModelAttribute("bean") CampProfileBean bean, final BindingResult bindingResult, @PathVariable("pagedest") String pagedest, Model model) {
if (bindingResult.hasErrors()) {
model.addAttribute("pagedest", pagedest);
model.addAttribute("profiles", service.getProfiles());
@@ -119,7 +119,7 @@ public class AdminPrivilegesController extends CommonController {
}
@GetMapping("/admin/privileges/abortinsert/{pagedest}")
- public String abortInsert(@PathVariable String pagedest) {
+ public String abortInsert(@PathVariable("pagedest") String pagedest) {
return "redirect:" + pagedest.replace("_", "/");
}
}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsController.java b/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsController.java
index 9d98036..e86d21b 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsController.java
@@ -39,7 +39,7 @@ public class BookingsController extends CommonController {
@GetMapping("/business/bookings/{id}")
@RolesAllowed({"business_booking"})
- public String getBooking(Model model, @PathVariable Integer id) {
+ public String getBooking(Model model, @PathVariable("id") Integer id) {
BookerBean bean = bookingsService.getBooker(id, getCurrentUser());
model.addAttribute("booker", bean);
model.addAttribute("addBean", new AddPaymentBean());
@@ -48,7 +48,7 @@ public class BookingsController extends CommonController {
@PostMapping("/business/bookings/payment/{id}")
@RolesAllowed({"business_booking"})
- public String addPayment(Model model, @ModelAttribute AddPaymentBean bean, @PathVariable Integer id) {
+ public String addPayment(Model model, @ModelAttribute("bean") AddPaymentBean bean, @PathVariable("id") Integer id) {
Double payment = bean.getPayment();
bookingsService.addPayment(id, payment);
return getBooking(model, id);
@@ -56,7 +56,7 @@ public class BookingsController extends CommonController {
@PostMapping("/business/bookings/listpayment/{id}")
@RolesAllowed({"business_booking"})
- public String addListPayment(Model model, @ModelAttribute AddPaymentBean bean, @PathVariable Integer id, @RequestParam(defaultValue = "") String search) {
+ public String addListPayment(Model model, @ModelAttribute("bean") AddPaymentBean bean, @PathVariable("id") Integer id, @RequestParam(defaultValue = "") String search) {
Double payment = bean.getPayment();
bookingsService.addPayment(id, payment);
LOGGER.debug("search is {}", search);
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsRepository.java b/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsRepository.java
index b76a929..47dee5e 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsRepository.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/bookings/BookingsRepository.java
@@ -2,7 +2,7 @@ package de.jottyfan.camporganizer.module.business.bookings;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PERSON;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PROFILE;
-import static de.jottyfan.camporganizer.db.jooq.Tables.T_SALESPROFILE;
+import static de.jottyfan.camporganizer.db.jooq.Tables.T_CAMPPROFILE;
import static de.jottyfan.camporganizer.db.jooq.Tables.V_CAMP;
import java.math.BigDecimal;
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import de.jottyfan.camporganizer.db.EnumConverter;
import de.jottyfan.camporganizer.db.jooq.enums.EnumCamprole;
+import de.jottyfan.camporganizer.db.jooq.enums.EnumModule;
import de.jottyfan.camporganizer.db.jooq.enums.EnumSex;
import de.jottyfan.camporganizer.db.jooq.tables.records.TPersonRecord;
import de.jottyfan.camporganizer.module.business.bookings.model.BookerBean;
@@ -55,8 +56,8 @@ public class BookingsRepository {
.select(T_PERSON.PK, T_PERSON.ACCEPT, T_PERSON.PAID, T_PERSON.FORENAME, T_PERSON.SURNAME, T_PERSON.CAMPROLE, T_PERSON.SEX, T_PERSON.CREATED, V_CAMP.NAME, V_CAMP.YEAR)
.from(T_PERSON)
.leftJoin(V_CAMP).on(V_CAMP.PK.eq(T_PERSON.FK_CAMP))
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.where(T_PROFILE.USERNAME.eq(username))
.orderBy(T_PERSON.CAMPROLE, T_PERSON.SEX, T_PERSON.SURNAME, T_PERSON.FORENAME);
// @formatter:on
@@ -108,8 +109,8 @@ public class BookingsRepository {
V_CAMP.PK)
.from(T_PERSON)
.leftJoin(V_CAMP).on(V_CAMP.PK.eq(T_PERSON.FK_CAMP))
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.where(T_PROFILE.USERNAME.eq(username))
.and(T_PERSON.PK.eq(id));
// @formatter:on
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/business/BusinessRepository.java b/src/main/java/de/jottyfan/camporganizer/module/business/business/BusinessRepository.java
index 0dca9e5..10d5d4b 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/business/BusinessRepository.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/business/BusinessRepository.java
@@ -4,7 +4,7 @@ import static de.jottyfan.camporganizer.db.jooq.Tables.T_CAMP;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_LOCATION;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PERSON;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PROFILE;
-import static de.jottyfan.camporganizer.db.jooq.Tables.T_SALESPROFILE;
+import static de.jottyfan.camporganizer.db.jooq.Tables.T_CAMPPROFILE;
import static de.jottyfan.camporganizer.db.jooq.Tables.V_CAMP_BUDGET;
import java.math.BigDecimal;
@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
+import de.jottyfan.camporganizer.db.jooq.enums.EnumModule;
import de.jottyfan.camporganizer.db.jooq.tables.records.TPersonRecord;
import de.jottyfan.camporganizer.module.business.business.model.BusinessBean;
import de.jottyfan.camporganizer.module.business.business.model.CampBudgetBean;
@@ -57,8 +58,8 @@ public class BusinessRepository {
V_CAMP_BUDGET.FK_CAMP)
.from(V_CAMP_BUDGET)
.leftJoin(T_CAMP).on(T_CAMP.PK.eq(V_CAMP_BUDGET.FK_CAMP))
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(V_CAMP_BUDGET.FK_CAMP))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(V_CAMP_BUDGET.FK_CAMP)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.where(T_PROFILE.USERNAME.eq(username))
.orderBy(T_CAMP.ARRIVE);
// @formatter:on
@@ -96,8 +97,8 @@ public class BusinessRepository {
.from(T_PERSON)
.leftJoin(T_CAMP).on(T_CAMP.PK.eq(T_PERSON.FK_CAMP))
.leftJoin(T_LOCATION).on(T_LOCATION.PK.eq(T_CAMP.FK_LOCATION))
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(T_CAMP.PK))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(T_CAMP.PK)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.where(T_PROFILE.USERNAME.eq(username));
// @formatter:on
LOGGER.debug(sql.toString());
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampController.java b/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampController.java
index aa21300..3c3e6f9 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampController.java
@@ -22,7 +22,7 @@ public class CampController extends CommonController {
@GetMapping("/business/camp/{id}")
@RolesAllowed({ "business" })
- public String getCamp(Model model, @PathVariable Integer id) {
+ public String getCamp(Model model, @PathVariable("id") Integer id) {
String username = super.getCurrentUser();
model.addAttribute("currentUser", username);
model.addAttribute("campId", id);
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampRepository.java b/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampRepository.java
index 78917e2..ffd4a21 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampRepository.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/camp/CampRepository.java
@@ -2,7 +2,7 @@ package de.jottyfan.camporganizer.module.business.camp;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PERSON;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PROFILE;
-import static de.jottyfan.camporganizer.db.jooq.Tables.T_SALESPROFILE;
+import static de.jottyfan.camporganizer.db.jooq.Tables.T_CAMPPROFILE;
import static de.jottyfan.camporganizer.db.jooq.Tables.V_CAMP;
import java.math.BigDecimal;
@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
import de.jottyfan.camporganizer.db.EnumConverter;
import de.jottyfan.camporganizer.db.jooq.enums.EnumCamprole;
+import de.jottyfan.camporganizer.db.jooq.enums.EnumModule;
import de.jottyfan.camporganizer.db.jooq.enums.EnumSex;
import de.jottyfan.camporganizer.module.business.camp.model.CampBean;
import de.jottyfan.camporganizer.module.business.camp.model.PersonBean;
@@ -54,8 +55,8 @@ public class CampRepository {
// @formatter:off
.select(V_CAMP.NAME, V_CAMP.YEAR, V_CAMP.ARRIVE, V_CAMP.DEPART, V_CAMP.LOCATION_NAME, V_CAMP.PRICE)
.from(V_CAMP)
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(V_CAMP.PK))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(V_CAMP.PK)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.where(V_CAMP.PK.eq(pk))
.and(T_PROFILE.USERNAME.eq(username));
// @formatter:on
@@ -85,8 +86,8 @@ public class CampRepository {
// @formatter:off
.select(T_PERSON.PK, T_PERSON.ACCEPT, T_PERSON.PAID, T_PERSON.FORENAME, T_PERSON.SURNAME, T_PERSON.CAMPROLE, T_PERSON.SEX, T_PERSON.CREATED)
.from(T_PERSON)
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(T_PERSON.FK_CAMP)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.where(T_PERSON.FK_CAMP.eq(pk))
.and(T_PROFILE.USERNAME.eq(username))
.orderBy(T_PERSON.CAMPROLE, T_PERSON.SEX, T_PERSON.SURNAME, T_PERSON.FORENAME);
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesController.java b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesController.java
new file mode 100644
index 0000000..30198e6
--- /dev/null
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesController.java
@@ -0,0 +1,64 @@
+package de.jottyfan.camporganizer.module.business.privileges;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import de.jottyfan.camporganizer.db.jooq.enums.EnumCamprole;
+import de.jottyfan.camporganizer.module.business.privileges.model.BusinessPrivilegesBean;
+import de.jottyfan.camporganizer.module.camplist.CommonController;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.validation.Valid;
+
+/**
+ *
+ * @author jotty
+ *
+ */
+@Controller
+public class BusinessPrivilegesController extends CommonController {
+
+ @Autowired
+ private BusinessPrivilegesService service;
+
+ @GetMapping("/business/privileges")
+ @RolesAllowed({ "admin" })
+ public String getIndex(Model model) {
+ String username = super.getCurrentUser();
+ model.addAttribute("currentUser", username);
+ model.addAttribute("privileges", service.getPrivileges());
+ model.addAttribute("profiles", service.getProfiles(EnumCamprole.director, EnumCamprole.teacher));
+ model.addAttribute("bean", new BusinessPrivilegesBean());
+ return "business/privileges";
+ }
+
+ @PostMapping("/business/privileges/add")
+ @RolesAllowed({ "admin" })
+ public String getAdd(@Valid @ModelAttribute("bean") BusinessPrivilegesBean bean, BindingResult br, Model model) {
+ if (br.hasErrors()) {
+ String username = super.getCurrentUser();
+ model.addAttribute("currentUser", username);
+ model.addAttribute("privileges", service.getPrivileges());
+ model.addAttribute("profiles", service.getProfiles(EnumCamprole.director, EnumCamprole.teacher));
+ return "business/privileges";
+ }
+ service.add(bean);
+ return "redirect:/business/privileges";
+ }
+
+ @GetMapping("/business/privileges/delete")
+ @RolesAllowed({ "admin" })
+ public String getDelete(@RequestParam("fkCamp") Integer fkCamp, @RequestParam("fkProfile") Integer fkProfile,
+ Model model) {
+ BusinessPrivilegesBean bean = new BusinessPrivilegesBean();
+ bean.setFkCamp(fkCamp);
+ bean.setFkProfile(fkProfile);
+ service.remove(bean, super.getCurrentUser());
+ return "redirect:/business/privileges";
+ }
+}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesRepository.java b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesRepository.java
similarity index 70%
rename from src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesRepository.java
rename to src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesRepository.java
index a927596..b2183ad 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesRepository.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesRepository.java
@@ -1,8 +1,8 @@
package de.jottyfan.camporganizer.module.business.privileges;
+import static de.jottyfan.camporganizer.db.jooq.Tables.T_CAMPPROFILE;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PERSON;
import static de.jottyfan.camporganizer.db.jooq.Tables.T_PROFILE;
-import static de.jottyfan.camporganizer.db.jooq.Tables.T_SALESPROFILE;
import static de.jottyfan.camporganizer.db.jooq.Tables.V_CAMP;
import java.time.LocalDateTime;
@@ -23,8 +23,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.jottyfan.camporganizer.db.jooq.tables.records.TSalesprofileRecord;
-import de.jottyfan.camporganizer.module.business.privileges.model.PrivilegesBean;
+import de.jottyfan.camporganizer.db.jooq.enums.EnumModule;
+import de.jottyfan.camporganizer.db.jooq.tables.records.TCampprofileRecord;
+import de.jottyfan.camporganizer.module.business.privileges.model.BusinessPrivilegesBean;
import de.jottyfan.camporganizer.module.business.privileges.model.ProfileBean;
/**
@@ -34,25 +35,25 @@ import de.jottyfan.camporganizer.module.business.privileges.model.ProfileBean;
*/
@Repository
@Transactional(transactionManager = "transactionManager")
-public class PrivilegesRepository {
- private static final Logger LOGGER = LogManager.getLogger(PrivilegesRepository.class);
+public class BusinessPrivilegesRepository {
+ private static final Logger LOGGER = LogManager.getLogger(BusinessPrivilegesRepository.class);
@Autowired
private DSLContext jooq;
- public List getPrivileges() {
+ public List getPrivileges() {
SelectSeekStep3, LocalDateTime, String, String> sql = jooq
// @formatter:off
.select(T_PROFILE.FORENAME, T_PROFILE.SURNAME, T_PROFILE.DUEDATE, T_PROFILE.USERNAME, T_PROFILE.PK, V_CAMP.PK, V_CAMP.NAME, V_CAMP.YEAR)
.from(V_CAMP)
- .leftJoin(T_SALESPROFILE).on(T_SALESPROFILE.FK_CAMP.eq(V_CAMP.PK))
- .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_SALESPROFILE.FK_PROFILE))
+ .leftJoin(T_CAMPPROFILE).on(T_CAMPPROFILE.FK_CAMP.eq(V_CAMP.PK)).and(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .leftJoin(T_PROFILE).on(T_PROFILE.PK.eq(T_CAMPPROFILE.FK_PROFILE))
.orderBy(V_CAMP.ARRIVE, T_PROFILE.SURNAME, T_PROFILE.FORENAME);
// @formatter:on
LOGGER.debug(sql.toString());
- List list = new ArrayList<>();
+ List list = new ArrayList<>();
for (Record8 r : sql.fetch()) {
- PrivilegesBean bean = new PrivilegesBean();
+ BusinessPrivilegesBean bean = new BusinessPrivilegesBean();
bean.setCampName(r.get(V_CAMP.NAME));
bean.setCampYear(r.get(V_CAMP.YEAR));
bean.setFkCamp(r.get(V_CAMP.PK));
@@ -93,25 +94,26 @@ public class PrivilegesRepository {
return list;
}
- public Integer add(PrivilegesBean bean) {
- InsertReturningStep sql = jooq
+ public Integer add(BusinessPrivilegesBean bean) {
+ InsertReturningStep sql = jooq
// @formatter:off
- .insertInto(T_SALESPROFILE, T_SALESPROFILE.FK_CAMP, T_SALESPROFILE.FK_PROFILE)
- .values(bean.getFkCamp(), bean.getFkProfile())
- .onConflict(T_SALESPROFILE.FK_CAMP, T_SALESPROFILE.FK_PROFILE)
+ .insertInto(T_CAMPPROFILE, T_CAMPPROFILE.FK_CAMP, T_CAMPPROFILE.FK_PROFILE, T_CAMPPROFILE.MODULE)
+ .values(bean.getFkCamp(), bean.getFkProfile(), EnumModule.business)
+ .onConflict(T_CAMPPROFILE.FK_CAMP, T_CAMPPROFILE.FK_PROFILE, T_CAMPPROFILE.MODULE)
.doNothing();
// @formatter:on
LOGGER.debug(sql.toString());
return sql.execute();
}
- public Integer remove(PrivilegesBean bean, String currentUser) {
- DeleteConditionStep sql = jooq
+ public Integer remove(BusinessPrivilegesBean bean, String currentUser) {
+ DeleteConditionStep sql = jooq
// @formatter:off
- .deleteFrom(T_SALESPROFILE)
- .where(T_SALESPROFILE.FK_CAMP.eq(bean.getFkCamp()))
- .and(T_SALESPROFILE.FK_PROFILE.eq(bean.getFkProfile()))
- .and(T_SALESPROFILE.FK_PROFILE.notIn(jooq
+ .deleteFrom(T_CAMPPROFILE)
+ .where(T_CAMPPROFILE.MODULE.eq(EnumModule.business))
+ .and(T_CAMPPROFILE.FK_CAMP.eq(bean.getFkCamp()))
+ .and(T_CAMPPROFILE.FK_PROFILE.eq(bean.getFkProfile()))
+ .and(T_CAMPPROFILE.FK_PROFILE.notIn(jooq
.select(T_PROFILE.PK)
.from(T_PROFILE)
.where(T_PROFILE.USERNAME.eq(currentUser))));
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesService.java b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesService.java
similarity index 82%
rename from src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesService.java
rename to src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesService.java
index c1e086c..e86a4d6 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesService.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/BusinessPrivilegesService.java
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
import de.jottyfan.camporganizer.db.jooq.enums.EnumCamprole;
import de.jottyfan.camporganizer.module.business.camp.model.CampBean;
-import de.jottyfan.camporganizer.module.business.privileges.model.PrivilegesBean;
+import de.jottyfan.camporganizer.module.business.privileges.model.BusinessPrivilegesBean;
import de.jottyfan.camporganizer.module.business.privileges.model.ProfileBean;
/**
@@ -20,14 +20,14 @@ import de.jottyfan.camporganizer.module.business.privileges.model.ProfileBean;
*
*/
@Service
-public class PrivilegesService {
+public class BusinessPrivilegesService {
@Autowired
- private PrivilegesRepository gateway;
+ private BusinessPrivilegesRepository gateway;
public Map getPrivileges() {
- List list = gateway.getPrivileges();
+ List list = gateway.getPrivileges();
Map camps = new HashMap<>();
- for (PrivilegesBean bean : list) {
+ for (BusinessPrivilegesBean bean : list) {
CampBean campBean = camps.get(bean.getFkCamp());
if (campBean == null) {
campBean = new CampBean();
@@ -55,11 +55,11 @@ public class PrivilegesService {
return gateway.getProfiles(allowed == null ? null : set);
}
- public void add(PrivilegesBean bean) {
+ public void add(BusinessPrivilegesBean bean) {
gateway.add(bean);
}
- public void remove(PrivilegesBean bean, String currentUser) {
+ public void remove(BusinessPrivilegesBean bean, String currentUser) {
gateway.remove(bean, currentUser);
}
}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesController.java b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesController.java
deleted file mode 100644
index 69bcc46..0000000
--- a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/PrivilegesController.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package de.jottyfan.camporganizer.module.business.privileges;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PostMapping;
-
-import de.jottyfan.camporganizer.db.jooq.enums.EnumCamprole;
-import de.jottyfan.camporganizer.module.business.privileges.model.PrivilegesBean;
-import de.jottyfan.camporganizer.module.camplist.CommonController;
-import jakarta.annotation.security.RolesAllowed;
-import jakarta.websocket.server.PathParam;
-
-/**
- *
- * @author jotty
- *
- */
-@Controller
-public class PrivilegesController extends CommonController {
-
- @Autowired
- private PrivilegesService privilegesService;
-
- @GetMapping("/business/privileges")
- @RolesAllowed({ "admin" })
- public String getIndex(Model model) {
- String username = super.getCurrentUser();
- model.addAttribute("currentUser", username);
- model.addAttribute("privileges", privilegesService.getPrivileges());
- model.addAttribute("profiles", privilegesService.getProfiles(EnumCamprole.director, EnumCamprole.teacher));
- model.addAttribute("bean", new PrivilegesBean());
- return "business/privileges";
- }
-
- @PostMapping("/business/privileges/add")
- @RolesAllowed({ "admin" })
- public String getAdd(@ModelAttribute PrivilegesBean bean, Model model) {
- privilegesService.add(bean);
- return getIndex(model);
- }
-
- @GetMapping("/business/privileges/delete")
- @RolesAllowed({ "admin" })
- public String getDelete(@PathParam(value = "fkCamp") Integer fkCamp,
- @PathParam(value = "fkProfile") Integer fkProfile, Model model) {
- PrivilegesBean bean = new PrivilegesBean();
- bean.setFkCamp(fkCamp);
- bean.setFkProfile(fkProfile);
- privilegesService.remove(bean, super.getCurrentUser());
- return getIndex(model);
- }
-}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/model/PrivilegesBean.java b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/model/BusinessPrivilegesBean.java
similarity index 94%
rename from src/main/java/de/jottyfan/camporganizer/module/business/privileges/model/PrivilegesBean.java
rename to src/main/java/de/jottyfan/camporganizer/module/business/privileges/model/BusinessPrivilegesBean.java
index 31894b3..23d8c4b 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/business/privileges/model/PrivilegesBean.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/business/privileges/model/BusinessPrivilegesBean.java
@@ -3,19 +3,23 @@ package de.jottyfan.camporganizer.module.business.privileges.model;
import java.io.Serializable;
import java.time.LocalDateTime;
+import jakarta.validation.constraints.NotNull;
+
/**
*
* @author jotty
*
*/
-public class PrivilegesBean implements Serializable {
+public class BusinessPrivilegesBean implements Serializable {
private static final long serialVersionUID = 1L;
private String forename;
private String surname;
private String username;
private LocalDateTime duedate;
+ @NotNull
private Integer fkProfile;
+ @NotNull
private Integer fkCamp;
private String campName;
private Double campYear;
diff --git a/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java b/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java
index 0bd2e4f..f530121 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/camplist/CamplistController.java
@@ -42,7 +42,7 @@ public class CamplistController extends CommonController {
}
@PostMapping("/dashboard/update")
- public String updateBooking(Model model, @ModelAttribute BookingBean bean) {
+ public String updateBooking(Model model, @ModelAttribute("bean") BookingBean bean) {
service.update(bean);
return dashboard(model);
}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/board/ConfirmationBoardController.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/board/ConfirmationBoardController.java
index 97d4e88..6ef89fa 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/board/ConfirmationBoardController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/board/ConfirmationBoardController.java
@@ -32,7 +32,7 @@ public class ConfirmationBoardController extends CommonController {
}
@GetMapping("/confirmation/board/camp/{id}")
- public String getCamplist(Model model, @PathVariable Integer id, Principal principal) {
+ public String getCamplist(Model model, @PathVariable("id") Integer id, Principal principal) {
model.addAttribute("campId", id);
model.addAttribute("campStartDate", service.getCampStartDate(super.getCurrentUser(principal), id));
model.addAttribute("persons", service.loadPersonList(super.getCurrentUser(principal), id));
@@ -40,7 +40,7 @@ public class ConfirmationBoardController extends CommonController {
}
@GetMapping("/confirmation/board/download/{id}")
- public void getCsvOfAll(@PathVariable Integer id, Principal principal, HttpServletResponse response)
+ public void getCsvOfAll(@PathVariable("id") Integer id, Principal principal, HttpServletResponse response)
throws IOException {
response.setContentType("text/csv");
String filename = String.format("camplist_%d_%s.csv", id,
diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/SearchController.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/SearchController.java
index 1a2a40a..95be588 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/SearchController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/confirmation/SearchController.java
@@ -4,11 +4,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import de.jottyfan.camporganizer.module.camplist.CommonController;
import jakarta.servlet.http.HttpServletRequest;
-import jakarta.websocket.server.PathParam;
/**
*
@@ -26,7 +26,7 @@ public class SearchController extends CommonController {
@GetMapping("/confirmation/search")
@ResponseBody
- public String search(@PathParam(value = "needle") String needle, Model model) {
+ public String search(@RequestParam("needle") String needle, Model model) {
return service.search(needle, request.getRequestURI().replace("search", "person"), super.getCurrentUser());
}
}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/PersonController.java b/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/PersonController.java
index 33d89e4..6cc1319 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/PersonController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/confirmation/person/PersonController.java
@@ -23,7 +23,7 @@ public class PersonController extends CommonController {
private PersonService personService;
@GetMapping("/confirmation/person/{pk}")
- public String getIndex(Model model, @PathVariable Integer pk) {
+ public String getIndex(Model model, @PathVariable("pk") Integer pk) {
String username = super.getCurrentUser();
model.addAttribute("currentUser", username);
model.addAttribute("person", personService.getPerson(username, pk));
@@ -33,7 +33,7 @@ public class PersonController extends CommonController {
}
@PostMapping("/confirmation/person/update")
- public String doUpdate(@ModelAttribute PersonBean bean, Model model) {
+ public String doUpdate(@ModelAttribute("bean") PersonBean bean, Model model) {
String username = super.getCurrentUser();
personService.updatePerson(bean, username);
return "redirect:/confirmation";
diff --git a/src/main/java/de/jottyfan/camporganizer/module/document/DocumentController.java b/src/main/java/de/jottyfan/camporganizer/module/document/DocumentController.java
index d2d6e7e..2eac17d 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/document/DocumentController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/document/DocumentController.java
@@ -10,9 +10,8 @@ import org.springframework.core.io.Resource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
+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 org.springframework.web.bind.annotation.RestController;
import de.jottyfan.camporganizer.module.camplist.CommonController;
@@ -28,8 +27,8 @@ public class DocumentController extends CommonController {
@Autowired
private DocumentService service;
- @RequestMapping(path = "/document/{id}", method = RequestMethod.GET)
- public ResponseEntity getDocument(@PathVariable Integer id, HttpServletResponse response) {
+ @GetMapping("/document/{id}")
+ public ResponseEntity getDocument(@PathVariable("id") Integer id, HttpServletResponse response) {
DownloadBean bean = service.getDocument(id);
if (bean != null) {
byte[] decoded = Base64.getDecoder().decode(bean.getContent());
diff --git a/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java b/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java
index a90715c..2e92140 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java
@@ -72,19 +72,19 @@ public class RegistrationController extends CommonController {
}
@GetMapping("/registration/cancel/{id}")
- public String cancellation(@PathVariable Integer id, final Model model) {
+ public String cancellation(@PathVariable("id") Integer id, final Model model) {
model.addAttribute("bean", service.getBooking(id));
return "/registration/cancellation";
}
@GetMapping("/registration/remove/{id}")
- public String remove(@PathVariable Integer id, final Model model) {
+ public String remove(@PathVariable("id") Integer id, final Model model) {
service.removeBooking(id);
return "redirect:/dashboard";
}
@GetMapping("/registration/toggleconsent/{id}")
- public String toggleConsent(@PathVariable Integer id, final Model model) {
+ public String toggleConsent(@PathVariable("id") Integer id, final Model model) {
service.toggleConsent(id);
return "redirect:/dashboard";
}
diff --git a/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationService.java b/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationService.java
index 97fb808..80fa902 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationService.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationService.java
@@ -1,6 +1,5 @@
package de.jottyfan.camporganizer.module.registration;
-import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@@ -90,7 +89,7 @@ public class RegistrationService {
/**
* get already registered entries from the database
- *
+ *
* @param currentUser the name of the current user; may be null
* @return the list or null if current user is null
*/
diff --git a/src/main/java/de/jottyfan/camporganizer/module/rss/RssController.java b/src/main/java/de/jottyfan/camporganizer/module/rss/RssController.java
index 8e8e84d..feeefd3 100644
--- a/src/main/java/de/jottyfan/camporganizer/module/rss/RssController.java
+++ b/src/main/java/de/jottyfan/camporganizer/module/rss/RssController.java
@@ -21,7 +21,7 @@ public class RssController extends CommonController {
private RssService service;
@GetMapping("/rss/{recipientCode}")
- public void toRssDirectly(@PathVariable String recipientCode, HttpServletResponse response) {
+ public void toRssDirectly(@PathVariable("recipientCode") String recipientCode, HttpServletResponse response) {
service.getRss(recipientCode, response);
}
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index e93b2db..9eb60e0 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,5 +1,5 @@
# database credentials from defined config file
-spring.config.import = /etc/CampOrganizer2/prod.properties
+spring.config.import = /etc/camporganizer.properties
# define overwriteable arguments
spring.datasource.driver-class-name = ${spring.datasource.driver-class-name:org.postgresql.Driver}
@@ -35,7 +35,3 @@ spring.mail.protocol = ${spring.mail.protocol}
spring.mail.test-connection = ${spring.mail.test-connection}
spring.mail.properties.mail.smtp.auth = ${spring.mail.properties.mail.smtp.auth}
spring.mail.properties.mail.smtp.starttls.enable = ${spring.mail.properties.mail.smtp.starttls.enable}
-
-# for development only
-server.port = 8081
-
diff --git a/src/main/resources/templates/business/privileges.html b/src/main/resources/templates/business/privileges.html
index 8e3976b..06ff421 100644
--- a/src/main/resources/templates/business/privileges.html
+++ b/src/main/resources/templates/business/privileges.html
@@ -45,6 +45,7 @@
+
-
content