From c350b0140a78ff74b34859913e99df94b228e703 Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Thu, 15 Oct 2009 10:38:44 +0000 Subject: [PATCH] Merged V3.2 to HEAD 16841: Fix for ETHREEOH-3046 - discussion post replies and further post content now all set to UTF-8 encoding format. 16853: Merged V3.1 to V3.2 13681: Disable CMIS Web Services. 13958: ETHREEOH-1625 - Incorrect save file process via Office Addin 14026: ETHREEOH-1805 - update GET login web script description to recommend use of POST login web script instead. 16861: Merged V3.1 to V3.2 14162: ETHREEOH-1733 - multiday events display correctly 14273: fix for ETHREEOH-2031 14274: fix for event not adjusted by height issue in week view, after adding 16867: Merged V3.1 to V3.2 15429: The solution is to remove 'label' and 'description attributes' and add appropriate 'label-id' and 'description-id' attributes in web-client\config\alfresco\web-client-config.xml for dashlets. Appropriate ids were added into webclient.properties. 16677: ETHREEOH-1208 - Upload/recall documents with apostrophe/accent via Alfresco Office plugin 16869: Merged V3.1 to V3.2 16848: Merged V2.2 to V3.1 15217: Fix for ETWOTWO-1268. Check for existence of desired control on first step of the dialog. 15218: Fix for ETWOTWO-1269. Remove node.hasPermission(PermissionService.CREATE_CHILDREN) from CheckoutDocEvaluator#evaluate method (like 3.2 version). 16849: Merged V2.2 to V3.1 15424: ETWOTWO-1349 16851: Merged V2.2 to V3.1 15432: **RECORD ONLY** Input characters validation script was modified to disallow !@#$%^&*(). 15433: This check-in fixes ETWOTWO-1351, ETWOTWO-1352, ETWOTWO-1353 because their behaviour is similar. 16874: Merged DEV/TEMPORARY to V3.2 16789: ETHREEOH-1895: Incorrect working of Link Destination Details 16790: ETHREEOH-2372: Incorrect working of Link Destination Details 16791: ETHREEOH-2342: Error message appear when "Coordinator" try to remove himself from the space 16793: ETHREEOH-1364 & ETHREEOH-1367 16794: ETHREEOH-2358: Letters and special symbols can be typed in Date value of property while creation of Content Rule and it leads to error 16837: ETHREEOH-2631: two jsp:root elements cause compilation error in Weblogic 10.3.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16956 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/messages/webclient.properties | 14 +---- .../app/servlet/ExternalAccessServlet.java | 3 +- .../alfresco/web/bean/admin/ImportDialog.java | 17 +++++- .../web/bean/forums/CreatePostDialog.java | 3 + .../bean/users/RemoveInvitedUserDialog.java | 37 ++++++++----- .../web/bean/users/UserMembersBean.java | 2 +- .../common/renderer/DatePickerRenderer.java | 2 + .../property/BaseAssociationEditor.java | 6 ++ source/web/jsp/ml/add-translation-dialog.jsp | 5 +- .../web/jsp/rules/compare-date-property.jsp | 27 +++++++++ .../configure-rendering-engines.jsp | 42 ++++++++++++-- .../jsp/wcm/create-form-wizard/details.jsp | 3 +- .../create-website-wizard/form-details.jsp | 23 ++++++-- .../create-website-wizard/form-templates.jsp | 55 ++++++++++++++++++- 14 files changed, 193 insertions(+), 46 deletions(-) diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index 3f7a56c416..9adec0e791 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -2103,16 +2103,4 @@ condition_composite_summary_not=Composite Condition ({0} Conditions {1} and Inve condition_composite_error=Composite Condition (ERROR) component_property=Property -component_value=Value - -document_list_title=Document List -my_spaces_list_title=My Spaces List -my_tasks_title=My Tasks -my_web_forms_title=My Web Forms -my_web_files_title=My Web Files - -document_list_desc=Document List WebScript -my_spaces_list_desc=My Spaces WebScript -my_tasks_desc=My Tasks WebScript -my_web_forms_desc=My Web Forms WebScript -my_web_files_desc=My Web Files WebScript +component_value=Value \ No newline at end of file diff --git a/source/java/org/alfresco/web/app/servlet/ExternalAccessServlet.java b/source/java/org/alfresco/web/app/servlet/ExternalAccessServlet.java index 94f37a967b..9bb0a5b2d7 100644 --- a/source/java/org/alfresco/web/app/servlet/ExternalAccessServlet.java +++ b/source/java/org/alfresco/web/app/servlet/ExternalAccessServlet.java @@ -173,6 +173,7 @@ public class ExternalAccessServlet extends BaseServlet browseBean.setupContentAction(nodeRef.getId(), true); } + fc.getExternalContext().getSessionMap().put(AlfrescoNavigationHandler.EXTERNAL_CONTAINER_SESSION, Boolean.TRUE); // perform the appropriate JSF navigation outcome NavigationHandler navigationHandler = fc.getApplication().getNavigationHandler(); navigationHandler.handleNavigation(fc, null, "dialog:" + OUTCOME_DOCDETAILS); @@ -205,7 +206,7 @@ public class ExternalAccessServlet extends BaseServlet // setup the Space on the browse bean browseBean.setupSpaceAction(nodeRef.getId(), true); } - + fc.getExternalContext().getSessionMap().put(AlfrescoNavigationHandler.EXTERNAL_CONTAINER_SESSION, Boolean.TRUE); // perform the appropriate JSF navigation outcome NavigationHandler navigationHandler = fc.getApplication().getNavigationHandler(); navigationHandler.handleNavigation(fc, null, "dialog:" + OUTCOME_SPACEDETAILS); diff --git a/source/java/org/alfresco/web/bean/admin/ImportDialog.java b/source/java/org/alfresco/web/bean/admin/ImportDialog.java index 4226e7949c..bc99415a8f 100644 --- a/source/java/org/alfresco/web/bean/admin/ImportDialog.java +++ b/source/java/org/alfresco/web/bean/admin/ImportDialog.java @@ -32,6 +32,7 @@ import java.util.Map; import javax.faces.context.FacesContext; +import org.alfresco.i18n.I18NUtil; import org.alfresco.model.ContentModel; import org.alfresco.repo.action.executer.ImporterActionExecuter; import org.alfresco.repo.content.MimetypeMap; @@ -42,6 +43,7 @@ import org.alfresco.service.cmr.action.ActionService; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentService; import org.alfresco.service.cmr.repository.ContentWriter; +import org.alfresco.service.cmr.repository.DuplicateChildNodeNameException; import org.alfresco.service.cmr.repository.MimetypeService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.NamespaceService; @@ -69,6 +71,7 @@ public class ImportDialog extends BaseDialogBean private static final String DEFAULT_OUTCOME = "dialog:close"; private static final String MSG_ERROR = "error_import"; + private static final String ERR_DUPLICATE_NAME = "system.err.duplicate_name"; private static final String MSG_ERROR_NO_FILE = "error_import_no_file"; private static final String MSG_ERROR_EMPTY_FILE = "error_import_empty_file"; private static final String MSG_OK = "ok"; @@ -139,8 +142,18 @@ public class ImportDialog extends BaseDialogBean } catch (Throwable e) { - Utils.addErrorMessage(MessageFormat.format(Application.getMessage( - FacesContext.getCurrentInstance(), MSG_ERROR), e.toString()), e); + if (e instanceof DuplicateChildNodeNameException) + { + String name = ((DuplicateChildNodeNameException)e).getName(); + String err_mess = MessageFormat.format(I18NUtil.getMessage(ERR_DUPLICATE_NAME), name); + Utils.addErrorMessage(MessageFormat.format(Application.getMessage( + FacesContext.getCurrentInstance(), MSG_ERROR), err_mess), e); + } + else + { + Utils.addErrorMessage(MessageFormat.format(Application.getMessage( + FacesContext.getCurrentInstance(), MSG_ERROR), e.toString()), e); + } outcome = null; ReportedException.throwIfNecessary(e); } diff --git a/source/java/org/alfresco/web/bean/forums/CreatePostDialog.java b/source/java/org/alfresco/web/bean/forums/CreatePostDialog.java index 58b583987e..697a73e13b 100644 --- a/source/java/org/alfresco/web/bean/forums/CreatePostDialog.java +++ b/source/java/org/alfresco/web/bean/forums/CreatePostDialog.java @@ -69,6 +69,9 @@ public class CreatePostDialog extends CreateContentWizard // remove link breaks and replace with
this.content = Utils.replaceLineBreaks(this.content, false); + // set UTF-8 encoding for the post (all original posts are UTF-8 also) + this.encoding = "UTF-8"; + return super.finishImpl(context, outcome); } diff --git a/source/java/org/alfresco/web/bean/users/RemoveInvitedUserDialog.java b/source/java/org/alfresco/web/bean/users/RemoveInvitedUserDialog.java index 1900405787..72cafe17f2 100644 --- a/source/java/org/alfresco/web/bean/users/RemoveInvitedUserDialog.java +++ b/source/java/org/alfresco/web/bean/users/RemoveInvitedUserDialog.java @@ -30,7 +30,8 @@ import javax.faces.event.ActionEvent; import org.alfresco.web.app.Application; import org.alfresco.web.bean.dialog.BaseDialogBean; -public class RemoveInvitedUserDialog extends BaseDialogBean { +public class RemoveInvitedUserDialog extends BaseDialogBean +{ private static final long serialVersionUID = -7457234588814115434L; @@ -45,43 +46,51 @@ public class RemoveInvitedUserDialog extends BaseDialogBean { private SpaceUsersBean spaceUsersBean; @Override - public boolean getFinishButtonDisabled() { + public boolean getFinishButtonDisabled() + { return false; } @Override - protected String finishImpl(FacesContext context, String outcome) throws Exception { - spaceUsersBean.removeOK(); - return outcome; + protected String finishImpl(FacesContext context, String outcome) throws Exception + { + return spaceUsersBean.removeOK(); } - public void setupUserAction(ActionEvent event) { + public void setupUserAction(ActionEvent event) + { spaceUsersBean.setupUserAction(event); } - public String getPersonName() { + public String getPersonName() + { return spaceUsersBean.getPersonName(); } - public void setPersonName(String personName) { + public void setPersonName(String personName) + { this.spaceUsersBean.setPersonName(personName); } - public SpaceUsersBean getSpaceUsersBean() { + public SpaceUsersBean getSpaceUsersBean() + { return spaceUsersBean; } - public void setSpaceUsersBean(SpaceUsersBean spaceUsersBean) { + public void setSpaceUsersBean(SpaceUsersBean spaceUsersBean) + { this.spaceUsersBean = spaceUsersBean; } @Override - public String getCancelButtonLabel() { + public String getCancelButtonLabel() + { return Application.getMessage(FacesContext.getCurrentInstance(), BUTTON_NO); } @Override - public String getFinishButtonLabel() { + public String getFinishButtonLabel() + { return Application.getMessage(FacesContext.getCurrentInstance(), BUTTON_YES); } @@ -89,7 +98,7 @@ public class RemoveInvitedUserDialog extends BaseDialogBean { public String getContainerTitle() { FacesContext fc = FacesContext.getCurrentInstance(); - return Application.getMessage(fc, MSG_REMOVE_USER) + " " + Application.getMessage(fc, MSG_LEFT_QUOTE) - + spaceUsersBean.getPersonName() + Application.getMessage(fc, MSG_RIGHT_QUOTE); + return Application.getMessage(fc, MSG_REMOVE_USER) + " " + Application.getMessage(fc, MSG_LEFT_QUOTE) + spaceUsersBean.getPersonName() + + Application.getMessage(fc, MSG_RIGHT_QUOTE); } } diff --git a/source/java/org/alfresco/web/bean/users/UserMembersBean.java b/source/java/org/alfresco/web/bean/users/UserMembersBean.java index 4a5ff6e896..eb0e47741c 100644 --- a/source/java/org/alfresco/web/bean/users/UserMembersBean.java +++ b/source/java/org/alfresco/web/bean/users/UserMembersBean.java @@ -851,7 +851,7 @@ public abstract class UserMembersBean extends BaseDialogBean implements IContext */ public String removeOK() { - String outcome = OUTCOME_FINISH; + String outcome = getDefaultFinishOutcome(); UserTransaction tx = null; FacesContext context = FacesContext.getCurrentInstance(); diff --git a/source/java/org/alfresco/web/ui/common/renderer/DatePickerRenderer.java b/source/java/org/alfresco/web/ui/common/renderer/DatePickerRenderer.java index 9f6ea30aa1..2376282f80 100644 --- a/source/java/org/alfresco/web/ui/common/renderer/DatePickerRenderer.java +++ b/source/java/org/alfresco/web/ui/common/renderer/DatePickerRenderer.java @@ -402,6 +402,8 @@ public class DatePickerRenderer extends BaseRenderer { outputAttribute(out, component.getAttributes().get("disabled"), "disabled"); } + outputAttribute(out, clientId, "id"); + out.write(" onkeyup=\"checkOkButtonState();\" onchange=\"checkOkButtonState();\""); } else { diff --git a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java index e4208d064f..c79c05601c 100644 --- a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java +++ b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java @@ -44,6 +44,7 @@ import javax.faces.event.FacesEvent; import javax.transaction.UserTransaction; import org.alfresco.model.ContentModel; +import org.alfresco.repo.search.SearcherException; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authority.AuthorityDAO; import org.alfresco.service.cmr.dictionary.AssociationDefinition; @@ -1085,6 +1086,11 @@ public abstract class BaseAssociationEditor extends UIInput results = Repository.getServiceRegistry(context).getSearchService().query(searchParams); this.availableOptions = results.getNodeRefs(); } + catch (SearcherException se) + { + logger.info("Search failed for: " + query, se); + Utils.addErrorMessage(Application.getMessage(FacesContext.getCurrentInstance(), Repository.ERROR_QUERY)); + } finally { if (results != null) diff --git a/source/web/jsp/ml/add-translation-dialog.jsp b/source/web/jsp/ml/add-translation-dialog.jsp index dd185ff97c..d176219583 100644 --- a/source/web/jsp/ml/add-translation-dialog.jsp +++ b/source/web/jsp/ml/add-translation-dialog.jsp @@ -198,8 +198,9 @@ function checkButtonState() { - if (document.getElementById("dialog:dialog-body:name").value.length == 0 - || document.getElementById("dialog:dialog-body:language").selectedIndex == 0) + if (document.getElementById("dialog:dialog-body:name") == undefined || + document.getElementById("dialog:dialog-body:name").value.length == 0 || + document.getElementById("dialog:dialog-body:language").selectedIndex == 0) { document.getElementById("dialog:finish-button").disabled = true; } diff --git a/source/web/jsp/rules/compare-date-property.jsp b/source/web/jsp/rules/compare-date-property.jsp index 12ed1ee61e..9a6c72c629 100644 --- a/source/web/jsp/rules/compare-date-property.jsp +++ b/source/web/jsp/rules/compare-date-property.jsp @@ -40,6 +40,33 @@ var disabled = (inputField.value.length == 0); document.getElementById("contains-text-condition:ok-button").disabled = disabled; } + + function checkOkButtonState() + { + var input = document.getElementById("contains-text-condition:pattern_hour"); + if (!input.disabled) + { + if (input.value.length == 0 || input.value.charCodeAt(0) < 48 || input.value.charCodeAt(0) > 57 || + (input.value.length == 2 && (input.value.charCodeAt(1) < 48 || input.value.charCodeAt(1) > 57))) + { + document.getElementById("contains-text-condition:ok-button").disabled = true; + return; + } + } + input = document.getElementById("contains-text-condition:pattern_minute"); + if (!input.disabled) + { + if (input.value.length == 0 || input.value.charCodeAt(0) < 48 || input.value.charCodeAt(0) > 57 || + (input.value.length == 2 && (input.value.charCodeAt(1) < 48 || input.value.charCodeAt(1) > 57))) + { + document.getElementById("contains-text-condition:ok-button").disabled = true; + return; + } + } + + document.getElementById("contains-text-condition:ok-button").disabled = false; + } + diff --git a/source/web/jsp/wcm/create-form-wizard/configure-rendering-engines.jsp b/source/web/jsp/wcm/create-form-wizard/configure-rendering-engines.jsp index 695ca76cdc..acd29a73ac 100644 --- a/source/web/jsp/wcm/create-form-wizard/configure-rendering-engines.jsp +++ b/source/web/jsp/wcm/create-form-wizard/configure-rendering-engines.jsp @@ -57,6 +57,28 @@ rendering_engine_template_file_input.value = filename; rendering_engine_template_file_input.form.submit(); } + + function refresh_add_to_list_button() + { + var wizard = document.forms["wizard"]["wizard:wizard-body:rendering-engine"]; + var count = wizard.length; + var checked = false; + while (count > 0) + { + count--; + if (wizard[count].checked) checked = true; + } + var name = document.getElementById("wizard:wizard-body:name").value; + var output_path_pattern = document.getElementById("wizard:wizard-body:output-path-pattern").value; + if (name.length == 0 || output_path_pattern.length == 0 || !checked) + { + document.getElementById("wizard:wizard-body:add-to-list-button").disabled = true; + } + else + { + document.getElementById("wizard:wizard-body:add-to-list-button").disabled = false; + } + } @@ -86,6 +108,7 @@ type="file" size="35" name="alfFileInput" + contentEditable="false" onchange="javascript:handle_upload(this)"/> @@ -127,7 +150,8 @@ value="#{msg.rendering_engine}:"/> + disabled="#{WizardManager.bean.renderingEngineTemplateFileName == null}" + onchange="refresh_add_to_list_button();"> @@ -146,7 +170,9 @@ value="#{WizardManager.bean.renderingEngineTemplateName}" disabled="#{WizardManager.bean.renderingEngineTemplateFileName == null}" maxlength="1024" - size="35"/> + size="35" + onkeyup="refresh_add_to_list_button();" + onchange="refresh_add_to_list_button();"/> @@ -199,7 +225,9 @@ + style="width:100%;" + onkeyup="refresh_add_to_list_button();" + onchange="refresh_add_to_list_button();"/> @@ -207,7 +235,7 @@ - + @@ -218,7 +246,11 @@ value="#{msg.add_to_list_button}" actionListener="#{WizardManager.bean.addSelectedRenderingEngineTemplate}" styleClass="wizardButton" - disabled="#{WizardManager.bean.addToListDisabled}" /> + disabled="#{WizardManager.bean.renderingEngineTemplateFileName == null || + WizardManager.bean.renderingEngineName == null || + WizardManager.bean.renderingEngineTemplateName == null || + WizardManager.bean.mimetypeForRendition == null || + WizardManager.bean.outputPathPatternForRendition}" /> - + diff --git a/source/web/jsp/wcm/create-website-wizard/form-details.jsp b/source/web/jsp/wcm/create-website-wizard/form-details.jsp index 840841b57c..3bb70d16b6 100644 --- a/source/web/jsp/wcm/create-website-wizard/form-details.jsp +++ b/source/web/jsp/wcm/create-website-wizard/form-details.jsp @@ -31,6 +31,9 @@ <%@ page isELIgnored="false" %> + + + @@ -82,7 +90,7 @@ - + @@ -95,7 +103,7 @@ - + @@ -124,6 +132,11 @@ + @@ -141,7 +154,7 @@
+ + + + @@ -133,7 +146,7 @@ - +
- +
diff --git a/source/web/jsp/wcm/create-website-wizard/form-templates.jsp b/source/web/jsp/wcm/create-website-wizard/form-templates.jsp index 54dddbb741..6fc36e360d 100644 --- a/source/web/jsp/wcm/create-website-wizard/form-templates.jsp +++ b/source/web/jsp/wcm/create-website-wizard/form-templates.jsp @@ -30,6 +30,52 @@ <%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %> <%@ page isELIgnored="false" %> + + + + + + + + + + + + <%-- Template selection list --%> @@ -60,11 +106,16 @@ + + + - + - +