EN · DE · RU · FR · ES

#3017: ProjektEditForm.java

projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java Java-класс, projectforge-wicket/src/main/java/org/projectforge/web/fibu/ProjektEditForm.java 260 строк · 209 кода · 37 комментариев · 14 пустых
Назначение: Исходный файл: projectforge/web/fibu/ProjektEditForm.java. ProjektEditForm.java является частью приложения управления проектами с открытым исходным кодом 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.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;

  // Компоненты для валидации формы.
  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();
    {
      // Номер
      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

868d6abb7 2025 -> 2026
9d4ad5f7d Claude Code: Миграция addressList на AG-Grid-Table и подготовка множественного выбора
63081666f Заголовки исходных файлов: 2024-> 2025.
db2599ab8 История в книге заказов, входящих/исходящих счетах и проектах.
1204b927b Работа по миграции в процессе... (все тесты всех пакетов: 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, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

9d4ad5f7d

Claude Code: Миграция addressList на AG-Grid-Table и подготовка множественного выбора
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

Заголовки исходных файлов: 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, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

db2599ab8

История в книге заказов, входящих/исходящих счетах и проектах.
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());
     }
     {
       // cost 2 types

1204b927b

Работа по миграции в процессе... (все тесты всех пакетов: 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());
     }