UserPrefEditForm.java/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
// www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge est sous double licence.
//
// Cette édition communautaire est un logiciel libre ; vous pouvez le redistribuer et/ou
// le 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.web.user;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.validation.IValidatable;
import org.apache.wicket.validation.IValidator;
import org.projectforge.business.fibu.KundeDO;
import org.projectforge.business.fibu.ProjektDO;
import org.projectforge.business.fibu.kost.Kost2DO;
import org.projectforge.business.task.TaskDO;
import org.projectforge.business.user.UserPrefAreaRegistry;
import org.projectforge.business.user.UserPrefDao;
import org.projectforge.common.i18n.I18nEnum;
import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
import org.projectforge.framework.persistence.user.api.UserPrefArea;
import org.projectforge.framework.persistence.user.entities.GroupDO;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.projectforge.framework.persistence.user.entities.UserPrefDO;
import org.projectforge.framework.persistence.user.entities.UserPrefEntryDO;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.fibu.Kost2DropDownChoice;
import org.projectforge.web.fibu.NewCustomerSelectPanel;
import org.projectforge.web.fibu.NewProjektSelectPanel;
import org.projectforge.web.task.TaskSelectPanel;
import org.projectforge.web.wicket.AbstractEditForm;
import org.projectforge.web.wicket.WicketUtils;
import org.projectforge.web.wicket.bootstrap.GridSize;
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.RequiredMaxLengthTextField;
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.HashMap;
import java.util.Map;
public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditPage>
{
private static final long serialVersionUID = 6647201995353615498L;
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(UserPrefEditForm.class);
private boolean parameterCreated;
protected Map<String, Component> dependentsMap = new HashMap<String, Component>();
/**
* @param parent Nécessaire pour l'i18n
* @param bean est utilisé pour créer un PropertyModel.
* @param propertyName est utilisé comme nom de propriété du modèle de propriété.
* @return
*/
public static DropDownChoice<UserPrefArea> createAreaDropdownChoice(final Component parent, final String id,
final Object bean,
final String propertyName, final boolean nullValid)
{
// DropDownChoice area
final LabelValueChoiceRenderer<UserPrefArea> areaChoiceRenderer = createAreaChoiceRenderer(parent);
final DropDownChoice<UserPrefArea> areaDropDownChoice = new DropDownChoice<UserPrefArea>(id,
new PropertyModel<UserPrefArea>(bean,
propertyName),
areaChoiceRenderer.getValues(), areaChoiceRenderer);
areaDropDownChoice.setNullValid(nullValid);
return areaDropDownChoice;
}
public static LabelValueChoiceRenderer<UserPrefArea> createAreaChoiceRenderer(final Component parent)
{
// DropDownChoice area
868d6abb7 2025 -> 2026 15a449443 UserPrefEditForm corrigé : création des favoris de tâches. 63081666f En-têtes des fichiers source : 2024 -> 2025. 67805f2fc ThreadLocalUserContext.user -> ThreadLocalUserContext.loggedInUser (renommé pour éviter les malentendus dans le code). 4c04cfd65 CHANGEMENT-MAJEUR ! Migration des identifiants entiers vers des identifiants Long (y compris les clés étrangères, etc.)
868d6abb75cd191a892911ac8e45058932cf9074 diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java index 22e782f38..4caddf244 100644 --- a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java +++ b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.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 est sous double licence. //
15a4494431aa947ca995f7b9aa2ef4689ffea500
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
index 475b97c98..22e782f38 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
@@ -235,8 +235,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
WicketSupport.get(UserPrefDao.class).updateParameterValueObject(param);
if (PFUserDO.class.isAssignableFrom(param.getType()) == true) {
final UserSelectPanel userSelectPanel = new UserSelectPanel(fs.newChildId(),
- new UserPrefPropertyModel<PFUserDO>(userPrefDao,
- param, "valueAsObject"),
+ new UserPrefPropertyModel<PFUserDO>(param, "valueAsObject"),
parentPage, param.getParameter());
if (data.getAreaObject() == UserPrefArea.USER_FAVORITE) {
userSelectPanel.setShowFavorites(false);
@@ -245,8 +244,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
userSelectPanel.init();
} else if (TaskDO.class.isAssignableFrom(param.getType()) == true) {
final TaskSelectPanel taskSelectPanel = new TaskSelectPanel(fs,
- new UserPrefPropertyModel<TaskDO>(userPrefDao, param,
- "valueAsObject"),
+ new UserPrefPropertyModel<TaskDO>(param, "valueAsObject"),
parentPage, param.getParameter());
if (data.getAreaObject() == UserPrefArea.TASK_FAVORITE) {
taskSelectPanel.setShowFavorites(false);
@@ -255,8 +253,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
taskSelectPanel.init();
} else if (GroupDO.class.isAssignableFrom(param.getType()) == true) {
final NewGroupSelectPanel groupSelectPanel = new NewGroupSelectPanel(fs.newChildId(),
- new UserPrefPropertyModel<GroupDO>(
- userPrefDao, param, "valueAsObject"),
+ new UserPrefPropertyModel<GroupDO>(param, "valueAsObject"),
parentPage, param.getParameter());
fs.add(groupSelectPanel);
groupSelectPanel.init();
@@ -286,8 +283,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
dependentsMap.put(param.getParameter(), kost2DropDownChoice);
} else if (ProjektDO.class.isAssignableFrom(param.getType()) == true) {
final NewProjektSelectPanel projektSelectPanel = new NewProjektSelectPanel(fs.newChildId(),
- new UserPrefPropertyModel<ProjektDO>(
- userPrefDao, param, "valueAsObject"),
+ new UserPrefPropertyModel<ProjektDO>(param, "valueAsObject"),
parentPage, param.getParameter());
if (data.getAreaObject() == UserPrefArea.PROJEKT_FAVORITE) {
projektSelectPanel.setShowFavorites(false);
@@ -296,8 +292,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
projektSelectPanel.init();
} else if (KundeDO.class.isAssignableFrom(param.getType()) == true) {
final NewCustomerSelectPanel kundeSelectPanel = new NewCustomerSelectPanel(fs.newChildId(),
- new UserPrefPropertyModel<KundeDO>(
- userPrefDao, param, "valueAsObject"),
+ new UserPrefPropertyModel<KundeDO>(param, "valueAsObject"),
null, parentPage, param.getParameter());
if (data.getAreaObject() == UserPrefArea.KUNDE_FAVORITE) {
kundeSelectPanel.setShowFavorites(false);
@@ -315,7 +310,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
final LabelValueChoiceRenderer<I18nEnum> choiceRenderer = new LabelValueChoiceRenderer<I18nEnum>(this,
(I18nEnum[]) param.getType().getEnumConstants());
final DropDownChoice<I18nEnum> choice = new DropDownChoice<I18nEnum>(fs.getDropDownChoiceId(),
- new UserPrefPropertyModel<I18nEnum>(userPrefDao, param, "valueAsObject"), choiceRenderer.getValues(),63081666f620fb87315f01b817e560e0b2f6a33a diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java index 1131ed597..475b97c98 100644 --- a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java +++ b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.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 est sous double licence. //
67805f2fc1f3e6a6393accb4a757a8f4049b001c
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
index ceda7663f..1131ed597 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
@@ -29,7 +29,6 @@ import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.validation.IValidatable;
import org.apache.wicket.validation.IValidator;
import org.projectforge.business.fibu.KundeDO;
@@ -146,7 +145,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
gridBuilder.newSplitPanel(GridSize.COL50);
{
// Utilisateur
- data.setUser(ThreadLocalUserContext.getUser());
+ data.setUser(ThreadLocalUserContext.getLoggedInUser());
final FieldsetPanel fs = gridBuilder.newFieldset(getString("user")).suppressLabelForWarning();
fs.add(new DivTextPanel(fs.newChildId(), data.getUser().getFullname()));
}4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
index 1e7d7e946..ceda7663f 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/user/UserPrefEditForm.java
@@ -263,7 +263,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
groupSelectPanel.init();
} else if (Kost2DO.class.isAssignableFrom(param.getType()) == true) {
final UserPrefEntryDO taskParam = data.getUserPrefEntry(param.getDependsOn());
- Integer taskId = null;
+ Long taskId = null;
if (taskParam == null) {
log.error(
"Annotation pour les types Kost2DO doit avoir une annotation dependsOn valide. Paramètre de tâche introuvable pour : "
@@ -278,7 +278,7 @@ public class UserPrefEditForm extends AbstractEditForm<UserPrefDO, UserPrefEditP
(Kost2DO) param.getValueAsObject(), taskId)
{
@Override
- protected void setKost2Id(final Integer kost2Id)
+ protected void setKost2Id(final Long kost2Id)
{
param.setValue(String.valueOf(kost2Id));
}