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