Author: tdraier
Date: Fri Sep 14 12:56:24 2007
New Revision: 18463

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18463&repname=
=3Djahia
Log:
create all fields in language only if one field has been edited in this lan=
guage. ( JAHIA-1495 )
currently checking the "apply to all language (well hidden) button" on a fi=
eld will create all fields in all language. (port 18252)

Modified:
    trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.=
java
    trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_E=
ngine.java

Modified: trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_E=
ngine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/engines/addcontainer/AddContainer_Engine.java&rev=3D18463&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/engines/addcontainer/AddContainer_Engine.=
java (original)
+++ trunk/core/src/java/org/jahia/engines/addcontainer/AddContainer_Engine.=
java Fri Sep 14 12:56:24 2007
@@ -77,6 +77,7 @@
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.version.EntryLoadRequest;
 import org.jahia.services.workflow.WorkflowService;
+import org.jahia.services.fields.ContentField;
 import org.jahia.utils.LanguageCodeConverters;
 import org.jahia.views.engines.contentdefinition.ContentDefinitionEngine;
 import org.springframework.transaction.PlatformTransactionManager;
@@ -888,6 +889,11 @@
                             final HashMap engineMap) throws JahiaException=
 {
         // Save fields
         final Enumeration enu =3D jahiaContainerFacade.getFields();
+        Set editedLanguages =3D new HashSet();
+        for (Iterator iterator =3D feh.getUpdatedFields().values().iterato=
r(); iterator.hasNext();) {
+            List list =3D (List) iterator.next();
+            editedLanguages.addAll(list);
+        }
         while (enu.hasMoreElements()) {
             final JahiaContentFieldFacade contentFieldFacade =3D (JahiaCon=
tentFieldFacade) enu.nextElement();
             final Enumeration fields =3D contentFieldFacade.getFields();
@@ -895,6 +901,7 @@
             int newAclID =3D theContainer.getAclID();
             while (fields.hasMoreElements()) {
                 final JahiaField field =3D (JahiaField) fields.nextElement=
();
+                if (editedLanguages.contains(field.getLanguageCode())) {
                 field.setID(newFieldID);
                 field.setAclID(newAclID);
                 field.setctnid(theContainer.getID());
@@ -918,6 +925,7 @@
                 if (newAclID =3D=3D 0) {
                     newAclID =3D field.getAclID();
                 }
+                }
             }
         }
     }
@@ -941,7 +949,7 @@
             final Set containerPageRefs =3D ContentContainerListsXRefManag=
er.getInstance().
                     getAbsoluteContainerListPageIDs(theList.getID());
             if (containerPageRefs !=3D null) {
-                final Iterator pageRefIDs =3D containerPageRefs.iterator();
+                final Iterator pageRefIDs =3D containerPageRefs.iterator()=
;                                    =

                 while (pageRefIDs.hasNext()) {
                     final Integer curPageID =3D (Integer) pageRefIDs.next(=
);
                     if (htmlCache !=3D null) {

Modified: trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateConta=
iner_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/engines/updatecontainer/UpdateContainer_Engine.java&rev=3D18463&re=
pname=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/engines/updatecontainer/UpdateContainer_E=
ngine.java (original)
+++ trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_E=
ngine.java Fri Sep 14 12:56:24 2007
@@ -1149,6 +1149,11 @@
             final HashMap engineMap) throws JahiaException {
         final Enumeration contentFieldFacadeEnum =3D jahiaContainerFacade.=
getFields();
         boolean changed =3D false;
+        Set editedLanguages =3D new HashSet();
+        for (Iterator iterator =3D feh.getUpdatedFields().values().iterato=
r(); iterator.hasNext();) {
+            List list =3D (List) iterator.next();
+            editedLanguages.addAll(list);
+        }
         while (contentFieldFacadeEnum.hasMoreElements()) {
             final JahiaContentFieldFacade contentFieldFacade =3D (JahiaCon=
tentFieldFacade) contentFieldFacadeEnum.nextElement();
             final Enumeration fields =3D contentFieldFacade.getFields();
@@ -1157,8 +1162,7 @@
             int newAclID =3D 0;
             while (fields.hasMoreElements()) {
                 JahiaField field =3D (JahiaField) fields.nextElement();
-                if (field.hasChanged() &&
-                        feh.containsUpdatedField(field.getID(), field.getL=
anguageCode())) {
+                if ((field.hasChanged() && feh.containsUpdatedField(field.=
getID(), field.getLanguageCode())) || editedLanguages.contains(field.getLan=
guageCode())) {
 =

                     changed =3D true;
 =


_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to