Merged V3.1 to HEAD

13023: ISO date fix for ETHREEOH-1215
   13153: Merged V2.1-A to V3.1
      9026: - Added "My Content" link to error page
            - Manual merge of Safari fixes
            - Fixed exploded build target after recent removals
   13155: Restored line removed in merge
   13156: Merged V2.1-A to V3.1
      9027: *RECORD-ONLY* Further Safari rendering fix
      9028: Removed use of generics from JSP so it compiles in JBoss
   13161: Merged V2.1-A to V3.1
      9051: *RECORD-ONLY* Fix for ACT 2806 (linked content was returning 404 error)
   13162: Merged V2.1-A to V3.1
      8680: *RECORD-ONLY* Added back "too_many_users" message as it got removed
   13164: Merged V2.1-A to V3.1
      8699: Added DOCTYPE line
      8994: Added Copyright for Sun due to Rhino debugger use.
      9388: *RECORD-ONLY* ACT-3263 - Localization of "username" and "password" in login.jsp
   13166: Merged V2.1-A to V3.1
      9748: *RECORD-ONLY* Fix for ACT 3455 (ADB-90) - Editor role can not check out documents
      10199: Fix for ADB-86: Clicking 'Cancel' while adding a composite condition for a Rule on a space in CS ES has no effect
   13167: Merged V2.1-A to V3.1
      10673: Fix for ADB-110/ACT-4247: Review/Change Records Management URLs and make it compatible to Adobe's build
      10674: Fix for ADB-109: setting log4j.rootLogger to WARN thows unexpected warn when accessing My Home
   13168: Merged V2.1-A to V3.1
      10883: *RECORD-ONLY* Fix for ADB-124: Change Search field length to 1
      10905: Fix for ADB-114 ACT 4425. Also will fix ALFCOM-1895 when merged to HEAD.
      10961: Fix for ADB-44: Create menu link should not be visible if the menu is empty
      10962: Fix for ADB-61: Alfresco breadcrumbs + Navigator become inconsistent....

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13567 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-03-11 14:25:06 +00:00
parent de9feffb28
commit a07c125fd3
11 changed files with 97 additions and 13 deletions

View File

@@ -1935,6 +1935,7 @@ error_domain_mismatch=Domain mismatch: expected = {0}, actual = {1}
# Confirmations # Confirmations
return_to_application=Return to application return_to_application=Return to application
return_home=My Content
delete_space_info=To remove this space and all of its contents, click OK. delete_space_info=To remove this space and all of its contents, click OK.
delete_space_assoc_info=This space appears in multiple locations, to remove the space from the current location, click OK. delete_space_assoc_info=This space appears in multiple locations, to remove the space from the current location, click OK.
delete_space_confirm=Are you sure you want to delete \"{0}\" and all its contents? delete_space_confirm=Are you sure you want to delete \"{0}\" and all its contents?

View File

@@ -734,7 +734,15 @@ public class NavigationBean implements Serializable
return this.currentNode; return this.currentNode;
} }
/**
* @return Boolean value according to CREATE_CHILDREN permission on the current node.
*/
public boolean isCreateChildrenPermissionEnabled()
{
return getCurrentNode().hasPermission(PermissionService.CREATE_CHILDREN);
}
/** /**
* @return Returns the breadcrumb handler elements representing the location path of the UI. * @return Returns the breadcrumb handler elements representing the location path of the UI.
*/ */

View File

