Merged V3.2 to HEAD

17251: Merged DEV-TEMPORARY to V3.2
      17225: ETHREEOH-1938: Empty 'Output path pattern' can be saved -Create Web Project wizard -step 4
   17252: Removed old stuff; added proprietary db config
          - (Merge: Only put PostgreSQL in)
   17260: Merged V3.1 to V3.2
      17028: Merged V2.2 to V3.1
         17027: *RECORD ONLY* Fix for ETWOTWO-1158 - login.jsp does no longer redirects authenticated users.
      17220: Fix for ETHREEOH-3077 Empty 'Title' can be saved -Create Web Project wizard -step 4
      17221: Fix for ETHREEOH-1363 Next button is enabled when mandatory fields ...


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18031 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2010-01-14 14:32:27 +00:00
parent f56da7800c
commit f52a94eb01
6 changed files with 136 additions and 76 deletions

View File

@@ -40,6 +40,7 @@
<jsp:directive.page import="org.alfresco.web.bean.wcm.CreateFormWizard"/>
<f:verbatim>
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/validation.js">&#160;</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/upload_helper.js">&#160;</script>
<script type="text/javascript">
function handle_upload(target)
@@ -79,6 +80,21 @@
document.getElementById("wizard:wizard-body:add-to-list-button").disabled = false;
}
}
function checkDisabledState()
{
var disabledElement = document.getElementById("wizard:wizard-body:add-to-list-button");
var outputPathInput = document.getElementById("wizard:wizard-body:output-path-pattern");
var additionalConditionInput = document.getElementById("wizard:wizard-body:name");
validateOutputPathPattern(disabledElement, outputPathInput, additionalConditionInput);
}
function refreshAndCheck()
{
checkDisabledState();
refresh_add_to_list_button();
}
</script>
</f:verbatim>
@@ -167,12 +183,12 @@
<h:outputText id="name-output-text"
value="#{msg.name}:"/>
<h:inputText id="name"
value="#{WizardManager.bean.renderingEngineTemplateName}"
value="#{WizardManager.bean.renderingEngineTemplateName}"
disabled="#{WizardManager.bean.renderingEngineTemplateFileName == null}"
maxlength="1024"
size="35"
onkeyup="refresh_add_to_list_button();"
onchange="refresh_add_to_list_button();"/>
size="35"
onkeyup="javascript:refreshAndCheck();"
onchange="javascript:refreshAndCheck();"/>
<h:column id="name-help"/>
<h:outputText id="no_graphic_image_title" value=""/>
@@ -224,10 +240,10 @@
value="#{msg.output_path_pattern}:"/>
<h:inputText id="output-path-pattern"
disabled="#{WizardManager.bean.renderingEngineTemplateFileName == null}"
value="#{WizardManager.bean.outputPathPatternForRendition}"
style="width:100%;"
onkeyup="refresh_add_to_list_button();"
onchange="refresh_add_to_list_button();"/>
value="#{WizardManager.bean.outputPathPatternForRendition}"
style="width:100%;"
onkeyup="javascript:refreshAndCheck();"
onchange="javascript:refreshAndCheck();"/>
<h:graphicImage id="graphic_image_output_path_pattern_help"
value="/images/icons/Help_icon.gif" style="cursor:help"
onclick="javascript:toggleOutputPathPatternHelp()" />

View File

@@ -87,6 +87,15 @@
schema_file_input.value = filename;
schema_file_input.form.submit();
}
function checkDisabledState()
{
var disabledElement = document.getElementById('wizard:next-button');
var outputPathInput = document.getElementById('wizard:wizard-body:form_instance_data_output_path_pattern');
var additionalConditionInput = document.getElementById('wizard:wizard-body:form-name');
validateOutputPathPattern(disabledElement, outputPathInput, additionalConditionInput);
}
</script>
</f:verbatim>
@@ -200,9 +209,8 @@
<h:outputText id="out_name" value="#{msg.name}:"/>
<h:inputText id="form-name"
disabled="#{WizardManager.bean.schemaFileName == null}"
value="#{WizardManager.bean.formName}"
maxlength="1024"
size="35"/>
value="#{WizardManager.bean.formName}" onkeyup="javascript:checkDisabledState();"
maxlength="1024" size="35"/>
<h:column id="no_img_name_help"/>
<h:column id="no_img_title"/>
@@ -234,7 +242,8 @@
disabled="#{WizardManager.bean.schemaFileName == null}"
value="#{WizardManager.bean.outputPathPatternForFormInstanceData}"
style="width:100%"
rendered="#{WizardManager.bean.isWebForm == true}"/>
rendered="#{WizardManager.bean.isWebForm == true}"
onkeyup="javascript:checkDisabledState();" />
<h:graphicImage id="img_form_instance_data_output_path_pattern_help"
value="/images/icons/Help_icon.gif" style="cursor:help"
onclick="javascript:toggleOutputPathPatternHelp()"

