Author: xlawrence
Date: Thu Jul 12 16:21:58 2007
New Revision: 17963

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17963&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:
    trunk/core/src/java/org/jahia/data/beans/ContainerBean.java
    trunk/core/src/java/org/jahia/data/beans/ContainerListBean.java
    trunk/core/src/java/org/jahia/data/beans/FieldBean.java
    trunk/core/src/java/org/jahia/data/beans/PageBean.java

Modified: trunk/core/src/java/org/jahia/data/beans/ContainerBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/beans/ContainerBean.java&rev=3D17963&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/data/beans/ContainerBean.java (original)
+++ trunk/core/src/java/org/jahia/data/beans/ContainerBean.java Thu Jul 12 =
16:21:58 2007
@@ -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 {
@@ -616,8 +615,7 @@
 =

             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 {
@@ -679,6 +677,19 @@
                 }
             }
 =

+            // 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);
         }
@@ -726,7 +737,7 @@
         */
         if (o instanceof ContentContainer) {
             try {
-                //thepage =3D ((ContentContainer) o).getPage();
+                //thepage =3D o.getPage();
                 pageID =3D o.getPageID();
                 siteID =3D o.getSiteID();
 =


Modified: trunk/core/src/java/org/jahia/data/beans/ContainerListBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/beans/ContainerListBean.java&rev=3D17963&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/data/beans/ContainerListBean.java (origin=
al)
+++ trunk/core/src/java/org/jahia/data/beans/ContainerListBean.java Thu Jul=
 12 16:21:58 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: trunk/core/src/java/org/jahia/data/beans/FieldBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/beans/FieldBean.java&rev=3D17963&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/data/beans/FieldBean.java (original)
+++ trunk/core/src/java/org/jahia/data/beans/FieldBean.java Thu Jul 12 16:2=
1:58 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.apache.log4j.Logger;
 import org.jahia.content.ContentObject;
@@ -387,10 +388,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);
@@ -403,6 +404,20 @@
             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);
         }

Modified: trunk/core/src/java/org/jahia/data/beans/PageBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/beans/PageBean.java&rev=3D17963&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/data/beans/PageBean.java (original)
+++ trunk/core/src/java/org/jahia/data/beans/PageBean.java Thu Jul 12 16:21=
:58 2007
@@ -547,6 +547,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