EN · DE · RU · FR · ES

#3091: TeamCalEditPage.java

projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java Java-Klasse, projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java 166 Zeilen · 112 Code · 41 Kommentare · 13 leer
Zweck: Quelldatei: web/teamcal/admin/TeamCalEditPage.java. TeamCalEditPage.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.teamcal.admin;

import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.projectforge.business.common.BaseUserGroupRightService;
import org.projectforge.business.teamcal.admin.TeamCalDao;
import org.projectforge.business.teamcal.admin.model.TeamCalDO;
import org.projectforge.business.teamcal.admin.right.TeamCalRight;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.fibu.ISelectCallerPage;
import org.projectforge.web.teamcal.event.TeamEventListPage;
import org.projectforge.web.teamcal.event.importics.TeamCalImportPage;
import org.projectforge.web.wicket.AbstractEditPage;
import org.projectforge.web.wicket.AbstractSecuredBasePage;
import org.projectforge.web.wicket.EditPage;
import org.projectforge.web.wicket.components.ContentMenuEntryPanel;
import org.slf4j.Logger;

/**
 * @author M. Lauterbach (m.lauterbach@micromata.de)
 *
 */
@EditPage(defaultReturnPage = TeamCalListPage.class)
public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm, TeamCalDao>
    implements ISelectCallerPage
{
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TeamCalEditPage.class);

  private static final long serialVersionUID = -3352981782657771662L;

  /**
   * @param parameters
   */
  public TeamCalEditPage(final PageParameters parameters)
  {
    super(parameters, "plugins.teamcal");
    init();
    addTopMenuPanel();
  }

  @SuppressWarnings("serial")
  private void addTopMenuPanel()
  {
    if (isNew() == false) {
      final Long id = form.getData().getId();
      ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(),
          new Link<Void>(ContentMenuEntryPanel.LINK_ID)
          {
            @Override
            public void onClick()
            {
              final TeamEventListPage teamEventListPage = new TeamEventListPage(
                  new PageParameters().add(TeamEventListPage.PARAM_CALENDARS,
                      String.valueOf(id)));
              setResponsePage(teamEventListPage);
            };
          }, getString("plugins.teamcal.events"));
      addContentMenuEntry(menu);
      final TeamCalRight right = new TeamCalRight();
      if (isNew() == true
          || right.hasFullAccess(getData(), getUserId()) && !getData().getExternalSubscription()) {
        menu = new ContentMenuEntryPanel(getNewContentMenuChildId(), new Link<Void>(ContentMenuEntryPanel.LINK_ID)
        {
          @Override
          public void onClick()
          {
            final PageParameters parameters = new PageParameters().add(TeamCalImportPage.PARAM_KEY_TEAM_CAL_ID,
                getData().getId());
            final TeamCalImportPage importPage = new TeamCalImportPage(parameters);
            importPage.setReturnToPage(TeamCalEditPage.this);
            setResponsePage(importPage);
          }
        }, getString("import")).setTooltip(getString("plugins.teamcal.import.ics.tooltip"));
        addContentMenuEntry(menu);
      }
    }

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quellcode-Dateiköpfe: 2024 -> 2025.
a33f8f203 Migration in Arbeit... (alle Tests aller Pakete: OK).
4c04cfd65 GROSSE ÄNDERUNG! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel usw.)
d6d3d176f Migration in Arbeit...

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
index 1a6dfae71..1a5ad8ae8 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.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

Quellcode-Dateiköpfe: 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
index 91589ee2e..1a6dfae71 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.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.
 //

a33f8f203

Migration in Arbeit... (alle Tests aller Pakete: OK).
a33f8f203ba809d731307e4785e8ad761ab4bfc0
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
index ca8a328a7..91589ee2e 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
@@ -26,6 +26,7 @@ package org.projectforge.web.teamcal.admin;
 import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.projectforge.business.common.BaseUserGroupRightService;
 import org.projectforge.business.teamcal.admin.TeamCalDao;
 import org.projectforge.business.teamcal.admin.model.TeamCalDO;
 import org.projectforge.business.teamcal.admin.right.TeamCalRight;