@@ -196,14 +196,28 @@ public class CreateCompositeRuleWizard extends CreateRuleWizard
{ {
if (isAddingCompositeCondition()) if (isAddingCompositeCondition())
{ {
//don't clear when editing, since we are looking at a REFERENCE to an existing condition // don't clear when editing, since we are looking at a REFERENCE to an existing condition
if (this.editingCondition == false) { if (this.editingCondition == false)
{
this.currentConditionProperties.clear(); this.currentConditionProperties.clear();
} }
// reset the action drop down // reset the action drop down
this.selectedCondition = null; this.selectedCondition = null;
// determine what page to go back to
FacesContext context = FacesContext.getCurrentInstance();
String currentViewId = context.getViewRoot().getViewId();
IHandler handler = this.conditionHandlers.get(CompositeConditionHandler.NAME); IHandler handler = this.conditionHandlers.get(CompositeConditionHandler.NAME);
goToPage(FacesContext.getCurrentInstance(), handler.getJSPPath()); String compositePage = handler.getJSPPath();
if (currentViewId.equals(compositePage))
{
this.returnViewId = getWizardContainerViewId(context);
}
goToPage(FacesContext.getCurrentInstance(), this.returnViewId);
} }
else else
{ {

View File

@@ -74,6 +74,7 @@ public class UIActionLink extends UICommand
this.tooltip = (String)values[5]; this.tooltip = (String)values[5];
this.target = (String)values[6]; this.target = (String)values[6];
this.verticalAlign = (String)values[7]; this.verticalAlign = (String)values[7];
this.onclick = (String)values[8];
} }
/** /**
@@ -91,7 +92,8 @@ public class UIActionLink extends UICommand
this.href, this.href,
this.tooltip, this.tooltip,
this.target, this.target,
this.verticalAlign this.verticalAlign,
this.onclick
}; };
} }

View File

@@ -349,7 +349,23 @@ public class ActionLinkRenderer extends BaseRenderer
if (link.getHref() == null) if (link.getHref() == null)
{ {
out.write("<a href='#' onclick=\""); out.write("<a href='#' onclick=\"");
out.write(Utils.generateFormSubmit(context, link, Utils.getActionHiddenFieldName(context, link), link.getClientId(context), getParameterComponents(link)));
// if we have an overriden onclick add that
if (link.getOnclick() != null)
{
out.write(link.getOnclick());
}
else
{
// generate JavaScript to set a hidden form field and submit
// a form which request attributes that we can decode
out.write(Utils.generateFormSubmit(context,
link,
Utils.getActionHiddenFieldName(context, link),
link.getClientId(context),
getParameterComponents(link)));
}
out.write('"'); out.write('"');
} }
else else

View File

@@ -197,6 +197,8 @@ public class UITemplate extends SelfRenderingComponent
Map root = DefaultModelHelper.buildDefaultModel(services, user, templateRef); Map root = DefaultModelHelper.buildDefaultModel(services, user, templateRef);
root.put("url", new URLHelper(fc.getExternalContext().getRequestContextPath()));
// merge models // merge models
if (model instanceof Map) if (model instanceof Map)
{ {
@@ -302,4 +304,23 @@ public class UITemplate extends SelfRenderingComponent
return FileTypeImageUtils.getFileTypeImage(FacesContext.getCurrentInstance(), filename, size); return FileTypeImageUtils.getFileTypeImage(FacesContext.getCurrentInstance(), filename, size);
} }
}; };
/**
* URL Helper - to supply ${url.context} value for templates in JSF client
*/
public static class URLHelper
{
String context;
public URLHelper(String context)
{
this.context = context;
}
public String getContext()
{
return context;
}
}
} }

View File

