EN · DE · RU · FR · ES

#3017: ProjektEditForm.java

projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java Java-Klasse, projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java 260 Zeilen · 209 Code · 37 Kommentare · 14 leer
Zweck: Quelldatei: projectforge/web/fibu/ProjektEditForm.java. ProjektEditForm.java 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, Deutschland (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.web.fibu;

import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.validation.IFormValidator;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.util.convert.IConverter;
import org.projectforge.business.fibu.*;
import org.projectforge.business.fibu.kost.AccountingConfig;
import org.projectforge.business.fibu.kost.KostCache;
import org.projectforge.business.task.TaskDO;
import org.projectforge.framework.i18n.I18nHelper;
import org.projectforge.framework.persistence.user.entities.GroupDO;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.projectforge.reporting.Kost2Art;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.task.TaskSelectPanel;
import org.projectforge.web.user.NewGroupSelectPanel;
import org.projectforge.web.user.UserSelectPanel;
import org.projectforge.web.wicket.AbstractEditForm;
import org.projectforge.web.wicket.WicketUtils;
import org.projectforge.web.wicket.components.LabelValueChoiceRenderer;
import org.projectforge.web.wicket.components.MaxLengthTextArea;
import org.projectforge.web.wicket.components.MaxLengthTextField;
import org.projectforge.web.wicket.components.MinMaxNumberField;
import org.projectforge.web.wicket.converter.IntegerConverter;
import org.projectforge.web.wicket.flowlayout.DivTextPanel;
import org.projectforge.web.wicket.flowlayout.FieldsetPanel;
import org.projectforge.web.wicket.flowlayout.InputPanel;
import org.projectforge.web.wicket.flowlayout.TextAreaPanel;
import org.slf4j.Logger;

import java.util.List;

public class ProjektEditForm extends AbstractEditForm<ProjektDO, ProjektEditPage>
{
  private static final long serialVersionUID = -6018131069720611834L;

  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(ProjektEditForm.class);

  List<Kost2Art> kost2Arts;

  protected NewCustomerSelectPanel kundeSelectPanel;

  protected NewGroupSelectPanel groupSelectPanel;

  // Komponenten für die Formularvalidierung.
  private final FormComponent<?>[] dependentFormComponents = new FormComponent[2];

  public ProjektEditForm(final ProjektEditPage parentPage, final ProjektDO data)
  {
    super(parentPage, data);
  }

  @SuppressWarnings("serial")
  @Override
  protected void init()
  {
    super.init();
    gridBuilder.newGridPanel();
    {
      // Nummer
      final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.projekt.nummer"));
      final MinMaxNumberField<Integer> field = new MinMaxNumberField<Integer>(InputPanel.WICKET_ID,
          new PropertyModel<Integer>(data,
              "nummer"),
          0, 99)
      {
        @SuppressWarnings({ "unchecked", "rawtypes" })
        @Override
        public IConverter getConverter(final Class type)
        {
          return new IntegerConverter(2);
        }
      };
      WicketUtils.setSize(field, 2);

Git-Verlauf

868d6abb7 2025 -> 2026
9d4ad5f7d Claude Code: Migriere addressList zu AG-Grid-Table und bereite Mehrfachauswahl vor
63081666f Quelldatei-Header: 2024 -> 2025.
db2599ab8 Verlauf in Auftragsbuch, eingehenden/ausgehenden Rechnungen und Projekten.
1204b927b Migration in Arbeit... (alle Tests aller Pakete: OK).

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
index 38a2d0ff8..3acfdf42a 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Deutschland (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Deutschland (www.micromata.com)
 //
 // ProjectForge ist dual-lizenziert.
 //

9d4ad5f7d

Claude Code: Migriere addressList zu AG-Grid-Table und bereite Mehrfachauswahl vor
9d4ad5f7dfdb5ed5260ab209c601c7c016878934
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
index dc7c0f9df..38a2d0ff8 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
@@ -243,7 +243,7 @@ public class ProjektEditForm extends AbstractEditForm<ProjektDO, ProjektEditPage
         NewCustomerSelectPanel customer = (NewCustomerSelectPanel) dependentFormComponents[1];
         Integer numberValue = number != null ? number.getConvertedInput() : null;
         KundeDO customerValue = customer != null ? customer.getConvertedInput() : null;
-        if (numberValue != null && customerValue != null && numberValue.equals(new Integer(data.getNummer())) == false) {
+        if (numberValue != null && customerValue != null && numberValue.equals(Integer.valueOf(data.getNummer())) == false) {
           if (WicketSupport.get(ProjectServiceImpl.class).isNumberFreeForCustomer(numberValue, customerValue) == false) {
             form.error(I18nHelper.getLocalizedMessage("fibu.projekt.validation.numbernotfreeforcustomer"));
           }

63081666f

Quelldatei-Header: 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
index 9b76b3a97..dc7c0f9df 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Deutschland (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Deutschland (www.micromata.com)
 //
 // ProjectForge ist dual-lizenziert.
 //

db2599ab8

Verlauf in Auftragsbuch, eingehenden/ausgehenden Rechnungen und Projekten.
db2599ab88a347e0ff9ad66a479f9b14577a17e2
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
index f34d030fb..9b76b3a97 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
@@ -218,7 +218,7 @@ public class ProjektEditForm extends AbstractEditForm<ProjektDO, ProjektEditPage
     if (isNew() == true) {
       kost2Arts = WicketSupport.get(KostCache.class).getCloneOfAllKost2Arts();
     } else {
-      kost2Arts = WicketSupport.get(KostCache.class).getAllKost2Arts(getData().getId());
+      kost2Arts = WicketSupport.get(KostCache.class).getAllKost2ArtsForProjekt(getData().getId());
     }
     {
       // Kostenarten 2

1204b927b

Migration in Arbeit... (alle Tests aller Pakete: OK).
1204b927bf77691fc98260f0361a6dd4462a25f2
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
index 3a2818225..f34d030fb 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java
@@ -216,7 +216,7 @@ public class ProjektEditForm extends AbstractEditForm<ProjektDO, ProjektEditPage
       fs.add(new MaxLengthTextArea(TextAreaPanel.WICKET_ID, new PropertyModel<String>(data, "description")));
     }
     if (isNew() == true) {
-      kost2Arts = WicketSupport.get(KostCache.class).getAllKostArts();
+      kost2Arts = WicketSupport.get(KostCache.class).getCloneOfAllKost2Arts();
     } else {
       kost2Arts = WicketSupport.get(KostCache.class).getAllKost2Arts(getData().getId());
     }