EN · DE · RU · FR · ES

#235 : MerlinVariable.kt

plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt Classe Kotlin, plugins/org.projectforge.plugins.merlin/src/main/kotlin/org/projectforge/plugins/merlin/MerlinVariable.kt 283 lignes · 217 code · 42 commentaires · 24 vides
Objectif : Fichier source : projectforge/plugins/merlin/MerlinVariable.kt. MerlinVariable.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.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

  /**
   * Si cette variable dépend d'une autre variable (maître), la variable maître est donnée ici.
   */
  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)

  /**
   * Cette variable est-elle utilisée dans le modèle Word ?
   */
  @PropertyInfo(i18nKey = "plugins.merlin.variable.used", additionalI18nKey = "plugins.merlin.variable.used.info")
  var used: Boolean? = null

  /**
   * Cette variable est-elle une variable maître (dont d'autres dépendent) ?
   */
  @PropertyInfo(i18nKey = "plugins.merlin.variable.master", additionalI18nKey = "plugins.merlin.variable.master.info")
  var masterVariable: Boolean? = null

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

  /**
   * Les variables d'entrée seront affichées pour édition (ou fournies dans un Excel sérialisé). Les variables d'entrée sont définies et non dépendantes.
   * Équivaut à 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

Historique Git

868d6abb7 2025 -> 2026
7cedb5bc8 Relecture des I18nResources par Claude Code.
63081666f En-têtes des fichiers source : 2024 -> 2025.
acb790ad2 Correction de diverses fautes de frappe
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 @@
 // 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.
 //

7cedb5bc8

Relecture des I18nResources par 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

En-têtes des fichiers source : 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 @@
 // 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.
 //

acb790ad2

Correction de diverses fautes de frappe
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() {
 
   /**
    * Les variables d'entrée seront affichées pour édition (ou fournies dans un Excel sérialisé). Les variables d'entrée sont définies et non dépendantes.
-   * Équivaut à definded && !dependent.
+   * Équivaut à 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 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //