diff --git a/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppController.java b/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppController.java index 7bfd100..5b49225 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppController.java +++ b/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppController.java @@ -40,6 +40,7 @@ public class AppController extends CommonController { model.addAttribute("app", service.getApp(pkApp)); model.addAttribute("workpackages", service.getWorkpackages()); model.addAttribute("linked", service.getWorkpackageApps(pkApp)); + model.addAttribute("bundleMap", service.getBundleMap()); return "/projectmanagement/app/assign"; } diff --git a/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppRepository.java b/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppRepository.java index 926571e..3eba221 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppRepository.java +++ b/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppRepository.java @@ -1,10 +1,13 @@ package de.jottyfan.timetrack.modules.projectmanagement; import static de.jottyfan.timetrack.db.project.Tables.T_APP; +import static de.jottyfan.timetrack.db.project.Tables.T_BUNDLE; import static de.jottyfan.timetrack.db.project.Tables.T_WORKPACKAGE; import static de.jottyfan.timetrack.db.project.Tables.T_WORKPACKAGE_APP; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.jooq.DSLContext; import org.jooq.DeleteConditionStep; @@ -16,6 +19,7 @@ import org.jooq.impl.DSL; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; +import de.jottyfan.timetrack.db.project.tables.records.TBundleRecord; import de.jottyfan.timetrack.db.project.tables.records.TWorkpackageAppRecord; import de.jottyfan.timetrack.modules.projectmanagement.model.AppBean; import de.jottyfan.timetrack.modules.projectmanagement.model.WorkpackageAppBean; @@ -109,7 +113,7 @@ public class AppRepository { .where(T_WORKPACKAGE_APP.FK_WORKPACKAGE.eq(pkWorkpackage)) .and(T_WORKPACKAGE_APP.FK_APP.eq(pkApp)); // @formatter:on - Integer pkWorkpackageApp = sql.fetchOne(T_WORKPACKAGE_APP.PK_WORKPACKAGE_APP); + Integer pkWorkpackageApp = sql.fetchOne(T_WORKPACKAGE_APP.PK_WORKPACKAGE_APP); if (pkWorkpackageApp == null) { InsertValuesStep2 sql2 = jooq // @formatter:off @@ -128,4 +132,15 @@ public class AppRepository { sql2.execute(); } } + + /** + * get the bundle map; the key is the ID of the bundle + * + * @return a map; an empty map at least + */ + public Map getBundleMap() { + Map map = new HashMap<>(); + jooq.selectFrom(T_BUNDLE).fetchInto(TBundleRecord.class).forEach(b -> map.put(b.getPkBundle(), b)); + return map; + } } diff --git a/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppService.java b/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppService.java index bb9f4ec..2d6bd6f 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppService.java +++ b/src/main/java/de/jottyfan/timetrack/modules/projectmanagement/AppService.java @@ -1,10 +1,12 @@ package de.jottyfan.timetrack.modules.projectmanagement; import java.util.List; +import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import de.jottyfan.timetrack.db.project.tables.records.TBundleRecord; import de.jottyfan.timetrack.modules.projectmanagement.model.AppBean; import de.jottyfan.timetrack.modules.projectmanagement.model.WorkpackageAppBean; import de.jottyfan.timetrack.modules.projectmanagement.model.WorkpackageBean; @@ -38,5 +40,9 @@ public class AppService { public void toggleWorkpackageAppLinkage(Integer pkWorkpackage, Integer pkApp) { repository.toggleWorkpackageAppLinkage(pkWorkpackage, pkApp); } + + public Map getBundleMap() { + return repository.getBundleMap(); + } } diff --git a/src/main/resources/templates/projectmanagement/app/assign.html b/src/main/resources/templates/projectmanagement/app/assign.html index 03572e7..b9e98db 100644 --- a/src/main/resources/templates/projectmanagement/app/assign.html +++ b/src/main/resources/templates/projectmanagement/app/assign.html @@ -10,8 +10,21 @@
-
-
+
Name
+
+
Beschreibung
+
+
Basisfunktion
+
+
URL der Entwicklung
+
+
Ersetzt durch andere App
+
+ +
+
Bundle
+
+