EN · DE · RU · FR · ES

#232: MerlinTemplateDO.kt

plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt Clase Kotlin, plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt 144 líneas · 75 código · 48 comentarios · 21 en blanco
Propósito: Archivo fuente: projectforge/plugins/merlin/MerlinTemplateDO.kt. MerlinTemplateDO.kt es parte de la aplicación de gestión de proyectos de código abierto ProjectForge.

Fuente (primeras 100 líneas)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge tiene doble licencia.
//
// Esta edición comunitaria es software libre; puedes redistribuirla y/o
// modificarla bajo los términos de la Licencia Pública General GNU según lo publicado
// por la Free Software Foundation; versión 3 de la Licencia.
//
// Esta edición comunitaria se distribuye con la esperanza de que sea útil,
// pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
// COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia General
// Pública de GNU para más detalles.
//
// Deberías haber recibido una copia de la Licencia Pública General GNU junto con
// este programa; si no, consulta http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.plugins.merlin

import com.fasterxml.jackson.annotation.JsonIgnore
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed
import org.projectforge.common.anots.PropertyInfo
import org.projectforge.framework.jcr.AttachmentsInfo
import org.projectforge.Constants
import org.projectforge.framework.persistence.entities.AbstractBaseDO
import java.util.*
import jakarta.persistence.*
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.FullTextField
import org.projectforge.framework.persistence.history.NoHistory

/**
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
@Entity
@Indexed
@Table(name = "t_plugin_merlin_template")
open class MerlinTemplateDO : AbstractBaseDO<Long>(), AttachmentsInfo {
  @get:Id
  @get:GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hibernate_sequence")
  @get:Column(name = "pk")
  @PropertyInfo(i18nKey = "id")
  override var id: Long? = null

  @PropertyInfo(i18nKey = "plugins.merlin.name")
  @get:Column(length = 100, nullable = false)
  open var name: String? = null

  @PropertyInfo(i18nKey = "description")
  @FullTextField
  @get:Column(length = Constants.LENGTH_TEXT)
  open var description: String? = null

  @PropertyInfo(i18nKey = "plugins.merlin.fileNamePattern", tooltip = "plugins.merlin.fileNamePattern.info")
  @get:Column(name = "filename_pattern", length = 1000, nullable = false)
  open var fileNamePattern: String? = null

  @PropertyInfo(i18nKey = "plugins.merlin.forceStrictFilenames", tooltip = "plugins.merlin.forceStrictFilenames.info")
  @get:Column(name = "strongly_restricted_filenames")
  open var stronglyRestrictedFilenames: Boolean? = null

  @PropertyInfo(i18nKey = "plugins.merlin.format.pdf", tooltip = "plugins.merlin.format.pdf.info")
  @get:Column(name = "pdf_export")
  open var pdfExport: Boolean? = null

  /**
   * Si está marcado, la descarga de la plantilla de Excel para ejecución en serie contendrá también las variables #PersonalBox...
   */
  @PropertyInfo(i18nKey = "plugins.merlin.template.dataTransferUsage", tooltip = "plugins.merlin.template.dataTransferUsage.info")
  @get:Column(name = "data_transfer_usage")
  open var dataTransferUsage: Boolean? = null

  /**
   * Estos usuarios tienen acceso completo de lectura/escritura/ejecución.
   */
  @get:Column(name = "admin_ids", length = 4000, nullable = true)
  open var adminIds: String? = null

  /**
   * Los miembros de estos grupos tienen acceso de lectura y ejecución.
   */
  @get:Column(name = "access_group_ids", length = 4000, nullable = true)
  open var accessGroupIds: String? = null

  /**
   * Estos usuarios tienen acceso de lectura y ejecución.
   */
  @get:Column(name = "access_user_ids", length = 4000, nullable = true)
  open var accessUserIds: String? = null


  @get:Basic
  @get:Column(name = "last_variable_update")
  open var lastVariableUpdate: Date? = null

Historial de Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024-> 2025.
44253baee WIP: Configuración de ProjectForge...
66ec668f6 Migración en curso...
4c04cfd65 CAMBIO IMPORTANTE: Migración de IDs enteros a IDs Long (incluyendo claves foráneas, etc.)

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
index 489fe3aba..9da5adb56 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

63081666f

Encabezados de archivos fuente: 2024-> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
index 52d12beac..489fe3aba 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

44253baee

WIP: Configuración de ProjectForge...
44253baee2448d0c7b5c60bb672e3594e57f8340
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
index 873bd1b15..52d12beac 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
@@ -42,7 +42,7 @@ import org.projectforge.framework.persistence.history.NoHistory
 @Table(name = "t_plugin_merlin_template")
 open class MerlinTemplateDO : AbstractBaseDO<Long>(), AttachmentsInfo {
   @get:Id
-  @get:GeneratedValue(strategy = GenerationType.SEQUENCE)
+  @get:GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hibernate_sequence")
   @get:Column(name = "pk")
   @PropertyInfo(i18nKey = "id")
   override var id: Long? = null

66ec668f6

Migración en curso...
66ec668f6fadd0eb1a7885b02107d128e91a39d1
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
index 4b5032365..873bd1b15 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
@@ -42,7 +42,7 @@ import org.projectforge.framework.persistence.history.NoHistory
 @Table(name = "t_plugin_merlin_template")
 open class MerlinTemplateDO : AbstractBaseDO<Long>(), AttachmentsInfo {
   @get:Id
-  @get:GeneratedValue
+  @get:GeneratedValue(strategy = GenerationType.SEQUENCE)
   @get:Column(name = "pk")
   @PropertyInfo(i18nKey = "id")
   override var id: Long? = null

4c04cfd65

CAMBIO IMPORTANTE: Migración de IDs enteros a IDs Long (incluyendo claves foráneas, etc.)
4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
index 1cfd59cbb..4b5032365 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinTemplateDO.kt
@@ -40,12 +40,12 @@ import org.projectforge.framework.persistence.history.NoHistory
 @Entity
 @Indexed
 @Table(name = "t_plugin_merlin_template")
-open class MerlinTemplateDO : AbstractBaseDO<Int>(), AttachmentsInfo {
+open class MerlinTemplateDO : AbstractBaseDO<Long>(), AttachmentsInfo {
   @get:Id
   @get:GeneratedValue
   @get:Column(name = "pk")
   @PropertyInfo(i18nKey = "id")
-  override var id: Int? = null
+  override var id: Long? = null
 
   @PropertyInfo(i18nKey = "plugins.merlin.name")
   @get:Column(length = 100, nullable = false)