Author: xlawrence
Date: Thu Jul 12 15:53:25 2007
New Revision: 17961

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17961&repname=
=3Djahia
Log:
Action menu enhancement: =

------------------------

In case of an action menu on an object that is displayed as an absolute, we=
 add a "source" link to the list of available actions. If this link is clic=
ked, the user will be redirected to the source page, where the object has b=
een declared and is "physically" present.

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/Contain=
erBean.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/Contain=
erListBean.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/FieldBe=
an.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/PageBea=
n.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/C=
ontainerBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/beans/ContainerBean.java&rev=3D17961&r=
epname=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/data/beans/Contain=
erBean.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/Contain=
erBean.java Thu Jul 12 15:53:25 2007
@@ -14,10 +14,10 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */package org.jahia.data.beans;
+ */
+package org.jahia.data.beans;
 =

 import org.apache.log4j.Logger;
-import org.jahia.bin.Jahia;
 import org.jahia.content.ContentObject;
 import org.jahia.content.JahiaObject;
 import org.jahia.content.PropertiesInterface;
@@ -94,8 +94,7 @@
         this.processingContext =3D aProcessingContext;
     }
 =

-    public static AbstractJahiaObjectBean getChildInstance(final JahiaObje=
ct
-            jahiaObject,
+    public static AbstractJahiaObjectBean getChildInstance(final JahiaObje=
ct jahiaObject,
                                                            final Processin=
gContext processingContext) {
         final ContentContainer contentContainer =3D (ContentContainer) jah=
iaObject;
         try {
@@ -536,8 +535,7 @@
             curURL =3D guiBean.drawUpdateContainerUrl(theContainer);
             curLauncherURI =3D htmlToolBox.drawUpdateContainerLauncher(the=
Container);
             curActionURIBean =3D new ActionURIBean("update", curURL, curLa=
uncherURI);
-            LockKey lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_CONT=
AINER_TYPE, jahiaContainer.getID(),
-                    jahiaContainer.getPageID());
+            LockKey lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_CONT=
AINER_TYPE, jahiaContainer.getID());
 =

             if (!isPicker || jahiaContainer.checkAdminAccess(user)) {
                 if (!lockRegistry.isAcquireable(lockKey, user, user.getUse=
rKey())) {
@@ -569,8 +567,7 @@
                         theContainer);
                 curActionURIBean =3D new ActionURIBean("delete", curURL,
                         curLauncherURI);
-                lockKey =3D LockKey.composeLockKey(LockKey.DELETE_CONTAINE=
R_TYPE,
-                        jahiaContainer.getID(), jahiaContainer.getPageID()=
);
+                lockKey =3D LockKey.composeLockKey(LockKey.DELETE_CONTAINE=
R_TYPE, jahiaContainer.getID());
                 if (!lockRegistry.isAcquireable(lockKey, user,
                         processingContext.getSessionID())) {
                     curActionURIBean.setLocked(true);
@@ -597,11 +594,9 @@
             buff.append(")");
             curActionURIBean =3D new ActionURIBean("copy", "", buff.toStri=
ng());
 =

-            lockKey =3D LockKey.composeLockKey(LockKey.EXPORT_CONTAINER_TY=
PE,
-                    jahiaContainer.getID(), jahiaContainer.getID());
+            lockKey =3D LockKey.composeLockKey(LockKey.EXPORT_CONTAINER_TY=
PE, jahiaContainer.getID());
 =

-            if (!lockRegistry.isAcquireable(lockKey, user,
-                    processingContext.getSessionID())) {
+            if (!lockRegistry.isAcquireable(lockKey, user, processingConte=
xt.getSessionID())) {
                 curActionURIBean.setLocked(true);
                 curActionURIBean.setLauncherUri("void");
             } else {
@@ -641,6 +636,20 @@
 =

                 }
             }
+
+            // If the container is displayed as an absolute, add a link to=
 the source page where it has beed declared
+            if (theContainer.getPageID() !=3D processingContext.getPageID(=
)) {
+                curURL =3D processingContext.composePageUrl(theContainer.g=
etPageID(), processingContext.getLocale().toString());
+                final StringBuffer url =3D new StringBuffer();
+                url.append("document.location.href=3D'");
+                url.append(curURL);
+                url.append("'");
+                curActionURIBean =3D new ActionURIBean("source", url.toStr=
ing(), url.toString());
+                if ((curActionURIBean.getUri() !=3D null) && (!"".equals(c=
urActionURIBean.getUri()))) {
+                    actionURIs.put(curActionURIBean.getName(), curActionUR=
IBean);
+                }
+            }
+
         } catch (JahiaException je) {
             logger.error("Error while retrieving action URI map for contai=
ner " + getID(), je);
         }
@@ -658,9 +667,8 @@
             return results;
         }
         Iterator iterator =3D childs.iterator();
-        ContentObject contentObject =3D null;
         while (iterator.hasNext()) {
-            contentObject =3D (ContentObject) iterator.next();
+            ContentObject contentObject =3D (ContentObject) iterator.next(=
);
             if (contentObject instanceof ContentField) {
                 results.add(contentObject);
             }
@@ -677,10 +685,8 @@
      * @return an ActionUriBean
      */
     private ActionURIBean getActionUriPicker(ContentObject o) {
-        int key =3D o.getID();
         int pageID =3D 0;
         int siteID =3D 0;
-        String r =3D "";
         String t =3D "NA";
         String u =3D "";
         /*
@@ -691,9 +697,9 @@
         */
         if (o instanceof ContentContainer) {
             try {
-                //thepage =3D ((ContentContainer) o).getPage();
-                pageID =3D ((ContentContainer) o).getPageID();
-                siteID =3D ((ContentContainer) o).getSiteID();
+                //thepage =3D o.getPage();
+                pageID =3D o.getPageID();
+                siteID =3D o.getSiteID();
 =

                 List l =3D getChildFieldsOnly(o.getChilds(processingContex=
t.getUser(), EntryLoadRequest.STAGED));
 =


Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/C=
ontainerListBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/beans/ContainerListBean.java&rev=3D179=
61&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/data/beans/Contain=
erListBean.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/Contain=
erListBean.java Thu Jul 12 15:53:25 2007
@@ -32,7 +32,6 @@
 import org.jahia.params.ProcessingContext;
 import org.jahia.registries.ServicesRegistry;
 import org.jahia.services.acl.JahiaBaseACL;
-import org.jahia.services.containers.ContainerFactory;
 import org.jahia.services.containers.ContentContainer;
 import org.jahia.services.containers.ContentContainerList;
 import org.jahia.services.containers.JahiaContainersService;
@@ -223,6 +222,7 @@
                     return curContainerBean;
                 }
             } catch (JahiaException e) {
+                logger.warn(e, e);
             }
         }
         return null;
@@ -296,7 +296,6 @@
         if (parentContainerBean !=3D null) {
             return parentContainerBean;
         }
-        final ContainerFactory containerFactory =3D ContainerFactory.getIn=
stance();
         try {
             final JahiaContainer parentContainer =3D jahiaContainersServic=
e.loadContainer(
                     parentContainerID, LoadFlags.ALL, processingContext, p=
rocessingContext.getEntryLoadRequest());
@@ -410,12 +409,12 @@
             String curURL =3D guiBean.drawAddContainerUrl(jahiaContainerLi=
st);
             String curLauncherURI =3D htmlToolBox.drawAddContainerLauncher=
(jahiaContainerList);
             ActionURIBean curActionURIBean =3D new ActionURIBean("add", cu=
rURL, curLauncherURI);
-            LockKey lockKey =3D LockKey.composeLockKey(LockKey.ADD_CONTAIN=
ER_TYPE, jahiaContainerList.getID(), jahiaContainerList.getPageID());
+            LockKey lockKey =3D LockKey.composeLockKey(LockKey.ADD_CONTAIN=
ER_TYPE, jahiaContainerList.getID());
             // fake container list -> use the page id or parent container =
id
             if (jahiaContainerList.getID() =3D=3D 0 && jahiaContainerList.=
getParentEntryID() !=3D 0) {
-                lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_CONTAINE=
R_TYPE, jahiaContainerList.getParentEntryID(), jahiaContainerList.getPageID=
());
+                lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_CONTAINE=
R_TYPE, jahiaContainerList.getParentEntryID());
             } else if (jahiaContainerList.getID() =3D=3D 0) {
-                lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_PAGE_TYP=
E, jahiaContainerList.getPageID(), jahiaContainerList.getPageID());
+                lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_PAGE_TYP=
E, jahiaContainerList.getPageID());
             }
             final JahiaUser user =3D processingContext.getUser();
             if (!lockRegistry.isAcquireable(lockKey, user, user.getUserKey=
())) {
@@ -435,9 +434,7 @@
                         drawContainerListPropertiesLauncher(theList);
                 curActionURIBean =3D new ActionURIBean("update", curURL,
                         curLauncherURI);
-                lockKey =3D LockKey.composeLockKey(LockKey.
-                        UPDATE_CONTAINERLIST_TYPE,
-                        jahiaContainerList.getID(), jahiaContainerList.get=
PageID());
+                lockKey =3D LockKey.composeLockKey(LockKey.UPDATE_CONTAINE=
RLIST_TYPE, jahiaContainerList.getID());
                 if (!lockRegistry.isAcquireable(lockKey, user,
                         processingContext.getSessionID())) {
                     curActionURIBean.setLocked(true);
@@ -484,8 +481,7 @@
                                 buff.append(")");
                                 curActionURIBean =3D new ActionURIBean("pa=
ste", "", buff.toString());
 =

-                                lockKey =3D LockKey.composeLockKey(LockKey=
.ADD_CONTAINER_TYPE,
-                                        jahiaContainerList.getID(), jahiaC=
ontainerList.getPageID());
+                                lockKey =3D LockKey.composeLockKey(LockKey=
.ADD_CONTAINER_TYPE, jahiaContainerList.getID());
                                 if (!lockRegistry.isAcquireable(lockKey, u=
ser,
                                         processingContext.getSessionID()))=
 {
                                     curActionURIBean.setLocked(true);
@@ -505,6 +501,20 @@
                     logger.error(e.getMessage(), e);
                 }
             }
+
+            // If the list is displayed as an absolute, add a link to the =
source page where it has beed declared
+            if (jahiaContainerList.getPageID() !=3D processingContext.getP=
ageID()) {
+                curURL =3D processingContext.composePageUrl(jahiaContainer=
List.getPageID(), processingContext.getLocale().toString());
+                final StringBuffer url =3D new StringBuffer();
+                url.append("document.location.href=3D'");
+                url.append(curURL);
+                url.append("'");
+                curActionURIBean =3D new ActionURIBean("source", url.toStr=
ing(), url.toString());
+                if ((curActionURIBean.getUri() !=3D null) && (!"".equals(c=
urActionURIBean.getUri()))) {
+                    actionURIs.put(curActionURIBean.getName(), curActionUR=
IBean);
+                }
+            }
+
         } catch (JahiaException je) {
             logger.error("Error while retrieving action URI map for contai=
ner list " +
                     getID(), je);

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/F=
ieldBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/beans/FieldBean.java&rev=3D17961&repna=
me=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/data/beans/FieldBe=
an.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/FieldBe=
an.java Thu Jul 12 15:53:25 2007
@@ -14,7 +14,8 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied=
. =

  * See the License for the specific language governing permissions and =

  * limitations under the License.
- */package org.jahia.data.beans;
+ */
+package org.jahia.data.beans;
 =

 import org.jahia.content.ContentObject;
 import org.jahia.content.JahiaObject;
@@ -37,6 +38,7 @@
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.workflow.WorkflowService;
 import org.jahia.utils.InsertionSortedMap;
+import org.jahia.bin.Jahia;
 =

 import java.util.*;
 =

@@ -46,17 +48,18 @@
  * <p>Description: </p>
  * <p>Copyright: Copyright (c) 2002</p>
  * <p>Company: Jahia Ltd</p>
+ *
  * @author Serge Huber, Xavier Lawrence
  * @version 1.0
  */
 =

-public class FieldBean extends ContentBean  {
-    =

+public class FieldBean extends ContentBean {
+
     private static final org.apache.log4j.Logger logger =3D
             org.apache.log4j.Logger.getLogger(FieldBean.class);
-    =

+
     public static final String TYPE =3D "ContentField";
-    =

+
     private JahiaField jahiaField;
     private ProcessingContext processingContext;
     private Properties properties;
@@ -71,18 +74,18 @@
     private final WorkflowService workflowService =3D servicesRegistry.get=
WorkflowService();
     private final ImportExportService importExportService =3D servicesRegi=
stry.getImportExportService();
     private final LockService lockRegistry =3D servicesRegistry.getLockSer=
vice();
-    =

+
     public FieldBean() {
     }
-    =

+
     static {
         registerType(ContentField.class.getName(), FieldBean.class.getName=
());
     }
-    =

-    =

+
+
     public FieldBean(final JahiaField jahiaField, final ProcessingContext =
processingContext) {
         this.jahiaField =3D jahiaField;
-        this.processingContext =3D processingContext;        =

+        this.processingContext =3D processingContext;
     }
 =

     public static AbstractJahiaObjectBean getChildInstance(
@@ -97,28 +100,27 @@
             return null;
         }
     }
-    =

+
     public JahiaField getJahiaField() {
         return jahiaField;
     }
-    =

+
     public String getValue() {
         return jahiaField.getValue();
     }
-    =

+
     public Object getObject() {
         final Object fieldObject =3D jahiaField.getObject();
         if (fieldObject =3D=3D null) {
             return null;
         }
         if (fieldObject.getClass() =3D=3D JahiaPage.class) {
-            return new PageBean((JahiaPage)fieldObject, processingContext);
+            return new PageBean((JahiaPage) fieldObject, processingContext=
);
         }
         return fieldObject;
     }
 =

     /**
-     *
      * @deprecated Use getID() instead
      */
     public int getId() {
@@ -128,15 +130,15 @@
     public int getID() {
         return jahiaField.getID();
     }
-    =

+
     public String getBeanType() {
         return TYPE;
     }
-    =

+
     public String getHighLightDiffValue() {
         return jahiaField.getHighLightDiffValue(processingContext);
     }
-    =

+
     public JahiaFieldDefinition getDefinition() {
         try {
             return jahiaField.getDefinition();
@@ -145,11 +147,11 @@
             return null;
         }
     }
-    =

+
     public int getDefinitionID() {
         return getDefinition().getID();
     }
-    =

+
     public String getName() {
         try {
             return jahiaField.getDefinition().getName();
@@ -158,7 +160,7 @@
             return null;
         }
     }
-    =

+
     public String getTitle() {
         try {
             return jahiaField.getDefinition().getTitle(processingContext.g=
etPage().getPageTemplateID(), processingContext.getLocale());
@@ -167,23 +169,23 @@
             return null;
         }
     }
-    =

+
     public int getContainerID() {
         return jahiaField.getctnid();
     }
-    =

+
     public ContentField getContentField() {
         return jahiaField.getContentField();
     }
-    =

+
     public String getAnchor() {
         return jahiaField.getAnchor();
     }
-    =

+
     public JahiaBaseACL getACL() {
         return jahiaField.getACL();
     }
-    =

+
     public Properties getProperties() {
         if (properties !=3D null) {
             return properties;
@@ -198,15 +200,15 @@
         }
         return properties;
     }
-    =

+
     public String getRawValue() {
         return jahiaField.getRawValue();
     }
-    =

+
     public int getSiteID() {
         return jahiaField.getSiteID();
     }
-    =

+
     public int getFieldType() {
         return jahiaField.getType();
     }
@@ -215,63 +217,63 @@
      * @deprecated Use getFieldType() instead
      */
     public int getType() {
-         return jahiaField.getType();
+        return jahiaField.getType();
     }
-    =

+
     public String getIconNameOff() {
         return jahiaField.getIconNameOff();
     }
-    =

+
     public String getIconNameOn() {
         return jahiaField.getIconNameOn();
     }
-    =

+
     public int getAclID() {
         return jahiaField.getAclID();
     }
-    =

+
     public int getConnectType() {
         return jahiaField.getConnectType();
     }
-    =

+
     public int getFieldDefinitionID() {
         return jahiaField.getFieldDefID();
     }
-    =

+
     public String getLanguageCode() {
         return jahiaField.getLanguageCode();
     }
-    =

+
     public int getPageID() {
         return jahiaField.getPageID();
     }
-    =

+
     public int getRank() {
         return jahiaField.getRank();
     }
-    =

+
     public int getVersionID() {
         return jahiaField.getVersionID();
     }
-    =

+
     public int getWorkflowState() {
         return jahiaField.getWorkflowState();
     }
-    =

+
     public Map getActionURIBeans() {
         if (actionURIs =3D=3D null) {
             buildActionURIs();
         }
         return actionURIs;
     }
-    =

+
     public boolean isCompletelyLocked() {
         if (actionURIs =3D=3D null) {
             buildActionURIs();
         }
         return completelyLocked;
     }
-    =

+
     public boolean isPartiallyLocked() {
         if (actionURIs =3D=3D null) {
             buildActionURIs();
@@ -291,7 +293,7 @@
             return false;
         }
     }
-    =

+
     public boolean isIndependantWorkflow() {
 =

         if (!independantWorkflowInitialized) {
@@ -308,7 +310,7 @@
 =

         return independantWorkflow;
     }
-    =

+
     public int getGroupWorkflowState() {
 =

         if (!groupWorkflowStateInitialized) {
@@ -318,10 +320,10 @@
                         theField);
                 Integer languageState =3D (Integer) languagesStates.get(
                         processingContext.getLocale().toString());
-                final Integer sharedLanguageState =3D (Integer)languagesSt=
ates.get(
+                final Integer sharedLanguageState =3D (Integer) languagesS=
tates.get(
                         ContentObject.SHARED_LANGUAGE);
                 if (languageState !=3D null && languageState.intValue() !=
=3D -1) {
-                    if ( sharedLanguageState !=3D null &&
+                    if (sharedLanguageState !=3D null &&
                             languageState.intValue() < sharedLanguageState=
.intValue()) {
                         languageState =3D sharedLanguageState;
                     }
@@ -329,7 +331,7 @@
                     languageState =3D sharedLanguageState;
                 }
                 // Set groupWorkflowState variable
-                groupWorkflowState =3D (languageState !=3D null)?languageS=
tate.intValue():1;
+                groupWorkflowState =3D (languageState !=3D null) ? languag=
eState.intValue() : 1;
                 groupWorkflowStateInitialized =3D true;
             } catch (JahiaException e) {
                 logger.error(e.getMessage(), e);
@@ -338,7 +340,7 @@
 =

         return groupWorkflowState;
     }
-    =

+
     public boolean isActionURIsEmpty() {
         if (!processingContext.getOperationMode().equals(ProcessingContext=
.EDIT)) {
             return true;
@@ -348,7 +350,7 @@
         }
         return actionURIs.isEmpty();
     }
-    =

+
     public ContentBean getParent() {
         if (jahiaField.getctnid() =3D=3D 0) {
             try {
@@ -363,7 +365,7 @@
             }
             return null;
         }
-        =

+
         try {
             final ContentContainer parentContentContainer =3D ContentConta=
iner.
                     getContainer(jahiaField.getctnid());
@@ -373,9 +375,9 @@
             logger.error("Error while loading parent container " + jahiaFi=
eld.getctnid() + " for field " + jahiaField.getID(), je);
         }
         return null;
-        =

+
     }
-    =

+
     private void buildActionURIs() {
         actionURIs =3D new InsertionSortedMap();
         final GuiBean guiBean =3D new GuiBean(processingContext);
@@ -383,10 +385,10 @@
         completelyLocked =3D true;
         try {
             final ContentField theField =3D jahiaField.getContentField();
-            final String curURL =3D guiBean.drawUpdateFieldUrl(theField);
-            final String curLauncherURI =3D htmlToolBox.drawUpdateFieldLau=
ncher(theField);
-            final ActionURIBean curActionURIBean =3D new ActionURIBean("up=
date", curURL, curLauncherURI);
-            final LockKey lockKey =3D LockKey.composeLockKey(LockKey.UPDAT=
E_FIELD_TYPE, jahiaField.getID(), jahiaField.getPageID());
+            String curURL =3D guiBean.drawUpdateFieldUrl(theField);
+            String curLauncherURI =3D htmlToolBox.drawUpdateFieldLauncher(=
theField);
+            ActionURIBean curActionURIBean =3D new ActionURIBean("update",=
 curURL, curLauncherURI);
+            final LockKey lockKey =3D LockKey.composeLockKey(LockKey.UPDAT=
E_FIELD_TYPE, jahiaField.getID());
             final JahiaUser user =3D processingContext.getUser();
             if (!lockRegistry.isAcquireable(lockKey, user, user.getUserKey=
())) {
                 curActionURIBean.setLocked(true);
@@ -399,12 +401,26 @@
             if ((curActionURIBean.getUri() !=3D null) && (!"".equals(curAc=
tionURIBean.getUri()))) {
                 actionURIs.put(curActionURIBean.getName(), curActionURIBea=
n);
             }
+
+            // If the field is displayed as an absolute, add a link to the=
 source page where it has beed declared
+            if (theField.getPageID() !=3D processingContext.getPageID()) {
+                curURL =3D processingContext.composePageUrl(theField.getPa=
geID(), processingContext.getLocale().toString());
+                final StringBuffer buff =3D new StringBuffer();
+                buff.append("document.location.href=3D'");
+                buff.append(curURL);
+                buff.append("'");
+                curActionURIBean =3D new ActionURIBean("source", buff.toSt=
ring(), buff.toString());
+                if ((curActionURIBean.getUri() !=3D null) && (!"".equals(c=
urActionURIBean.getUri()))) {
+                    actionURIs.put(curActionURIBean.getName(), curActionUR=
IBean);
+                }
+            }
+
         } catch (JahiaException je) {
             logger.error("Error while retrieving action URI map for field =
" + getID(), je);
         }
     }
 =

-    public boolean isPicker(){
+    public boolean isPicker() {
         try {
             return importExportService.isPicker(jahiaField.getContentField=
());
         } catch (JahiaException e) {

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/P=
ageBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/beans/PageBean.java&rev=3D17961&repnam=
e=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/data/beans/PageBea=
n.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/beans/PageBea=
n.java Thu Jul 12 15:53:25 2007
@@ -362,15 +362,11 @@
 =

     public boolean isInCurrentPagePath() {
         try {
-            final Enumeration thePath =3D processingContext.getPage().
-                    getContentPagePath(processingContext.getOperationMode(=
),
-                            processingContext.getUser());
-            boolean foundTarget =3D false;
+            final Enumeration thePath =3D processingContext.getPage().getC=
ontentPagePath(processingContext.
+                    getOperationMode(), processingContext.getUser());
             while (thePath.hasMoreElements()) {
                 final ContentPage curContentPage =3D (ContentPage) thePath=
.nextElement();
-                if (!foundTarget){
-                    foundTarget =3D (curContentPage.getID() =3D=3D process=
ingContext.getPage().getID());
-                }
+                boolean foundTarget =3D (curContentPage.getID() =3D=3D pro=
cessingContext.getPage().getID());
                 if (curContentPage.getID() =3D=3D getID()) {
                     return true;
                 }
@@ -379,8 +375,7 @@
                 }
             }
         } catch (JahiaException je) {
-            logger.error("Error while loading current page path " +
-                    processingContext.getPageID() + ":", je);
+            logger.error("Error while loading current page path " + proces=
singContext.getPageID() + ":", je);
             return false;
         }
         return false;
@@ -513,7 +508,7 @@
             final String curURL =3D guiBean.drawPagePropertiesUrl();
             final String curLauncherURI =3D htmlToolBox.drawPageProperties=
Launcher();
             final ActionURIBean curActionURIBean =3D new ActionURIBean("up=
date", curURL, curLauncherURI);
-            final LockKey lockKey =3D LockKey.composeLockKey(LockKey.UPDAT=
E_PAGE_TYPE, processingContext.getPageID(), processingContext.getPageID());
+            final LockKey lockKey =3D LockKey.composeLockKey(LockKey.UPDAT=
E_PAGE_TYPE, processingContext.getPageID());
             final JahiaUser user =3D processingContext.getUser();
             if (!lockRegistry.isAcquireable(lockKey, user, user.getUserKey=
())) {
                 curActionURIBean.setLocked(true);
@@ -526,6 +521,7 @@
             if ((curActionURIBean.getUri() !=3D null) && (!"".equals(curAc=
tionURIBean.getUri()))) {
                 actionURIs.put(curActionURIBean.getName(), curActionURIBea=
n);
             }
+
         } catch (JahiaException je) {
             logger.error("Error while retrieving action URI map for page "=
 + getID(), je);
         }

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

Reply via email to