868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f9658941 UserRight.isConfigurable/getAvailableValues/matches(UserGroupCache, ...) -> isConfigurable/...(..., Collection...) UserGroovyRight supprimé.
868d6abb7
2025 -> 2026868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
index 8f44a66bc..c2192b929 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
@@ -3,7 +3,7 @@
// Projet ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
63081666f
En-têtes des fichiers source : 2024 -> 2025.63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
index 4ca0656f0..8f44a66bc 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
@@ -3,7 +3,7 @@
// Projet ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
b6092df09
Copyright 2023 -> 2024b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
index c48cd83ef..4ca0656f0 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
@@ -3,7 +3,7 @@
// Projet ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
ab45d51fa
Copyright 2001-2022 -> 2001-2023.ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
index dd2b57847..c48cd83ef 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
@@ -3,7 +3,7 @@
// Projet ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2022 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
5f9658941
UserRight.isConfigurable/getAvailableValues/matches(UserGroupCache, ...) -> isConfigurable/...(..., Collection...) UserGroovyRight supprimé.5f96589418cc9445e8a09ed5abd80ab9b184748e
diff --git a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
index 6c5644eb4..dd2b57847 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/user/UserRight.java
@@ -87,16 +87,15 @@ public abstract class UserRight implements Serializable, DisplayNameCapable {
* Pour certains utilisateurs et combinaisons de droits, il est possible que l'utilisateur ait une valeur d'accès par défaut parce qu'il est
* membre d'un groupe avec un droit unique. <br/>
*
- * @param userGroupCache
* @param user
* @return true si toutes les valeurs disponibles pour l'utilisateur correspondent automatiquement, sinon false (ce droit semble être
* configurable pour l'utilisateur donné dans le UserEditForm).
*/
- public boolean isConfigurable(final UserGroupCache userGroupCache, final PFUserDO user) {
+ public boolean isConfigurable(final PFUserDO user, final Collection<GroupDO> userGroups) {
if (values == null) {
return false;
}
- final UserRightValue[] availableValues = getAvailableValues(userGroupCache, user);
+ final UserRightValue[] availableValues = getAvailableValues(user, userGroups);
if (availableValues == null || availableValues.length <= 1) {
return false;
}
@@ -104,11 +103,11 @@ public abstract class UserRight implements Serializable, DisplayNameCapable {
if (value == UserRightValue.FALSE) {
continue; // Ne devrait pas être configurable.
}
- if (!matches(userGroupCache, user, value)) {
+ if (!matches(user, userGroups, value)) {
final UserRightValue[] includedByValues = value.includedBy();
if (includedByValues != null) {
for (final UserRightValue includedByValue : includedByValues) {
- if (matches(userGroupCache, user, includedByValue)) {
+ if (matches(user, userGroups, includedByValue)) {
// Cette valeur disponible est automatiquement définie pour l'utilisateur, donc le droit semble non configurable :
break;
}
@@ -126,16 +125,14 @@ public abstract class UserRight implements Serializable, DisplayNameCapable {
* Obtient toutes les valeurs de droit potentiellement disponibles pour l'utilisateur. Si la valeur utilisateur stockée dans les données utilisateur n'est pas
* incluse dans les valeurs disponibles, alors AccessChecker retourne que l'utilisateur n'a pas le droit.
*
- * @param userGroupCache
* @param user
* @return
*/
- public UserRightValue[] getAvailableValues(final UserGroupCache userGroupCache, final PFUserDO user) {
+ public UserRightValue[] getAvailableValues(final PFUserDO user, final Collection<GroupDO> userGroups) {
if (values == null) {
return null;
}
final List<UserRightValue> list = new ArrayList<>();
- final Collection<GroupDO> userGroups = userGroupCache.getUserGroupDOs(user);
for (final UserRightValue value : values) {
if (isAvailable(user, userGroups, value)) {
list.add(value);
@@ -162,7 +159,7 @@ public abstract class UserRight implements Serializable, DisplayNameCapable {
/**
* @param assignedGroups