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

Reply via email to