EN · DE · RU · FR · ES

#3107: TeamEventEditForm.java

projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java Класс Java, projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java 875 строк · 717 кода · 76 комментариев · 82 пустых
Назначение: Исходный файл: web/teamcal/event/TeamEventEditForm.java. TeamEventEditForm.java является частью приложения управления проектами с открытым исходным кодом ProjectForge.

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

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge dual-лицензирован.
//
// Эта версия для сообщества является бесплатным программным обеспечением; вы можете распространять и/или
// изменять её в соответствии с условиями Стандартной общественной лицензии GNU (GNU General Public License) в том виде,
// в котором она опубликована Фондом свободного программного обеспечения; версия 3 Лицензии.
//
// Эта версия для сообщества распространяется в надежде, что она будет полезной,
// но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии
// КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ. См. GNU General
// Public License для получения более подробной информации.
//
// Вы должны были получить копию Стандартной общественной лицензии GNU вместе
// с этой программой; если нет, см. http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.web.teamcal.event;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
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.upload.FileUploadField;
import org.apache.wicket.markup.html.form.validation.IFormValidator;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.projectforge.business.teamcal.admin.TeamCalDao;
import org.projectforge.business.teamcal.admin.model.TeamCalDO;
import org.projectforge.business.teamcal.event.*;
import org.projectforge.business.teamcal.event.model.TeamEventAttendeeDO;
import org.projectforge.business.teamcal.event.model.TeamEventDO;
import org.projectforge.business.teamcal.event.right.TeamEventRight;
import org.projectforge.business.utils.HtmlHelper;
import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
import org.projectforge.framework.time.DateHelper;
import org.projectforge.framework.time.DateHolder;
import org.projectforge.framework.time.DatePrecision;
import org.projectforge.framework.time.RecurrenceFrequency;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.common.MultiChoiceListHelper;
import org.projectforge.web.user.AttendeeWicketProvider;
import org.projectforge.web.wicket.AbstractEditForm;
import org.projectforge.web.wicket.WicketUtils;
import org.projectforge.web.wicket.autocompletion.PFAutoCompleteMaxLengthTextField;
import org.projectforge.web.wicket.bootstrap.GridBuilder;
import org.projectforge.web.wicket.bootstrap.GridSize;
import org.projectforge.web.wicket.components.*;
import org.projectforge.web.wicket.flowlayout.*;
import org.slf4j.Logger;
import org.wicketstuff.select2.Select2MultiChoice;

import java.util.List;

/**
 * Форма для редактирования командных событий.
 *
 * @author M. Lauterbach (m.lauterbach@micromata.de)
 * @author K. Reinhard (K.Reinhard@micromata.de)
 */
public class TeamEventEditForm extends AbstractEditForm<TeamEventDO, TeamEventEditPage>
{
  private static final long serialVersionUID = -8378262684943803495L;

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

  private DateTimePanel startDateTimePanel;

  private DateTimePanel endDateTimePanel;

  private boolean access;

  private FieldsetPanel endDateField;

  private FieldsetPanel startDateField;

  protected TeamEventRecurrenceData recurrenceData;

  private DivPanel customizedCheckBoxButton;

  private WebMarkupContainer recurrencePanel;

  private FieldsetPanel recurrenceFieldset, recurrenceUntilDateFieldset, recurrenceIntervalFieldset, recurrenceExDateFieldset;
  private FieldsetPanel recurrenceWeekIntervalFieldset, recurrenceMonthIntervalFieldset, recurrenceMonthModeFirstFieldset, recurrenceMonthModeSecondFieldset, recurrenceYearIntervalFieldset, recurrenceYearModeFieldset;
  private FieldsetPanel[] recurrenceMonthDayFieldsets = new FieldsetPanel[5];

  private DropDownChoice<RecurrenceFrequencyModeOne> modeOneDropDownChoiceMonth, modeOneDropDownChoiceYear;
  private DropDownChoice<RecurrenceFrequencyModeTwo> modeTwoDropDownChoiceMonth, modeTwoDropDownChoiceYear;

