EN · DE · RU · FR · ES

#235: MerlinVariable.kt

plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt Класс Kotlin, plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt 283 строки · 217 кода · 42 комментария · 24 пустых
Назначение: Исходный файл: projectforge/plugins/merlin/MerlinVariable.kt. MerlinVariable.kt является частью приложения управления проектами с открытым исходным кодом ProjectForge.

Исходный код (первые 100 строк)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge is dual-licensed.
//
// This community edition is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation; version 3 of the License.
//
// This community edition is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see 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

  /**
   * If this variable depends on another (master) variable, the master variable is given here.
   */
  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)

  /**
   * Is this variable used in the Word template?
   */
  @PropertyInfo(i18nKey = "plugins.merlin.variable.used", additionalI18nKey = "plugins.merlin.variable.used.info")
  var used: Boolean? = null

  /**
   * Is this variable a master variables (where others depends on)?
   */
  @PropertyInfo(i18nKey = "plugins.merlin.variable.master", additionalI18nKey = "plugins.merlin.variable.master.info")
  var masterVariable: Boolean? = null

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

  /**
   * Input variables will be displayed for editing (or given in serial Excel). Input variables are defined and not dependent.
   * Equals to 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

868d6abb7 2025 -> 2026
7cedb5bc8 Корректура I18nResources с помощью Claude Code.
63081666f Заголовки исходных файлов: 2024 -> 2025.
acb790ad2 Исправление различных опечаток
b6092df09 Авторское право 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 is dual-licensed.
 //

7cedb5bc8

Корректура I18nResources с помощью 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

Заголовки исходных файлов: 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 is dual-licensed.
 //

acb790ad2

Исправление различных опечаток
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() {
 
   /**
    * Input variables will be displayed for editing (or given in serial Excel). Input variables are defined and not dependent.
-   * Equals to definded && !dependent.
+   * Equals to defined && !dependent.
    */
   val input: Boolean
     get() = defined && !dependent

b6092df09

Авторское право 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 is dual-licensed.
 //