Author: tdraier
Date: Thu Aug 2 16:44:43 2007
New Revision: 18115
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18115&repname=
=3Djahia
Log:
fixed acl updates - correctly cascade on metadata and view_fields_acl
(port 18079)
Modified:
trunk/core/src/java/org/jahia/content/ContentObject.java
trunk/core/src/java/org/jahia/services/containers/ContentContainerList.=
java
Modified: trunk/core/src/java/org/jahia/content/ContentObject.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/content/ContentObject.java&rev=3D18115&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
--- trunk/core/src/java/org/jahia/content/ContentObject.java (original)
+++ trunk/core/src/java/org/jahia/content/ContentObject.java Thu Aug 2 16:=
44:43 2007
@@ -2048,6 +2048,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: trunk/core/src/java/org/jahia/services/containers/ContentContaine=
rList.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/containers/ContentContainerList.java&rev=3D18115&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
--- trunk/core/src/java/org/jahia/services/containers/ContentContainerList.=
java (original)
+++ trunk/core/src/java/org/jahia/services/containers/ContentContainerList.=
java Thu Aug 2 16:44:43 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