#92 : DataTransferAuditPageRest.kt
plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt Classe Kotlin, plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt 134 lignes · 101 code · 26 commentaires · 7 vides
Objectif : Fichier source : plugins/datatransfer/rest/DataTransferAuditPageRest.kt. DataTransferAuditPageRest.kt fait partie de l'application open-source de gestion de projet ProjectForge.
Source (100 premières lignes)
/////////////////////////////////////////////////////////////////////////////
//
// Projet ProjectForge Community Edition
// www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
// Cette édition communautaire est un logiciel libre ; vous pouvez la redistribuer et/ou
// la modifier selon les termes de la GNU General Public License telle que publiée
// par la Free Software Foundation ; version 3 de la Licence.
//
// Cette édition communautaire est distribuée dans l'espoir qu'elle sera utile,
// mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de
// QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la GNU General
// Public License pour plus de détails.
//
// Vous devriez avoir reçu une copie de la GNU General Public License avec
// ce programme ; sinon, consultez http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////
package org.projectforge.plugins.datatransfer.rest
import org.projectforge.framework.i18n.translate
import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext
import org.projectforge.framework.utils.NumberHelper
import org.projectforge.plugins.datatransfer.DataTransferAreaDao
import org.projectforge.plugins.datatransfer.DataTransferAuditDO
import org.projectforge.plugins.datatransfer.DataTransferAuditDao
import org.projectforge.rest.config.Rest
import org.projectforge.rest.core.AbstractDynamicPageRest
import org.projectforge.rest.dto.FormLayoutData
import org.projectforge.ui.*
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import jakarta.servlet.http.HttpServletRequest
/**
* Page de la zone de transfert de données avec liste des pièces jointes (incluant téléchargement, upload et édition).
*/
@RestController
@RequestMapping("${Rest.URL}/datatransferaudit")
class DataTransferAuditPageRest : AbstractDynamicPageRest() {
@Autowired
private lateinit var dataTransferAreaDao: DataTransferAreaDao
@Autowired
private lateinit var dataTransferAuditDao: DataTransferAuditDao
class AreaAuditData(
var area: DataTransferArea? = null,
val auditEntries: List<DataTransferAuditDO>? = null,
val downloadAuditEntries: List<DataTransferAuditDO>? = null,
)
@GetMapping("dynamic")
fun getForm(request: HttpServletRequest, @RequestParam("id") idString: String?): FormLayoutData {
var id = NumberHelper.parseLong(idString)
if (id == -1L) {
// la boîte personnelle de l'utilisateur connecté est demandée :
id = dataTransferAreaDao.ensurePersonalBox(ThreadLocalUserContext.loggedInUserId!!)?.id
}
id ?: throw IllegalAccessException("Le paramètre id n'est pas un entier ou aucune boîte personnelle trouvée.")
val areaDO = dataTransferAreaDao.find(id)!!
val area = DataTransferArea()
area.copyFrom(areaDO)
val areaId = area.id
requireNotNull(areaId)
val layout = UILayout("plugins.datatransfer.audit")
val events = dataTransferAuditDao.getEntriesByAreaId(areaId)
val formData =
AreaAuditData(
area,
events?.filter { !DataTransferAuditDao.downloadEventTypes.contains(it.eventType) },
events?.filter { DataTransferAuditDao.downloadEventTypes.contains(it.eventType) },
)
UIFieldset(12, "plugins.datatransfer.audit.events").let { fieldset ->
layout.add(fieldset)
val grid = UIAgGrid("auditEntries")
initAGGrid(grid)
fieldset.add(grid)
}
UIFieldset(12, "plugins.datatransfer.audit.downloadEvents").let { fieldset ->
layout.add(fieldset)
val grid = UIAgGrid("downloadAuditEntries")
initAGGrid(grid, false)
fieldset.add(grid)
}
LayoutUtils.process(layout)
return FormLayoutData(formData, layout, createServerData(request))
}
private fun initAGGrid(agGrid: UIAgGrid, editAction: Boolean = true) {
agGrid.add(
UIAgGridColumnDef(
Historique Git
868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
1b50060c3 BaseDao : renommé : get -> find, save -> insert, getList -> select, load -> select
67805f2fc ThreadLocalUserContext.user -> ThreadLocalUserContext.loggedInUser (renommé pour éviter les malentendus dans le code).
4c04cfd65 CHANGEMENT MAJEUR ! Migration des identifiants entiers vers des identifiants Long (y compris les clés étrangères, etc.)
868d6abb7
2025 -> 2026868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
index 3db14500c..9ca87ba84 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
@@ -3,7 +3,7 @@
// Projet ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
63081666f
En-têtes des fichiers source : 2024 -> 2025.63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
index 8a862e14d..3db14500c 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
@@ -3,7 +3,7 @@
// Projet ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
1b50060c3
BaseDao : renommé : get -> find, save -> insert, getList -> select, load -> select1b50060c3a4b099ec07fd85d28f514b101da4d29
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
index e6c740406..8a862e14d 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
@@ -66,7 +66,7 @@ class DataTransferAuditPageRest : AbstractDynamicPageRest() {
id = dataTransferAreaDao.ensurePersonalBox(ThreadLocalUserContext.loggedInUserId!!)?.id
}
id ?: throw IllegalAccessException("Le paramètre id n'est pas un entier ou aucune boîte personnelle trouvée.")
- val areaDO = dataTransferAreaDao.getById(id)!!
+ val areaDO = dataTransferAreaDao.find(id)!!
val area = DataTransferArea()
area.copyFrom(areaDO)
val areaId = area.id 67805f2fc
ThreadLocalUserContext.user -> ThreadLocalUserContext.loggedInUser (renommé pour éviter les malentendus dans le code).67805f2fc1f3e6a6393accb4a757a8f4049b001c
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
index 616a0a91d..e6c740406 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
@@ -63,7 +63,7 @@ class DataTransferAuditPageRest : AbstractDynamicPageRest() {
var id = NumberHelper.parseLong(idString)
if (id == -1L) {
// la boîte personnelle de l'utilisateur connecté est demandée :
- id = dataTransferAreaDao.ensurePersonalBox(ThreadLocalUserContext.userId!!)?.id
+ id = dataTransferAreaDao.ensurePersonalBox(ThreadLocalUserContext.loggedInUserId!!)?.id
}
id ?: throw IllegalAccessException("Le paramètre id n'est pas un entier ou aucune boîte personnelle trouvée.")
val areaDO = dataTransferAreaDao.getById(id)!! 4c04cfd65
CHANGEMENT MAJEUR ! Migration des identifiants entiers vers des identifiants Long (y compris les clés étrangères, etc.)4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
index 1cf26da13..616a0a91d 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/rest/DataTransferAuditPageRest.kt
@@ -60,8 +60,8 @@ class DataTransferAuditPageRest : AbstractDynamicPageRest() {
@GetMapping("dynamic")
fun getForm(request: HttpServletRequest, @RequestParam("id") idString: String?): FormLayoutData {
- var id = NumberHelper.parseInteger(idString)
- if (id == -1) {
+ var id = NumberHelper.parseLong(idString)
+ if (id == -1L) {
// la boîte personnelle de l'utilisateur connecté est demandée :
id = dataTransferAreaDao.ensurePersonalBox(ThreadLocalUserContext.userId!!)?.id
}