@@ -103,12 +104,13 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
   public AbstractSecuredBasePage onSaveOrUpdate()
   {
     var teamCalDao = WicketSupport.get(TeamCalDao.class);
-    teamCalDao.setFullAccessUsers(getData(), form.fullAccessUsersListHelper.getAssignedItems());
-    teamCalDao.setReadonlyAccessUsers(getData(), form.readonlyAccessUsersListHelper.getAssignedItems());
-    teamCalDao.setMinimalAccessUsers(getData(), form.minimalAccessUsersListHelper.getAssignedItems());
-    teamCalDao.setFullAccessGroups(getData(), form.fullAccessGroupsListHelper.getAssignedItems());
-    teamCalDao.setReadonlyAccessGroups(getData(), form.readonlyAccessGroupsListHelper.getAssignedItems());
-    teamCalDao.setMinimalAccessGroups(getData(), form.minimalAccessGroupsListHelper.getAssignedItems());
+    var svc = BaseUserGroupRightService.getInstance();
+    svc.setFullAccessUsers(getData(), form.fullAccessUsersListHelper.getAssignedItems());
+    svc.setReadonlyAccessUsers(getData(), form.readonlyAccessUsersListHelper.getAssignedItems());
+    svc.setMinimalAccessUsers(getData(), form.minimalAccessUsersListHelper.getAssignedItems());
+    svc.setFullAccessGroups(getData(), form.fullAccessGroupsListHelper.getAssignedItems());
+    svc.setReadonlyAccessGroups(getData(), form.readonlyAccessGroupsListHelper.getAssignedItems());
+    svc.setMinimalAccessGroups(getData(), form.minimalAccessGroupsListHelper.getAssignedItems());
     TeamCalDO data = form.getData();
     if (!data.getExternalSubscription()) {
       data.setExternalSubscriptionUrl("");

4c04cfd65

GROSSE ÄNDERUNG! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel usw.)
4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
index d268cb9d0..ca8a328a7 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
@@ -65,7 +65,7 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
   private void addTopMenuPanel()
   {
     if (isNew() == false) {
-      final Integer id = form.getData().getId();
+      final Long id = form.getData().getId();
       ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(),
           new Link<Void>(ContentMenuEntryPanel.LINK_ID)
           {

d6d3d176f

Migration in Arbeit...
d6d3d176f5e9fedcfb02fda5b5ce426db9fec7ea
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
index fcf8d7a60..d268cb9d0 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/teamcal/admin/TeamCalEditPage.java
@@ -29,6 +29,7 @@ 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.admin.right.TeamCalRight;
+import org.projectforge.web.WicketSupport;
 import org.projectforge.web.fibu.ISelectCallerPage;
 import org.projectforge.web.teamcal.event.TeamEventListPage;
 import org.projectforge.web.teamcal.event.importics.TeamCalImportPage;
@@ -50,12 +51,8 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
 
   private static final long serialVersionUID = -3352981782657771662L;
 
-  @SpringBean
-  private TeamCalDao teamCalDao;
-
   /**
    * @param parameters
-   * @param i18nPrefix
    */
   public TeamCalEditPage(final PageParameters parameters)
   {
@@ -105,6 +102,7 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
   @Override
   public AbstractSecuredBasePage onSaveOrUpdate()
   {
+    var teamCalDao = WicketSupport.get(TeamCalDao.class);
     teamCalDao.setFullAccessUsers(getData(), form.fullAccessUsersListHelper.getAssignedItems());
     teamCalDao.setReadonlyAccessUsers(getData(), form.readonlyAccessUsersListHelper.getAssignedItems());
     teamCalDao.setMinimalAccessUsers(getData(), form.minimalAccessUsersListHelper.getAssignedItems());
@@ -119,9 +117,6 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
     return super.onSaveOrUpdate();
   }
 
-  /**
-   * @see org.projectforge.web.fibu.ISelectCallerPage#select(java.lang.String, java.lang.Integer)
-   */
   public void select(final String property, final Object selectedValue)
   {
     log.error("Property '" + property + "' not supported for selection.");
@@ -149,7 +144,7 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
   @Override
   protected TeamCalDao getBaseDao()
   {
-    return teamCalDao;
+    return WicketSupport.get(TeamCalDao.class);
   }
 
   /**
@@ -161,10 +156,6 @@ public class TeamCalEditPage extends AbstractEditPage<TeamCalDO, TeamCalEditForm
     return log;
   }
 
-  /**
-   * @see org.projectforge.web.wicket.AbstractEditPage#newEditForm(org.projectforge.web.wicket.AbstractEditPage,
-   *      org.projectforge.core.AbstractBaseDO)