Author: jstroomer
Date: 2010-04-20 14:21:26 +0200 (Tue, 20 Apr 2010)
New Revision: 41970

Added:
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/contentelement/
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/contentelement/search_responseform_posrel_contentelement.xml
Modified:
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform/ResponseFormPortlet.java
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/edit_responseform.xml
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/load_responseform.xml
Log:
CMSC-1667   Allow content elements to be linked to dynamic forms

Modified: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform/ResponseFormPortlet.java
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform/ResponseFormPortlet.java
 2010-04-20 11:54:02 UTC (rev 41969)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/java/com/finalist/portlets/responseform/ResponseFormPortlet.java
 2010-04-20 12:21:26 UTC (rev 41970)
@@ -12,6 +12,7 @@
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.*;
+import javax.servlet.http.HttpServletResponse;
 
 import javax.activation.DataSource;
 import javax.mail.MessagingException;
@@ -27,8 +28,10 @@
 
 import com.finalist.cmsc.mmbase.PropertiesUtil;
 import com.finalist.cmsc.mmbase.RelationUtil;
+import com.finalist.cmsc.mmbase.ResourcesUtil;
 import com.finalist.cmsc.portlets.ContentPortlet;
 import com.finalist.cmsc.services.publish.Publish;
+import org.mmbase.bridge.Node;
 import com.finalist.cmsc.util.EmailSender;
 import com.finalist.cmsc.util.ServerUtil;
 
@@ -162,6 +165,21 @@
          }
          else {
             request.getPortletSession().setAttribute("confirm", "confirm");
+            
+            Cloud cloud = getCloudForAnonymousUpdate();
+            Node responseForm = cloud.getNode(contentelement);
+            NodeList relatedContentElementList = 
SearchUtil.findRelatedOrderedNodeList(responseForm, "contentelement", "posrel", 
"posrel.pos");            
+            NodeIterator relatedContentElementIterator = 
relatedContentElementList.nodeIterator();
+            while (relatedContentElementIterator.hasNext()) {
+               Node relatedContentElement = 
relatedContentElementIterator.nextNode();
+               String url  = getContentUrl(relatedContentElement);
+               HttpServletResponse httpResponse = (HttpServletResponse) 
response;
+               try {
+                   httpResponse.sendRedirect(url);
+               } catch (IOException ioex) {
+                   getLogger().error("Redirect failed");
+               }
+            }
          }
       }
       else {
@@ -487,4 +505,9 @@
       return maxFileSize * MEGABYTE;
    }
 
+   private String getContentUrl(Node node) {
+       return ResourcesUtil.getServletPathWithAssociation("content", 
"/content/*", node.getStringValue("number"), node
+             .getStringValue("title"));
+    }
+   
 }

Added: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/contentelement/search_responseform_posrel_contentelement.xml
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/contentelement/search_responseform_posrel_contentelement.xml
                               (rev 0)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/contentelement/search_responseform_posrel_contentelement.xml
       2010-04-20 12:21:26 UTC (rev 41970)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!DOCTYPE list PUBLIC "-//MMBase/DTD editwizard 1.0//EN" 
"http://www.mmbase.org/dtd/wizard-schema_1_0.dtd";>
+<list role="posrel" destination="contentelement" minoccurs="0" maxoccurs="*" 
orderby="fie...@name='pos']" ordertype="number" searchdir="destination">
+    <title xml:lang="nl">Content element</title>
+    <title xml:lang="en">Content element</title>
+    <title xml:lang="zh">内容元素</title>
+
+    <item>
+        <field name="title">
+            <prompt xml:lang="en">Title</prompt>
+            <prompt xml:lang="nl">Titel</prompt>
+            <prompt xml:lang="zh">标题</prompt>
+        </field>
+    </item>
+
+    <command name="contentselector"></command>
+
+    <action type="create">
+        <relation destinationtype="contentelement" role="posrel" 
createdir="destination">
+            <field name="pos">{sum(//relati...@role='posrel' and 
@lastitem='true']/obje...@searchtype='contentelement']/../fie...@name='pos'])+{$pos}}</field>
+            <object type="contentelement" />
+        </relation>
+    </action>
+</list>
\ No newline at end of file

Modified: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/edit_responseform.xml
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/edit_responseform.xml
 2010-04-20 11:54:02 UTC (rev 41969)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/edit_responseform.xml
 2010-04-20 12:21:26 UTC (rev 41970)
@@ -84,4 +84,5 @@
       <prompt xml:lang="zh">感谢 HTML</prompt>
    </field>
    <list include="config/formfield/search_responseform_posrel_formfield.xml" />
+   <list 
include="config/contentelement/search_responseform_posrel_contentelement.xml" />
 </form-schema>
\ No newline at end of file

Modified: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/load_responseform.xml
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/load_responseform.xml
 2010-04-20 11:54:02 UTC (rev 41969)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-dynamicforms/src/webapp/editors/config/responseform/load_responseform.xml
 2010-04-20 12:21:26 UTC (rev 41970)
@@ -23,4 +23,6 @@
    <relation destination="contentchannel" role="creationrel" />
    <relation destination="contentchannel" role="contentrel" />
    <relation destination="formfield" role="posrel" />
+   <relation destination="contentelement" role="posrel" />
+   
 </action>
\ No newline at end of file

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to