@@ -50,6 +50,7 @@ public class SystemErrorTag extends TagSupport
private static final long serialVersionUID = -7336055169875448199L; private static final long serialVersionUID = -7336055169875448199L;
private static final String MSG_RETURN_TO_APP = "return_to_application"; private static final String MSG_RETURN_TO_APP = "return_to_application";
private static final String MSG_RETURN_HOME = "return_home";
private static final String MSG_HIDE_DETAILS = "hide_details"; private static final String MSG_HIDE_DETAILS = "hide_details";
private static final String MSG_SHOW_DETAILS = "show_details"; private static final String MSG_SHOW_DETAILS = "show_details";
private static final String MSG_LOGOUT = "logout"; private static final String MSG_LOGOUT = "logout";
@@ -267,6 +268,12 @@ public class SystemErrorTag extends TagSupport
// this can be used by the user if the app has got into a total mess // this can be used by the user if the app has got into a total mess
if (Application.inPortalServer() == false) if (Application.inPortalServer() == false)
{ {
out.write("\n<div style='padding-top:16px;'><a href='");
out.write(((HttpServletRequest)pageContext.getRequest()).getContextPath());
out.write("'>");
out.write(bundle.getString(MSG_RETURN_HOME));
out.write("</a></div>");
out.write("\n<div style='padding-top:16px;'><a href='"); out.write("\n<div style='padding-top:16px;'><a href='");
out.write(((HttpServletRequest)pageContext.getRequest()).getContextPath()); out.write(((HttpServletRequest)pageContext.getRequest()).getContextPath());
out.write(ExternalAccessServlet.generateExternalURL("logout", null)); out.write(ExternalAccessServlet.generateExternalURL("logout", null));

View File

@@ -114,10 +114,20 @@ else
try { tx.rollback(); } catch (Throwable tex) {} try { tx.rollback(); } catch (Throwable tex) {}
} }
} }
if(request.getMethod().equalsIgnoreCase("GET"))
if (request.getMethod().equalsIgnoreCase("GET"))
{ {
if (NavigationBean.LOCATION_MYALFRESCO.equals(location)) if (NavigationBean.LOCATION_MYALFRESCO.equals(location))
{ {
// Clear previous location - Fixes the issue ADB-61
FacesContext fc = FacesContext.getCurrentInstance();
if (fc != null)
{
NavigationBean navigationBean = (NavigationBean)FacesHelper.getManagedBean(fc, "NavigationBean");
navigationBean.setLocation(null);
navigationBean.setToolbarLocation(null);
}
// Send redirect
response.sendRedirect(request.getContextPath() + "/faces/jsp/dashboards/container.jsp"); response.sendRedirect(request.getContextPath() + "/faces/jsp/dashboards/container.jsp");
} }
else else
@@ -131,4 +141,4 @@ else if (request.getMethod().equalsIgnoreCase("PROPFIND") ||
{ {
response.sendRedirect(request.getContextPath() + "/webdav/"); response.sendRedirect(request.getContextPath() + "/webdav/");
} }
%> %>

View File

@@ -289,6 +289,6 @@
InviteSpaceUsersWizard wizard = (InviteSpaceUsersWizard)FacesHelper.getManagedBean(FacesContext.getCurrentInstance(), "InviteSpaceUsersWizard"); InviteSpaceUsersWizard wizard = (InviteSpaceUsersWizard)FacesHelper.getManagedBean(FacesContext.getCurrentInstance(), "InviteSpaceUsersWizard");
if (wizard != null) if (wizard != null)
{ {
wizard.init(new HashMap<String, String>()); wizard.init(new HashMap());
} }
%> %>

View File

@@ -139,7 +139,7 @@
</td> </td>
<td style="padding-left:4px" width=52> <td style="padding-left:4px" width=52>
<%-- Create actions menu --%> <%-- Create actions menu --%>
<a:menu id="createMenu" itemSpacing="4" label="#{msg.create_options}" image="/images/icons/menu.gif" menuStyleClass="moreActionsMenu" style="white-space:nowrap"> <a:menu id="createMenu" itemSpacing="4" label="#{msg.create_options}" image="/images/icons/menu.gif" menuStyleClass="moreActionsMenu" style="white-space:nowrap" rendered="#{NavigationBean.createChildrenPermissionEnabled}">
<r:actions id="acts_create" value="browse_create_menu" context="#{NavigationBean.currentNode}" /> <r:actions id="acts_create" value="browse_create_menu" context="#{NavigationBean.currentNode}" />
</a:menu> </a:menu>
</td> </td>
@@ -238,7 +238,9 @@
<a:panel id="page-controls1" style="font-size:9px"> <a:panel id="page-controls1" style="font-size:9px">
<h:outputText value="#{msg.items_per_page}" id="items-txt1"/> <h:outputText value="#{msg.items_per_page}" id="items-txt1"/>
<h:inputText id="spaces-pages" value="#{BrowseBean.pageSizeSpacesStr}" style="width:24px;margin-left:4px" maxlength="3" onkeyup="return applySizeSpaces(event);" /> <h:inputText id="spaces-pages" value="#{BrowseBean.pageSizeSpacesStr}" style="width:24px;margin-left:4px" maxlength="3" onkeyup="return applySizeSpaces(event);" />
<div style="display:none"><a:actionLink id="spaces-apply" value="" actionListener="#{BrowseBean.updateSpacesPageSize}" /></div> <f:verbatim><div style="display:none"></f:verbatim>
<a:actionLink id="spaces-apply" value="" actionListener="#{BrowseBean.updateSpacesPageSize}" />
<f:verbatim></div></f:verbatim>
</a:panel> </a:panel>
</f:facet> </f:facet>
</h:panelGroup> </h:panelGroup>
@@ -382,7 +384,9 @@
<a:panel id="page-controls2" style="font-size:9px"> <a:panel id="page-controls2" style="font-size:9px">
<h:outputText value="#{msg.items_per_page}" id="items-txt2"/> <h:outputText value="#{msg.items_per_page}" id="items-txt2"/>
<h:inputText id="content-pages" value="#{BrowseBean.pageSizeContentStr}" style="width:24px;margin-left:4px" maxlength="3" onkeyup="return applySizeContent(event);" /> <h:inputText id="content-pages" value="#{BrowseBean.pageSizeContentStr}" style="width:24px;margin-left:4px" maxlength="3" onkeyup="return applySizeContent(event);" />
<div style="display:none"><a:actionLink id="content-apply" value="" actionListener="#{BrowseBean.updateContentPageSize}" /></div> <f:verbatim><div style="display:none"></f:verbatim>
<a:actionLink id="content-apply" value="" actionListener="#{BrowseBean.updateContentPageSize}" />
<f:verbatim></div></f:verbatim>
</a:panel> </a:panel>
</f:facet> </f:facet>
</h:panelGroup> </h:panelGroup>

View File

@@ -31,6 +31,7 @@
<%@ page import="org.alfresco.web.app.servlet.BaseServlet" %> <%@ page import="org.alfresco.web.app.servlet.BaseServlet" %>
<%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %> <%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %> <%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>
<%@ page import="org.alfresco.web.app.Application" %>
<%@ page import="javax.faces.context.FacesContext" %> <%@ page import="javax.faces.context.FacesContext" %>
<%@ page import="javax.servlet.http.Cookie" %> <%@ page import="javax.servlet.http.Cookie" %>
<%@ page import="java.util.Locale" %> <%@ page import="java.util.Locale" %>