  private final transient TeamEventRight right;

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
c193e8288 Ical4j: миграционные изменения... (все тесты OK)
d6d3d176f Миграционные изменения в процессе...
4efcbd0fb Миграционные изменения в процессе...

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
index 614025756..0168f22af 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.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.
 //

63081666f

Заголовки исходных файлов: 2024-> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
index ede894f18..614025756 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.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.
 //

c193e8288

Ical4j: миграционные изменения... (все тесты OK)
c193e8288c03be35a08171e2319957a6080381b9
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
index 4fa3ecf10..ede894f18 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
@@ -34,7 +34,6 @@ import org.apache.wicket.markup.html.form.upload.FileUploadField;
 import org.apache.wicket.markup.html.form.validation.IFormValidator;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.projectforge.business.teamcal.admin.TeamCalDao;
 import org.projectforge.business.teamcal.admin.model.TeamCalDO;
 import org.projectforge.business.teamcal.event.*;
@@ -42,7 +41,6 @@ import org.projectforge.business.teamcal.event.model.TeamEventAttendeeDO;
 import org.projectforge.business.teamcal.event.model.TeamEventDO;
 import org.projectforge.business.teamcal.event.right.TeamEventRight;
 import org.projectforge.business.utils.HtmlHelper;
-import org.projectforge.framework.access.AccessChecker;
 import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
 import org.projectforge.framework.time.DateHelper;
 import org.projectforge.framework.time.DateHolder;

d6d3d176f

Миграционные изменения в процессе...
d6d3d176f5e9fedcfb02fda5b5ce426db9fec7ea
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
index 80c226eef..4fa3ecf10 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
@@ -48,6 +48,7 @@ import org.projectforge.framework.time.DateHelper;
 import org.projectforge.framework.time.DateHolder;
 import org.projectforge.framework.time.DatePrecision;
 import org.projectforge.framework.time.RecurrenceFrequency;
+import org.projectforge.web.WicketSupport;
 import org.projectforge.web.common.MultiChoiceListHelper;
 import org.projectforge.web.user.AttendeeWicketProvider;
 import org.projectforge.web.wicket.AbstractEditForm;
@@ -74,18 +75,6 @@ public class TeamEventEditForm extends AbstractEditForm<TeamEventDO, TeamEventEd
 
   private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TeamEventEditForm.class);
 
-  @SpringBean
-  private transient TeamCalDao teamCalDao;
-
-  @SpringBean
-  private transient TeamEventDao teamEventDao;
-
-  @SpringBean
-  private transient AccessChecker accessChecker;
-
-  @SpringBean
-  private transient TeamEventService teamEventService;
-
   private DateTimePanel startDateTimePanel;
 
   private DateTimePanel endDateTimePanel;
@@ -142,14 +131,11 @@ public class TeamEventEditForm extends AbstractEditForm<TeamEventDO, TeamEventEd
     right = new TeamEventRight();
   }
 
-  /**
-   * @see org.projectforge.web.wicket.AbstractEditForm#init()
-   */
-  @SuppressWarnings("serial")
   @Override
   protected void init()
   {
     super.init();
+    var teamEventService = WicketSupport.get(TeamEventService.class);
 
     recurrenceData = data.getRecurrenceData(ThreadLocalUserContext.getTimeZone());
 
@@ -199,7 +185,7 @@ public class TeamEventEditForm extends AbstractEditForm<TeamEventDO, TeamEventEd
         @Override
         protected List<String> getChoices(final String input)
         {
-          return teamEventDao.getLocationAutocompletion(input, calendarsWithFullAccess);
+          return WicketSupport.get(TeamEventDao.class).getLocationAutocompletion(input, calendarsWithFullAccess);
         }
       };
       locationTextField.withMatchContains(true).withMinChars(3);
@@ -745,7 +731,7 @@ public class TeamEventEditForm extends AbstractEditForm<TeamEventDO, TeamEventEd
               : "");
       fieldSet.add(teamCalTitle);

4efcbd0fb

Миграционные изменения в процессе...
4efcbd0fb62fb527758bd7d1834d604382c55b33
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
index c84bba37c..80c226eef 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/event/TeamEventEditForm.java
@@ -139,7 +139,7 @@ public class TeamEventEditForm extends AbstractEditForm<TeamEventDO, TeamEventEd
   public TeamEventEditForm(final TeamEventEditPage parentPage, final TeamEventDO data)
   {
     super(parentPage, data);
-    right = new TeamEventRight(accessChecker);
+    right = new TeamEventRight();
   }
 
   /**