branch develop updated (eba7a7c -> b7aabc3)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository wikitty. See http://git.nuiton.org/wikitty.git from eba7a7c use back older javadoc plugin version otherwise won't build new ef3a521 fixes #3730: add support of special wikittyId 'all' for reader/writer/admin in WikittyAuthorisation new 92ad8b5 fixes #3732: WikittyAuthorisation reader/write/admin is WikittyUser, but we can add WikttyGroup too new b7aabc3 fixes #3731: Authorise multiple parent for WikittyAuthorisation The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit b7aabc3c87bd09d1db68281650b903597fc07127 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 01:36:56 2015 +0200 fixes #3731: Authorise multiple parent for WikittyAuthorisation commit 92ad8b526d52cdfdd7ea4cbb4df52d4efae7cf02 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 01:11:51 2015 +0200 fixes #3732: WikittyAuthorisation reader/write/admin is WikittyUser, but we can add WikttyGroup too commit ef3a521c3ecc6b215cf5f149e4c5c4da3a4a4dd8 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 01:10:40 2015 +0200 fixes #3730: add support of special wikittyId 'all' for reader/writer/admin in WikittyAuthorisation Summary of changes: .../services/WikittyServiceAuthorisation.java | 30 ++++++++++++++------- .../wikitty/services/WikittyServiceSecurity.java | 18 ++++++++----- wikitty-api/src/main/xmi/wikitty.properties | 5 +++- wikitty-api/src/main/xmi/wikitty.zargo | Bin 7860 -> 7876 bytes 4 files changed, 37 insertions(+), 16 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wikitty. See http://git.nuiton.org/wikitty.git commit ef3a521c3ecc6b215cf5f149e4c5c4da3a4a4dd8 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 01:10:40 2015 +0200 fixes #3730: add support of special wikittyId 'all' for reader/writer/admin in WikittyAuthorisation --- .../wikitty/services/WikittyServiceAuthorisation.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java b/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java index 5687ca6..bef5421 100644 --- a/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java +++ b/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java @@ -73,6 +73,9 @@ public class WikittyServiceAuthorisation extends WikittyServiceDelegator { * time in this class */ final static private TimeLog timeLog = new TimeLog(WikittyServiceAuthorisation.class); + /** special ID can be used in WikittyAuthorization to mark that all user isMember */ + final static public String PUBLIC = "all"; + /** cache de l'id du groupe AppAdmin */ transient protected String appAdminGroupId = null; @@ -759,21 +762,25 @@ public class WikittyServiceAuthorisation extends WikittyServiceDelegator { fieldName, String.class); + String parentId = WikittyAuthorisationHelper.getParent(extensionRights); + + boolean groupOrUserIsEmpty = groupOrUser == null || groupOrUser.isEmpty(); boolean isMember; - if (groupOrUser == null || groupOrUser.isEmpty()) { - isMember = considerEmptyGroupAsMembership; + if (groupOrUserIsEmpty) { + isMember = considerEmptyGroupAsMembership && parentId == null; } else { isMember = isMember(securityToken, userId, groupOrUser); } if ( ! isMember) { // user don't have right on current object, check parent right - String parentId = WikittyAuthorisationHelper.getParent(extensionRights); + if (parentId != null) { Wikitty parent = WikittyServiceEnhanced.restore( getDelegate(), securityToken, parentId); if (parent != null) { - isMember = isMember(securityToken, userId, parent, fqFieldName); + isMember = isMember(securityToken, userId, parent, fqFieldName, + considerEmptyGroupAsMembership && groupOrUserIsEmpty); } } } @@ -824,7 +831,7 @@ public class WikittyServiceAuthorisation extends WikittyServiceDelegator { String securityToken, String userId, Set<String> groupOrUser) { if (groupOrUser != null) { for (String id : groupOrUser) { - if (StringUtils.equals(id, userId)) { + if (StringUtils.equals(id, PUBLIC) || StringUtils.equals(id, userId)) { // on a l'id du user, on l'autorise return true; } else { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wikitty. See http://git.nuiton.org/wikitty.git commit 92ad8b526d52cdfdd7ea4cbb4df52d4efae7cf02 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 01:11:51 2015 +0200 fixes #3732: WikittyAuthorisation reader/write/admin is WikittyUser, but we can add WikttyGroup too --- wikitty-api/src/main/xmi/wikitty.properties | 5 ++++- wikitty-api/src/main/xmi/wikitty.zargo | Bin 7860 -> 7867 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/wikitty-api/src/main/xmi/wikitty.properties b/wikitty-api/src/main/xmi/wikitty.properties index 3893a80..6f7718a 100644 --- a/wikitty-api/src/main/xmi/wikitty.properties +++ b/wikitty-api/src/main/xmi/wikitty.properties @@ -19,7 +19,10 @@ # <http://www.gnu.org/licenses/lgpl-3.0.html>. # #L% ### -org.nuiton.wikitty.entities.WikittyAuthorisation.class.tagvalue.version=3.0 +org.nuiton.wikitty.entities.WikittyAuthorisation.class.tagvalue.version=4.0 +org.nuiton.wikitty.entities.WikittyAuthorisation.attribute.admin.tagvalue.allowed=WikittyGroup,WikittyUser +org.nuiton.wikitty.entities.WikittyAuthorisation.attribute.writer.tagvalue.allowed=WikittyGroup,WikittyUser +org.nuiton.wikitty.entities.WikittyAuthorisation.attribute.reader.tagvalue.allowed=WikittyGroup,WikittyUser org.nuiton.wikitty.entities.WikittyGroup.class.tagvalue.version=3.0 org.nuiton.wikitty.entities.WikittyLabel.class.tagvalue.version=3.0 org.nuiton.wikitty.entities.WikittyToken.class.tagvalue.version=4.0 diff --git a/wikitty-api/src/main/xmi/wikitty.zargo b/wikitty-api/src/main/xmi/wikitty.zargo index a88992d..a1d57bf 100644 Binary files a/wikitty-api/src/main/xmi/wikitty.zargo and b/wikitty-api/src/main/xmi/wikitty.zargo differ -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wikitty. See http://git.nuiton.org/wikitty.git commit b7aabc3c87bd09d1db68281650b903597fc07127 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Fri Jul 17 01:36:56 2015 +0200 fixes #3731: Authorise multiple parent for WikittyAuthorisation --- .../services/WikittyServiceAuthorisation.java | 21 +++++++++++++-------- .../wikitty/services/WikittyServiceSecurity.java | 18 ++++++++++++------ wikitty-api/src/main/xmi/wikitty.zargo | Bin 7867 -> 7876 bytes 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java b/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java index bef5421..f6c5ef9 100644 --- a/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java +++ b/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAuthorisation.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -762,12 +763,12 @@ public class WikittyServiceAuthorisation extends WikittyServiceDelegator { fieldName, String.class); - String parentId = WikittyAuthorisationHelper.getParent(extensionRights); + Set<String> parentsId = WikittyAuthorisationHelper.getParent(extensionRights); boolean groupOrUserIsEmpty = groupOrUser == null || groupOrUser.isEmpty(); boolean isMember; if (groupOrUserIsEmpty) { - isMember = considerEmptyGroupAsMembership && parentId == null; + isMember = considerEmptyGroupAsMembership && CollectionUtils.isEmpty(parentsId); } else { isMember = isMember(securityToken, userId, groupOrUser); } @@ -775,12 +776,16 @@ public class WikittyServiceAuthorisation extends WikittyServiceDelegator { if ( ! isMember) { // user don't have right on current object, check parent right - if (parentId != null) { - Wikitty parent = WikittyServiceEnhanced.restore( - getDelegate(), securityToken, parentId); - if (parent != null) { - isMember = isMember(securityToken, userId, parent, fqFieldName, - considerEmptyGroupAsMembership && groupOrUserIsEmpty); + if (CollectionUtils.isNotEmpty(parentsId)) { + List<Wikitty> parents = getDelegate().restore(securityToken, new ArrayList<String>(parentsId)); + for (Wikitty parent : parents) { + if (parent != null) { + isMember = isMember(securityToken, userId, parent, fqFieldName, + considerEmptyGroupAsMembership && groupOrUserIsEmpty); + if (isMember) { + break; + } + } } } } diff --git a/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java b/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java index 095fab3..2588e7a 100644 --- a/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java +++ b/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java @@ -29,6 +29,7 @@ import java.util.Date; import java.util.List; import java.util.Set; import java.util.UUID; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -791,12 +792,17 @@ public class WikittyServiceSecurity extends WikittyServiceDelegator { if ( ! isMember) { // user don't have right on current object, check parent right - String parentId = WikittyAuthorisationHelper.getParent(extensionRights); - if (parentId != null) { - Wikitty parent = WikittyServiceEnhanced.restore( - getDelegate(), securityToken, parentId); - if (parent != null) { - isMember = isMember(securityToken, userId, parent, fqFieldName); + Set<String> parentsId = WikittyAuthorisationHelper.getParent(extensionRights); + if (CollectionUtils.isNotEmpty(parentsId)) { + for (String parentId : parentsId) { + Wikitty parent = WikittyServiceEnhanced.restore( + getDelegate(), securityToken, parentId); + if (parent != null) { + isMember = isMember(securityToken, userId, parent, fqFieldName); + if (isMember) { + break; + } + } } } } diff --git a/wikitty-api/src/main/xmi/wikitty.zargo b/wikitty-api/src/main/xmi/wikitty.zargo index a1d57bf..a903c99 100644 Binary files a/wikitty-api/src/main/xmi/wikitty.zargo and b/wikitty-api/src/main/xmi/wikitty.zargo differ -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm