You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/11/29 10:52:28 UTC
svn commit: r480502 -
/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/MoveSubsite.java
Author: andreas
Date: Wed Nov 29 01:52:28 2006
New Revision: 480502
URL: http://svn.apache.org/viewvc?view=rev&rev=480502
Log:
Go to parent page after delete/archive
Modified:
lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/MoveSubsite.java
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/MoveSubsite.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/MoveSubsite.java?view=diff&rev=480502&r1=480501&r2=480502
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/MoveSubsite.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/MoveSubsite.java Wed Nov 29 01:52:28 2006
@@ -30,6 +30,7 @@
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.site.NodeSet;
+import org.apache.lenya.cms.site.SiteNode;
import org.apache.lenya.cms.site.SiteStructure;
import org.apache.lenya.cms.site.SiteUtil;
import org.apache.lenya.cms.usecase.DocumentUsecase;
@@ -76,13 +77,10 @@
Document liveVersion = docs[i].getAreaVersion(Publication.LIVE_AREA);
addErrorMessage("delete-doc-live", new String[] { liveVersion.toString() });
}
- if (!WorkflowUtil.canInvoke(this.manager,
- getSession(),
- getLogger(),
- docs[i],
+ if (!WorkflowUtil.canInvoke(this.manager, getSession(), getLogger(), docs[i],
getEvent())) {
- addErrorMessage("The workflow event [" + getEvent() + "] cannot be invoked on document [" + docs[i]
- + "].");
+ addErrorMessage("The workflow event [" + getEvent()
+ + "] cannot be invoked on document [" + docs[i] + "].");
}
}
}
@@ -94,8 +92,8 @@
protected abstract String getEvent();
/**
- * Lock all source documents and the site structure repository nodes because changes to the site
- * structure would compromise the operation.
+ * Lock all source documents and the site structure repository nodes because
+ * changes to the site structure would compromise the operation.
*/
protected Node[] getNodesToLock() throws UsecaseException {
try {
@@ -104,8 +102,7 @@
SiteStructure sourceSite = getSourceDocument().area().getSite();
SiteStructure targetSite = getSourceDocument().getPublication()
- .getArea(getTargetArea())
- .getSite();
+ .getArea(getTargetArea()).getSite();
nodes.add(sourceSite.getRepositoryNode());
nodes.add(targetSite.getRepositoryNode());
@@ -137,11 +134,7 @@
targetLoc = SiteUtil.getAvailableLocator(this.manager, getDocumentFactory(), targetLoc);
for (int i = 0; i < sources.length; i++) {
- WorkflowUtil.invoke(this.manager,
- getSession(),
- getLogger(),
- sources[i],
- getEvent(),
+ WorkflowUtil.invoke(this.manager, getSession(), getLogger(), sources[i], getEvent(),
true);
}
@@ -160,4 +153,31 @@
}
+ public String getTargetURL(boolean success) {
+ if (getTargetArea().equals(Publication.AUTHORING_AREA)) {
+ return super.getTargetURL(success);
+ }
+
+ String url = null;
+ if (!success) {
+ url = getSourceURL();
+ } else {
+ try {
+ Document document = getTargetDocument(success);
+ SiteNode node = document.getLink().getNode();
+ if (node.isTopLevel()) {
+ url = document.getPublication().getId() + "/" + document.getArea() + "/";
+ } else {
+ SiteNode parent = node.getParent();
+ SiteNode authoringParent = document.getPublication().getArea(
+ Publication.AUTHORING_AREA).getSite().getNode(parent.getPath());
+ String language = authoringParent.getLanguages()[0];
+ url = authoringParent.getLink(language).getDocument().getCanonicalWebappURL();
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return url + getExitQueryString();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org