diff --git a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/LabData.kt b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/LabData.kt index 9e4c4fe..84332b4 100644 --- a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/LabData.kt +++ b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/LabData.kt @@ -108,6 +108,7 @@ enum class ReferenceGenome(val value: String) { } interface LabDataRepository : CrudRepository { + fun getById(id: Long): LabData? fun findByDonorId(donorId: Long): MutableList fun countLabDataByDonorIdIsNull(): Long fun findByEinsendenummer(einsendenummer: String): LabData diff --git a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataController.kt b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataController.kt index e34add3..f7b2e06 100644 --- a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataController.kt +++ b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataController.kt @@ -18,7 +18,13 @@ class LabDataController( fun getAllLabData(@PathVariable donorId: Long, model: Model): String { model.addAttribute("labdatas", allLabDatasByDonorId(donorId)) model.addAttribute("labdataprofiles", labDataProfileRepository.findAll()) - return "labdatas" + return "labdatas/index" + } + + @GetMapping(path = ["{labdataId}/kits"]) + fun getLabDataKits(@PathVariable labdataId: Long, model: Model): String { + model.addAttribute("labdata", labDataRepository.getById(labdataId)) + return "labdatas/kits" } @PostMapping @@ -26,7 +32,7 @@ class LabDataController( labDataRepository.save(LabData(donorId = donorId)) model.addAttribute("labdatas", allLabDatasByDonorId(donorId)) model.addAttribute("labdataprofiles", labDataProfileRepository.findAll()) - return "labdatas" + return "labdatas/index" } @PutMapping(path = ["{labdataId}"]) @@ -34,7 +40,7 @@ class LabDataController( labDataRepository.save(labData) model.addAttribute("labdatas", allLabDatasByDonorId(donorId)) model.addAttribute("labdataprofiles", labDataProfileRepository.findAll()) - return "labdatas" + return "labdatas/index" } @DeleteMapping(path = ["{labdataId}"]) @@ -42,7 +48,7 @@ class LabDataController( labDataRepository.deleteById(labdataId) model.addAttribute("labdatas", allLabDatasByDonorId(donorId)) model.addAttribute("labdataprofiles", labDataProfileRepository.findAll()) - return "labdatas" + return "labdatas/index" } private fun allLabDatasByDonorId(donorId: Long): List { diff --git a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataProfileController.kt b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataProfileController.kt index 8a13fe3..556d57f 100644 --- a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataProfileController.kt +++ b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/LabDataProfileController.kt @@ -2,6 +2,7 @@ package dev.pcvolkmer.onco.grzmetadataprocessor.web import dev.pcvolkmer.onco.grzmetadataprocessor.data.LabDataProfile import dev.pcvolkmer.onco.grzmetadataprocessor.data.LabDataProfileRepository +import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Controller import org.springframework.ui.Model import org.springframework.web.bind.annotation.* @@ -14,7 +15,6 @@ class LabDataProfileController( @GetMapping fun getAllLabDataProfiles(model: Model): String { - println(repository.findAll().sortedByDescending { it.id }) model.addAttribute("labdataprofiles", repository.findAll().sortedByDescending { it.id }) return "labdataprofiles" } @@ -26,15 +26,21 @@ class LabDataProfileController( return "labdataprofiles" } + @GetMapping(path = ["{labdataProfileId}"]) + fun getLabDataProfile(@PathVariable labdataProfileId: Long, model: Model): String { + model.addAttribute("profile", repository.findByIdOrNull(labdataProfileId)) + return "labdataprofile" + } + @PutMapping(path = ["{labdataProfileId}"]) - fun putLabData(@PathVariable labdataProfileId: Long, labDataProfile: LabDataProfile, model: Model): String { + fun putLabDataProfile(@PathVariable labdataProfileId: Long, labDataProfile: LabDataProfile, model: Model): String { repository.save(labDataProfile) model.addAttribute("labdataprofiles", repository.findAll().sortedByDescending { it.id }) return "labdataprofiles" } @DeleteMapping(path = ["{labdataProfileId}"]) - fun deleteLabData(@PathVariable labdataProfileId: Long, model: Model): String { + fun deleteLabDataProfile(@PathVariable labdataProfileId: Long, model: Model): String { repository.deleteById(labdataProfileId) model.addAttribute("labdataprofiles", repository.findAll().sortedByDescending { it.id }) return "labdataprofiles" diff --git a/src/main/resources/templates/casemenu.html b/src/main/resources/templates/casemenu.html index 71e75e4..5a0f50c 100644 --- a/src/main/resources/templates/casemenu.html +++ b/src/main/resources/templates/casemenu.html @@ -2,7 +2,7 @@