EN · DE · RU · FR · ES

#235: MerlinVariable.kt

plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt Kotlin-Klasse, plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt 283 Zeilen · 217 Code · 42 Kommentare · 24 leer
Zweck: Quelldatei: projectforge/plugins/merlin/MerlinVariable.kt. MerlinVariable.kt ist Teil der Open-Source-Projektmanagement-Anwendung ProjectForge.

Quellcode (erste 100 Zeilen)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge ist dual-lizenziert.
//
// Diese Community Edition ist freie Software; Sie können es weiterverteilen und/oder
// modifizieren unter den Bedingungen der GNU General Public License, wie veröffentlicht
// von der Free Software Foundation; Version 3 der Lizenz.
//
// Diese Community Edition wird in der Hoffnung verteilt, dass sie nützlich sein wird,
// aber OHNE JEGLICHE GEWÄHRLEISTUNG; ohne sogar die stillschweigende Garantie der
// MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General
// Public License für weitere Details.
//
// Sie sollten eine Kopie der GNU General Public License zusammen mit
// diesem Programm erhalten haben; falls nicht, siehe http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.plugins.merlin

import com.fasterxml.jackson.annotation.JsonProperty
import de.micromata.merlin.word.templating.DependentVariableDefinition
import de.micromata.merlin.word.templating.VariableDefinition
import de.micromata.merlin.word.templating.VariableType
import org.projectforge.common.anots.PropertyInfo
import org.projectforge.framework.i18n.translateMsg
import org.projectforge.framework.utils.NumberHelper
import org.projectforge.ui.UIColor
import java.math.BigDecimal

/**
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
@Suppress("unused")
class MerlinVariable : MerlinVariableBase() {
  var id: Int? = null

  var defined: Boolean = false

  /**
   * Wenn diese Variable von einer anderen (Master-)Variable abhängt, wird die Master-Variable hier angegeben.
   */
  var dependsOn: MerlinVariable? = null
    set(value) {
      field = value
      dependsOnName = value?.name
    }

  @get:JsonProperty
  val mappingMasterValues
    get() = writeAsCSV(dependsOn?.allowedValues)

  @get:JsonProperty
  val allowedValuesFormatted: String?
    get() = writeAsCSV(allowedValues)

  /**
   * Wird diese Variable in der Word-Vorlage verwendet?
   */
  @PropertyInfo(i18nKey = "plugins.merlin.variable.used", additionalI18nKey = "plugins.merlin.variable.used.info")
  var used: Boolean? = null

  /**
   * Ist diese Variable eine Master-Variable (von der andere abhängen)?
   */
  @PropertyInfo(i18nKey = "plugins.merlin.variable.master", additionalI18nKey = "plugins.merlin.variable.master.info")
  var masterVariable: Boolean? = null

  val dependent: Boolean
    get() = dependsOn != null

  /**
   * Eingabevariablen werden zur Bearbeitung angezeigt (oder in seriellem Excel angegeben). Eingabevariablen sind definiert und nicht abhängig.
   * Entspricht defined && !dependent.
   */
  val input: Boolean
    get() = defined && !dependent

  val uiColor: UIColor?
    get() {
      return when {
        masterVariable == true -> {
          UIColor.DANGER
        }
        used == false -> {
          UIColor.LIGHT
        }
        input -> {
          UIColor.SUCCESS
        }
        dependent -> {
          UIColor.SECONDARY
        }
        else -> {
          null

Git-Verlauf

868d6abb7 2025 -> 2026
7cedb5bc8 Korrekturlesen der I18nResources durch Claude Code.
63081666f Quelldatei-Header: 2024 -> 2025.
acb790ad2 Behebung verschiedener Tippfehler
b6092df09 Copyright 2023 -> 2024

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
index 0bab6933d..a46369e2c 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.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 ist dual-lizenziert.
 //

7cedb5bc8

Korrekturlesen der I18nResources durch Claude Code.
7cedb5bc8061d40f961112e121f7655351f286f9
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
index 071431e19..0bab6933d 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
@@ -137,7 +137,7 @@ class MerlinVariable : MerlinVariableBase() {
           if (type.isIn(VariableType.INT, VariableType.FLOAT, VariableType.STRING)) {
             if (minimumBD > bdValue) {
               return translateMsg(
-                "plugins.merlin.validation.valueToLow",
+                "plugins.merlin.validation.valueTooLow",
                 name,
                 value,
                 minimumValue
@@ -150,7 +150,7 @@ class MerlinVariable : MerlinVariableBase() {
           if (type.isIn(VariableType.INT, VariableType.FLOAT, VariableType.STRING)) {
             if (maximumBD < bdValue) {
               return translateMsg(
-                "plugins.merlin.validation.valueToHigh",
+                "plugins.merlin.validation.valueTooHigh",
                 name,
                 value,
                 maximumValue

63081666f

Quelldatei-Header: 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
index 8afb295be..071431e19 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.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 ist dual-lizenziert.
 //

acb790ad2

Behebung verschiedener Tippfehler
acb790ad2d69f5dc02771c4a5826ec52afc4a994
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
index cabfedee8..8afb295be 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
@@ -76,7 +76,7 @@ class MerlinVariable : MerlinVariableBase() {
 
   /**
    * Eingabevariablen werden zur Bearbeitung angezeigt (oder in seriellem Excel angegeben). Eingabevariablen sind definiert und nicht abhängig.
-   * Entspricht definded && !dependent.
+   * Entspricht defined && !dependent.
    */
   val input: Boolean
     get() = defined && !dependent

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
index 48b0b6cdc..cabfedee8 100644
--- a/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
+++ b/plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge ist dual-lizenziert.
 //