View File

@@ -31,11 +31,11 @@
<%@ page isELIgnored="false" %>
<f:verbatim>
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/validation.js"> </script>
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/validation.js">&#160;</script>
<script type="text/javascript">
var finishButtonPressed = false;
window.onload = pageLoaded;
window.addEvent('load',pageLoaded);
function pageLoaded()
{

View File

@@ -32,34 +32,25 @@
<f:verbatim>
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/validation.js"> </script>
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/validation.js">&#160;</script>
<script type="text/javascript">
window.onload = pageLoaded;
window.addEvent('load',pageLoaded);
function pageLoaded()
{
document.getElementById("dialog:dialog-body:title").focus();
checkButtonState();
checkDisabledState();
}
function checkButtonState()
function checkDisabledState()
{
var name = document.getElementById("dialog:dialog-body:title");
var filepattern = document.getElementById("dialog:dialog-body:filepattern");
var description = document.getElementById("dialog:dialog-body:description");
if (!validateName(name, "", false) || filepattern.value.length == 0 || description.value.length > 1024)
{
document.getElementById("dialog:finish-button").disabled = true;
}
else
{
document.getElementById("dialog:finish-button").disabled = false;
}
var disabledElement = document.getElementById('dialog:finish-button');
var outputPathInput = document.getElementById('dialog:dialog-body:filepattern');
var additionalConditionInput = document.getElementById('dialog:dialog-body:title');
var description = document.getElementById("dialog:dialog-body:description");
validateOutputPathPattern(disabledElement, outputPathInput, additionalConditionInput);
disabledElement.disabled = (disabledElement.disabled || description.value.length > 1024 || !validateName(name, "", false));
}
</script>
</f:verbatim>
@@ -90,7 +81,7 @@
</td>
<td>
</f:verbatim>
<h:inputText id="title" value="#{DialogManager.bean.title}" size="45" maxlength="1024" onchange="javascript:checkButtonState();" onkeyup="javascript:checkButtonState();" />
<h:inputText id="title" value="#{DialogManager.bean.title}" size="45" maxlength="1024" onchange="javascript:checkDisabledState();" onkeyup="javascript:checkDisabledState();" />
<f:verbatim>
</td>
</tr>
@@ -103,7 +94,7 @@
</td>
<td>
</f:verbatim>
<h:inputTextarea id="description" value="#{DialogManager.bean.description}" rows="3" cols="42" onchange="javascript:checkButtonState();" onkeyup="javascript:checkButtonState();" />
<h:inputTextarea id="description" value="#{DialogManager.bean.description}" rows="3" cols="42" onchange="javascript:checkDisabledState();" onkeyup="javascript:checkDisabledState();" />
<f:verbatim>
</td>
</tr>
@@ -132,7 +123,7 @@
</table>
<table cellpadding="3" cellspacing="2" border="0">
<tr>
<td align="left" width=16>
<td align="left" width="16">
</f:verbatim>
<h:graphicImage value="/images/icons/required_field.gif" alt="#{msg.required_field}" />
<f:verbatim>
@@ -146,7 +137,7 @@
</td>
<td>
</f:verbatim>
<h:inputText id="filepattern" value="#{DialogManager.bean.outputPathPattern}" size="70" maxlength="1024" onchange="javascript:checkButtonState();" onkeyup="javascript:checkButtonState();" />
<h:inputText id="filepattern" value="#{DialogManager.bean.outputPathPattern}" size="70" maxlength="1024" onchange="javascript:checkDisabledState();" onkeyup="javascript:checkDisabledState();" />
<h:graphicImage value="/images/icons/Help_icon.gif" style="vertical-align:-20%;padding-left:8px;cursor:help" onclick="javascript:toggleOutputPathPatternHelp()" />
<f:verbatim>
</td>

View File

@@ -30,52 +30,68 @@
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
<%@ page isELIgnored="false" %>
<f:verbatim>
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/validation.js"> </script>
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/validation.js">&#160;</script>
<script type="text/javascript">
window.onload = pageLoaded;
var length = 0;
var outputPathPatterns = new Array();
function pageLoaded()
window.addEvent('load', accumulateEmptyPatternFields);
function accumulateEmptyPatternFields()
{
checkButtonState();
for(var i = 0, element = getElement(i); null != element; i++, element = getElement(i))
{
if (isEmpty(element))
{
addElement(element);
}
}
document.getElementById("dialog:finish-button").disabled = length > 0;
}
function checkButtonState(control)
function getElement(number)
{
var outputPatterns = $("dialog:dialog-body:templates").getElements('input[name^=dialog:dialog-body:templates]');
var id = "dialog:dialog-body:templates:" + number + ":in-01";
return document.getElementById(id);
}
var disable = false;
for (var i = 0; i < outputPatterns.length; i++)
{
if (outputPatterns[i].value.length == 0)
{
disable = true;
break;
}
}
if (disable)
{
document.getElementById("dialog:finish-button").disabled = true;
}
else
{
document.getElementById("dialog:finish-button").disabled = false;
}
}
function checkDisabledState(element)
{
if (isEmpty(element))
{
if ("undefined" == typeof(outputPathPatterns[element.id]))
{
addElement(element);
}
}
else
{
if ("undefined" != typeof(outputPathPatterns[element.id]))
{
length--;
delete outputPathPatterns[element.id];
}
}
document.getElementById("dialog:finish-button").disabled = length > 0;
}
function isEmpty(element)
{
var disabledElement = new Object();
disabledElement.disabled = false;
validateOutputPathPattern(disabledElement, element, null);
return disabledElement.disabled;
}
function addElement(element)
{
length++;
outputPathPatterns[element.id] = element;
}
</script>
</f:verbatim>
<h:panelGrid id="grid-1" columns="1" cellpadding="2" cellpadding="2" width="100%">
<%-- Template selection list --%>
<h:outputText id="msg-select" styleClass="mainSubText" value="#{msg.website_select_templates}:" />
@@ -113,9 +129,10 @@
<f:facet name="header">
<h:outputText id="head-2" value="#{msg.output_path_pattern}" />
</f:facet>
<h:graphicImage value="/images/icons/required_field.gif" alt="#{msg.required_field}" /><h:outputLabel value=" " />
<h:inputText id="in-01" value="#{row.outputPathPattern}" size="70" maxlength="1024"
onchange="javascript:checkButtonState(this);"
onkeyup="javascript:checkButtonState(this);" />
onchange="javascript:checkDisabledState(this);"
onkeyup="javascript:checkDisabledState(this);" />
</h:column>
<h:column>
<a:actionLink id="act-01" actionListener="#{DialogManager.bean.removeTemplate}" image="/images/icons/delete.gif"

View File

@@ -295,5 +295,32 @@ function decode(str)
}
return s0;
}
/**
* This function validates Output Path Pattern parameter for Create Web Site and
* Create Form Wizards
*
* @param disablingElement -
* some input control for disabling if Pattern parameter is not valid
* @param outputPathInput -
* input that contains Pattern parameter
* @param additionalConditionInput -
* input that contains additional parameter for enabling
* disablingElement. If this parameter is 'null' then
* disablingElement will be enabled
*/
function validateOutputPathPattern(disabledElement, outputPathInput, additionalConditionInput)
{
var path = (null != outputPathInput) ? (outputPathInput.value) : (null);
var pattern = new RegExp("^([\\s\u0020]*)([^\\s\\u0020]+)([^\\0]*)$", "");
if ((null == path) || ("" == path) || !pattern.test(path))
{
disabledElement.disabled = true;
}
else
{
value = (null != additionalConditionInput) ? (additionalConditionInput.value) : (null);
disabledElement.disabled = (null != value) ? (("" == value.trim()) || !pattern.test(value)) : (false);
}
}