Author: sohil.shah(a)jboss.com
Date: 2007-07-17 15:10:45 -0400 (Tue, 17 Jul 2007)
New Revision: 7807
Removed:
branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/create.jsp
Modified:
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminConstants.java
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
Log:
CMS Administration: Create File: Validate title has content - JBPORTAL-1544
Modified:
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminConstants.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminConstants.java 2007-07-17
18:23:05 UTC (rev 7806)
+++
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminConstants.java 2007-07-17
19:10:45 UTC (rev 7807)
@@ -105,4 +105,6 @@
public static final String OP_VIEWPENDING = "view_pending_items";
public static final String OP_VIEWSEARCHRESULTS = "view_search_results";
+
+ public static final String OP_CREATEFILE_VALIDATION_ERROR =
"create_file_validation_error";
}
Modified:
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2007-07-17
18:23:05 UTC (rev 7806)
+++
branches/JBoss_Portal_Branch_2_6/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2007-07-17
19:10:45 UTC (rev 7807)
@@ -391,7 +391,7 @@
javax.portlet.PortletRequestDispatcher prd =
getPortletContext().getRequestDispatcher(CMSAdminConstants.CMS_JSP_PATH +
"/editbinary.jsp");
prd.include(rReq, rRes);
}
- else if (CMSAdminConstants.OP_CREATENEWTEXT.equals(op))
+ else if (CMSAdminConstants.OP_CREATENEWTEXT.equals(op) ||
CMSAdminConstants.OP_CREATEFILE_VALIDATION_ERROR.equals(op))
{
String sPath = rReq.getParameter("path");
@@ -422,9 +422,28 @@
rRes.setContentType("text/html");
rReq.setAttribute("currpath", sPath);
rReq.setAttribute("document_base_url", sbUrl.toString() +
this.buildURL(rReq, "/"));
+
+ //If a validation error occurred, re-populate data already submitted
+ if(rReq.getParameter("error:content") != null)
+ {
+ rReq.setAttribute("error:content",
rReq.getParameter("error:content"));
+ }
+ if(rReq.getParameter("error:description") != null)
+ {
+ rReq.setAttribute("error:description",
rReq.getParameter("error:description"));
+ }
+ if(rReq.getParameter("error:title") != null)
+ {
+ rReq.setAttribute("error:title",
rReq.getParameter("error:title"));
+ }
+ if(rReq.getParameter("error:language") != null)
+ {
+ rReq.setAttribute("error:language",
rReq.getParameter("error:language"));
+ }
+
javax.portlet.PortletRequestDispatcher prd =
getPortletContext().getRequestDispatcher(CMSAdminConstants.CMS_JSP_PATH +
"/create.jsp");
prd.include(rReq, rRes);
- }
+ }
else if (CMSAdminConstants.OP_EDIT.equals(op))
{
String sPath = rReq.getParameter("path");
@@ -984,6 +1003,27 @@
String sTitle = aReq.getParameter("title");
String sDescription = aReq.getParameter("description");
String sLanguage = aReq.getParameter("language");
+
+ //Perform server side data validation
+ if(sFileName == null || sFileName.trim().length() == 0)
+ {
+ //Validation Error occurred
+ //FileName should not be empty
+ aRes.setRenderParameter("op",
CMSAdminConstants.OP_CREATEFILE_VALIDATION_ERROR);
+
+ //set render parameters here
+ aRes.setRenderParameter("path", sDirectory);
+
+ //used to remember the data already submitted by the user
+ aRes.setRenderParameter("error:content",
aReq.getParameter("elm1"));
+ aRes.setRenderParameter("error:description",
aReq.getParameter("description"));
+ aRes.setRenderParameter("error:title",
aReq.getParameter("title"));
+ aRes.setRenderParameter("error:language",
aReq.getParameter("language"));
+
+ return;
+ }
+
+
if (!"".equals(sFileName) &&
!"".equals(sDirectory))
{
String sContent = aReq.getParameter("elm1");
@@ -1026,7 +1066,7 @@
CMSService.execute(newFileCMD);
}
aRes.setRenderParameter("path", sNewFilePath);
- }
+ }
aRes.setRenderParameter("op", CMSAdminConstants.OP_VIEWFILE);
}
Deleted:
branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/create.jsp
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/create.jsp 2007-07-17
18:23:05 UTC (rev 7806)
+++
branches/JBoss_Portal_Branch_2_6/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/create.jsp 2007-07-17
19:10:45 UTC (rev 7807)
@@ -1,162 +0,0 @@
-<%@ page import="
- org.jboss.portal.core.cms.ui.admin.CMSAdminConstants,
- java.util.Locale" %>
-<%@ page language="java"
extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
-<%@ taglib
uri="http://java.sun.com/portlet" prefix="portlet"
%>
-<%@ taglib uri="/WEB-INF/portal-lib.tld" prefix="n" %>
-<%@ page isELIgnored="false" %>
-
-<portlet:defineObjects/>
-
-<%
- String sCurrPath = (String)request.getAttribute("currpath");
- String[] langs = Locale.getISOLanguages();
- String sDocBase = (String)request.getAttribute("document_base_url");
- String sCSSURL = (String)request.getAttribute("css_url");
-%>
-
-<!-- tinyMCE -->
-<script language="javascript" type="text/javascript"
- src="<%= renderRequest.getContextPath() +
CMSAdminConstants.DEFAULT_IMAGES_PATH
%>/tiny_mce/tiny_mce_src.js"></script>
-<script language="javascript" type="text/javascript">
- tinyMCE.init({
- mode : "textareas",
- theme : "advanced",
- theme_advanced_disable : "styleselect",
- plugins :
"advhr,advimage,advlink,emotions,insertdatetime,preview,zoom,flash",
- theme_advanced_buttons1_add : "fontselect,fontsizeselect,forecolor",
- theme_advanced_buttons2_add_before: "cut,copy,paste,separator",
- theme_advanced_buttons2_add :
"separator,insertdate,inserttime,preview,zoom",
- theme_advanced_buttons3_add : "flash,advhr",
- content_css : "<%= sCSSURL %>",
- plugin_insertdate_dateFormat : "%Y-%m-%d",
- plugin_insertdate_timeFormat : "%H:%M:%S",
- relative_urls : "false",
- document_base_url : "<%= sDocBase %>",
- extended_valid_elements :
"style[type],a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],font[face|size|color],hr[class|width|size|noshade]"
- });
-
- var status = true;
- function toggleEditor()
- {
- if(status)
- {
- tinyMCE.execCommand("mceRemoveControl", false, "elm1");
- status = false;
- }
- else
- {
- tinyMCE.execCommand("mceAddControl", false, "elm1");
- status = true;
- }
- }
-</script>
-<!-- /tinyMCE -->
-
-<form name="pickform" method="post"
action="<portlet:actionURL>
- <portlet:param name="op" value="<%=
CMSAdminConstants.OP_SAVENEWTEXT %>"/>
- <portlet:param name="path" value=""/>
- </portlet:actionURL>">
- <input type="hidden" name="savetopath" value="<%=
sCurrPath %>">
-
- <table width="100%">
- <th
align="center"><b>${n:i18n("TITLE_CREATE")}</b></th>
- <tr>
- <td height="10"></td>
- </tr>
- <tr>
- <td>
- <table>
- <tr>
- <td>${n:i18n("CMS_CREATEFILEINDIR")}:
- </td>
- <td><%= sCurrPath %>
- </td>
- </tr>
- <tr>
- <td>${n:i18n("CMS_FILENAME")}:</td>
- <td><input
- type="text" name="filename"
- class="portlet-form-input-field">
- </td>
- </tr>
- <tr>
- <td>${n:i18n("CMS_DESCRIPTION")}:</td>
- <td><input type="text" size="40"
maxlength="80"
- name="description" value=""
- class="portlet-form-input-field"/></td>
- </tr>
- <tr>
- <td>
- ${n:i18n("CMS_TITLE")}:
- </td>
- <td><input type="text" size="40"
maxlength="80"
- name="title" value=""
- class="portlet-form-input-field"/></td>
- </tr>
- <tr>
- <td>
- ${n:i18n("CMS_LANGUAGE")}:
- </td>
- <td><select name="language"
- class="portlet-form-input-field">
- <option selected
- value="<%= Locale.getDefault().getLanguage()
%>"><%= Locale.getDefault().getDisplayLanguage() %>
- </option>
- <%
- for (int i = 0; i < langs.length; i++)
- {
- %>
- <option value="<%= langs[i] %>"><%= new
Locale(langs[i]).getDisplayLanguage() %>
- </option>
- <%
- }
- %>
- </select>
- </td>
- </tr>
- <tr>
- <td class="portlet-section-header" valign="bottom">
- ${n:i18n("CMS_WYSIWYG")}:
- </td>
- <td>
- <input type="checkbox" name="wysiwyg"
class="portlet-form-input-field" checked
onclick="javascript:toggleEditor();"/>
- </td>
- </tr>
- </table>
-</td>
-</tr>
-<tr>
- <td height="10"></td>
-</tr>
-<tr>
- <td class="portlet-section-alternate">
- <img src="<%= renderRequest.getContextPath() +
CMSAdminConstants.DEFAULT_IMAGES_PATH%>/info.gif" border="0"
- alt="Info"> Links to resources within this portal should be
absolute. For example: A link to an image
- located in default/images/back.gif
- should be typed in exactly as shown here.
- Do not prefix a slash (/) to the path of the resource. You can verify the link is
correct by clicking on the
- preview button in the editor.
- </td>
-</tr>
-<tr>
- <td height="10"></td>
-</tr>
-<tr>
- <td align="center">
- <textarea id="elm1" name="elm1" rows="20"
cols="80" style="width: 100%"></textarea>
- <br>
- <input type="submit" name="save"
value="${n:i18n("CMS_CREATE")}"
class="portlet-form-button"/>
- <input type="reset" name="reset" value="Reset"
class="portlet-form-button"/>
- </td>
-</tr>
-</table>
-</form>
-
-<a href="<portlet:renderURL>
- <portlet:param name="op" value="<%=
CMSAdminConstants.OP_MAIN %>"/>
- <portlet:param name="path"
- value="<%= sCurrPath %>"/>
- </portlet:renderURL>">
- <img src="<%= renderRequest.getContextPath() +
CMSAdminConstants.DEFAULT_IMAGES_PATH%>/browse.gif" border="0"
- alt="${n:i18n("CMS_BACKTOBROWSER")}"></a>