Author: tdraier
Date: Tue Jul 31 16:50:24 2007
New Revision: 18079
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18079&repname=
=3Djahia
Log:
fixed acl updates - correctly cascade on metadata and view_fields_acl
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentObj=
ect.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/containerl=
istproperties/ContainerListProperties_Engine.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/container=
s/ContentContainerList.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/Cont=
entObject.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/content/ContentObject.java&rev=3D18079&repn=
ame=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentObj=
ect.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentObj=
ect.java Tue Jul 31 16:50:24 2007
@@ -2049,6 +2049,13 @@
contentObject.getACL().setParentID(aclid);
}
}
+ if (!(this instanceof ContentField)) {
+ List mds =3D getMetadatas();
+ for (Iterator iterator =3D mds.iterator(); iterator.hasNex=
t();) {
+ ContentField md =3D (ContentField) iterator.next();
+ md.setAclID(aclid);
+ }
+ }
} catch (JahiaException e) {
e.printStackTrace(); //To change body of catch statement use =
File | Settings | File Templates.
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/cont=
ainerlistproperties/ContainerListProperties_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/containerlistproperties/ContainerLi=
stProperties_Engine.java&rev=3D18079&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/containerl=
istproperties/ContainerListProperties_Engine.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/containerl=
istproperties/ContainerListProperties_Engine.java Tue Jul 31 16:50:24 2007
@@ -559,7 +559,7 @@
if (sameAcl) {
JahiaBaseACL acl =3D (JahiaBaseACL) en=
gineMap.get(ManageRights.NEW_ACL+"_"+aclfieldname);
if (acl !=3D null) {
- theContainerList.getContentContain=
erList().setProperty ("view_field_acl_" + aclfieldname, theContainerList.ge=
tContentContainerList().getObjectKey().toString());
+ theContainerList.getContentContain=
erList().setProperty ("view_field_acl_" + aclfieldname, String.valueOf (acl=
.getID()));
}
}
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/con=
tainers/ContentContainerList.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/containers/ContentContainerList.ja=
va&rev=3D18079&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/container=
s/ContentContainerList.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/container=
s/ContentContainerList.java Tue Jul 31 16:50:24 2007
@@ -844,6 +844,28 @@
return true;
}
=
+ public void updateAclForChildren(int aclid) {
+ int old =3D getAclID();
+ super.updateAclForChildren(aclid);
+ try {
+ Map properties =3D getProperties();
+ for (Iterator iterator =3D properties.keySet().iterator(); ite=
rator.hasNext();) {
+ String key =3D (String) iterator.next();
+ if (key.startsWith("view_field_acl_")) {
+ int acl =3D Integer.parseInt((String) properties.get(k=
ey));
+ if (acl =3D=3D old) {
+ setProperty(key, Integer.toString(aclid));
+ } else {
+ JahiaBaseACL.getACL(aclID, null).setParentID(aclid=
);
+ }
+ }
+ }
+ } catch (JahiaException e) {
+ logger.error("Cannot set field acl property",e);
+ }
+ }
+
+
private void writeObject(java.io.ObjectOutputStream out) throws IOExce=
ption {
out.defaultWriteObject();
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list