Merged V3.2 to HEAD

15297: Merged V3.1 to V3.2
      15093: Merged V2.1-A to V3.1
         12428: Fix for ADB-150
         13461: Fix for ADB-163 - Generic picker now resizes but has minimum width
         13462: Fix for ADB-164 ACT 7788 - Search button label now configurable as component attribute.
         13757: Fix for ADB-155
         14113: Fix for ABD-143
         14115: Fix for ADB-144
         14493: Fixes for ADB-155 (correction) and ADB-161, ADB-184, ADB-185, ADB-186, ADB-188, ADB-189.
      15162: Fix for ETHREEOH-2278 - missed during merge of ABD-143
      15278: Fix for ETHREEOH-2474 - search regression

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15298 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-07-21 08:25:30 +00:00
parent 33fd07666b
commit c31f491b71
12 changed files with 106 additions and 40 deletions

View File

@@ -527,6 +527,7 @@ clear_button=Clear
you_may_want=You may want to
summary_step_description=Shows a summary of the information entered.
error_wizard_completed_already=This wizard has been already been completed, please re-launch it to continue.
you_may_want_checkout_document=You may want to Check Out this document to prevent the possibility of other users overwriting your changes.
# Category Management messages
title_categories_list=Categories
@@ -2071,3 +2072,6 @@ condition_compare_boolean_property_value_not=Boolean Property ''{0}'' NOT {1} ''
condition_composite_summary=Composite Condition ({0} Conditions {1})
condition_composite_summary_not=Composite Condition ({0} Conditions {1} and Inverted)
condition_composite_error=Composite Condition (ERROR)
component_property=Property
component_value=Value

View File

@@ -1,5 +1,7 @@
<#assign isImage=node.isDocument && (node.mimetype = "image/gif" || node.mimetype = "image/jpeg" || node.mimetype = "image/png")>
<#assign isVideo=node.isDocument && node.mimetype?starts_with("video/")>
<#setting locale="${locale}">
<div class="summaryPopupPanel">
<table cellpadding='3' cellspacing='0'>
<tr>
@@ -13,8 +15,8 @@
<#assign navurl="/navigate/showSpaceDetails/">
</#if>
<#assign navurl=navurl + node.nodeRef.storeRef.protocol + '/' + node.nodeRef.storeRef.identifier + '/' + node.nodeRef.id>
<td width=24><center><a href='${url.context}${navurl}'><img src='${url.context}/images/icons/View_details.gif' style='cursor:pointer' width=12 height=16 border=0 title="Details" alt="Details"></a></center></td>
<td width=14 align=right><img src='${url.context}/images/icons/close_panel.gif' onclick="<#if isVideo>if (document.all) document.getElementById('${node.id}_player').controls.stop();</#if>AlfNodeInfoMgr.close('${node.nodeRef}');" style='cursor:pointer' width=14 height=14 border=0 title="Close" alt="Close"></td>
<td width=24><center><a href='${url.context}${navurl}'><img src='${url.context}/images/icons/View_details.gif' style='cursor:pointer' width=12 height=16 border=0 title='${msg("details")}' alt='${msg("details")}'></a></center></td>
<td width=14 align=right><img src='${url.context}/images/icons/close_panel.gif' onclick="<#if isVideo>if (document.all) document.getElementById('${node.id}_player').controls.stop();</#if>AlfNodeInfoMgr.close('${node.nodeRef}');" style='cursor:pointer' width=14 height=14 border=0 title='${msg("close")}' alt='${msg("close")}'></td>
</tr>
</table>
</td>
@@ -57,9 +59,9 @@
<tr><td>&nbsp;${msg("description")}:</td><td>${node.properties.description?html}</td></tr>
</#if>
<tr><td>
&nbsp;${msg("created")}:</td><td>${node.properties.created?datetime}</td></tr>
&nbsp;${msg("created")}:</td><td>${node.properties.created?string(msg("date_time_pattern"))}</td></tr>
<tr><td>&nbsp;${msg("creator")}:</td><td>${node.properties.creator}</td></tr>
<tr><td>&nbsp;${msg("modified")}:</td><td>${node.properties.modified?datetime}</td></tr>
<tr><td>&nbsp;${msg("modified")}:</td><td>${node.properties.modified?string(msg("date_time_pattern"))}</td></tr>
<tr><td>&nbsp;${msg("modifier")}:</td><td>${node.properties.modifier}</td></tr>
<#if node.properties.owner?exists>
<tr><td>&nbsp;${msg("owner")}:</td><td>${node.properties.owner}</td></tr>
@@ -68,7 +70,7 @@
<tr><td>&nbsp;${msg("author")}:</td><td>${node.properties.author?html}</td></tr>
</#if>
<#if node.isDocument>
<tr><td>&nbsp;${msg("size")}:</td><td>${(node.size / 1000)?string("0.##")} KB</td></tr>
<tr><td>&nbsp;${msg("size")}:</td><td>${(node.size / 1000)?string("0.##")} ${msg("kilobyte")}</td></tr>
</#if>
</table>
</td>

View File

@@ -152,6 +152,7 @@ public class NodeInfoBean implements Serializable
model.put("date", new Date());
model.put("msg", new I18NMessageMethod());
model.put("url", new BaseTemplateContentServlet.URLHelper(context));
model.put("locale", I18NUtil.getLocale());
if (nodeRef != null)
{
model.put("node", new TemplateNode(

View File

@@ -76,7 +76,8 @@ public class UIGenericPicker extends UICommand
private Boolean showAddButton = null;
private Boolean filterRefresh = null;
private Boolean multiSelect = null;
private String addButtonLabel;
private String addButtonLabel = null;
private String searchButtonLabel = null;
private Integer width = null;
private Integer height = null;
@@ -128,6 +129,7 @@ public class UIGenericPicker extends UICommand
filters = (SelectItem[])values[12];
filterRefresh = (Boolean)values[13];
multiSelect = (Boolean)values[14];
searchButtonLabel = (String)values[15];
}
/**
@@ -135,7 +137,7 @@ public class UIGenericPicker extends UICommand
*/
public Object saveState(FacesContext context)
{
Object values[] = new Object[15];
Object values[] = new Object[16];
// standard component attributes are saved by the super class
values[0] = super.saveState(context);
values[1] = showFilter;
@@ -152,6 +154,7 @@ public class UIGenericPicker extends UICommand
values[12] = filters;
values[13] = filterRefresh;
values[14] = multiSelect;
values[15] = searchButtonLabel;
return (values);
}
@@ -321,14 +324,21 @@ public class UIGenericPicker extends UICommand
{
out.write("<input name='");
out.write(clientId + FIELD_CONTAINS);
out.write("' type='text' maxlength='256' style='width:120px' value=\"");
out.write("' type='text' maxlength='256' style='width:");
out.write(getShowFilter() ? "120" : "180");
out.write("px' value=\"");
out.write(Utils.encode(this.contains));
out.write("\">&nbsp;");
}
// Search button
out.write("<input type='submit' value='");
out.write(Utils.encode(bundle.getString(MSG_SEARCH)));
String msg = getSearchButtonLabel();
if (msg == null || msg.length() == 0)
{
msg = bundle.getString(MSG_SEARCH);
}
out.write(Utils.encode(msg));
out.write("' onclick=\"");
out.write(generateFormSubmit(context, ACTION_SEARCH));
out.write("\">");
@@ -361,7 +371,7 @@ public class UIGenericPicker extends UICommand
// results list row
out.write("<tr><td colspan=2>");
out.write("<select size='8' style='width:");
out.write("<select size='8' style='min-width:");
out.write(Integer.toString(getWidth()));
out.write("px;height:");
out.write(Integer.toString(getHeight()));
@@ -399,7 +409,7 @@ public class UIGenericPicker extends UICommand
{
out.write("<tr><td colspan=2>");
out.write("<input type='submit' value='");
String msg = getAddButtonLabel();
msg = getAddButtonLabel();
if (msg == null || msg.length() == 0)
{
msg = bundle.getString(MSG_ADD);
@@ -440,6 +450,28 @@ public class UIGenericPicker extends UICommand
return this.filterIndex;
}
/**
* @return Returns the searchButtonLabel.
*/
public String getSearchButtonLabel()
{
ValueBinding vb = getValueBinding("searchButtonLabel");
if (vb != null)
{
this.searchButtonLabel = (String)vb.getValue(getFacesContext());
}
return this.searchButtonLabel;
}
/**
* @param searchButtonLabel The searchButtonLabel to set.
*/
public void setSearchButtonLabel(String searchButtonLabel)
{
this.searchButtonLabel = searchButtonLabel;
}
/**
* @return Returns the addButtonLabel.
*/

View File

@@ -31,6 +31,7 @@ import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import javax.faces.el.ValueBinding;
import org.alfresco.web.app.Application;
import org.alfresco.web.ui.common.component.SelfRenderingComponent;
/**
@@ -42,6 +43,9 @@ public abstract class BaseDebugComponent extends SelfRenderingComponent
{
private String title;
private static String COMPONENT_PROPERTY = "component_property";
private static String COMPONENT_VALUE = "component_value";
/**
* Retrieves the debug data to show for the component as a Map
*
@@ -69,7 +73,11 @@ public abstract class BaseDebugComponent extends SelfRenderingComponent
out.write("</td></tr>");
}
out.write("<tr style='border: 1px solid #dddddd;'><th align='left'>Property</th><th align='left'>Value</th></tr>");
out.write("<tr style='border: 1px solid #dddddd;'><th align='left'>");
out.write(Application.getMessage(context, COMPONENT_PROPERTY));
out.write("</th><th align='left'>");
out.write(Application.getMessage(context, COMPONENT_VALUE));
out.write("</th></tr>");
Map session = getDebugData();
for (Object key : session.keySet())

View File

@@ -66,6 +66,7 @@ public class GenericPickerTag extends BaseComponentTag
setBooleanProperty(component, "filterRefresh", this.filterRefresh);
setBooleanProperty(component, "multiSelect", this.multiSelect);
setStringProperty(component, "addButtonLabel", this.addButtonLabel);
setStringProperty(component, "searchButtonLabel", this.searchButtonLabel);
setActionProperty((UICommand)component, this.action);
setActionListenerProperty((UICommand)component, this.actionListener);
setIntProperty(component, "width", this.width);
@@ -95,6 +96,7 @@ public class GenericPickerTag extends BaseComponentTag
this.showContains = null;
this.showAddButton = null;
this.addButtonLabel = null;
this.searchButtonLabel = null;
this.action = null;
this.actionListener = null;
this.width = null;
@@ -225,6 +227,20 @@ public class GenericPickerTag extends BaseComponentTag
this.multiSelect = multiSelect;
}
/**
* Set the searchButtonLabel
*
* @param searchButtonLabel the searchButtonLabel
*/
public void setSearchButtonLabel(String searchButtonLabel)
{
this.searchButtonLabel = searchButtonLabel;
}
/** the searchButtonLabel */
private String searchButtonLabel;
/** the multiSelect */
private String multiSelect;

View File

@@ -1779,6 +1779,12 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>searchButtonLabel</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>action</name>
<required>false</required>

View File

@@ -26,6 +26,7 @@
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page isELIgnored="false" %>
<f:verbatim>
<script language="javascript" type="text/javascript" src="<%=request.getContextPath()%>/scripts/tiny_mce/tiny_mce.js"></script>
@@ -33,7 +34,7 @@
<%-- Init the Tiny MCE in-line HTML editor --%>
tinyMCE.init({
theme : "advanced",
language : "<%=request.getLocale().getLanguage()%>",
language : "${pageContext.request.locale.language}",
mode : "exact",
relative_urls: false,
elements : "editor",

View File

@@ -35,25 +35,24 @@
<script language="javascript" type="text/javascript">
<%-- Init the Tiny MCE in-line HTML editor --%>
tinyMCE.init({
theme : "advanced",
language : "<%=request.getLocale().getLanguage()%>",
mode : "exact",
relative_urls: false,
elements : "editor",
save_callback : "saveContent",
plugins : "table",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : "separator,forecolor,backcolor",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_disable: "styleselect",
extended_valid_elements : "a[href|target|name],font[face|size|color|style],span[class|align|style]"
theme : "advanced",
language : "${pageContext.request.locale.language}",
mode : "exact",
relative_urls: false,
elements : "editor",
save_callback : "saveContent",
plugins : "table",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : "separator,forecolor,backcolor",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_disable: "styleselect",
extended_valid_elements : "a[href|target|name],font[face|size|color|style],span[class|align|style]"
});
function saveContent(id, content)
{
//document.forms['edit-file']['edit-file:editorOutput'].value = content;
document.getElementById("dialog:dialog-body:editorOutput").value=content;
return content;
}

View File

@@ -37,12 +37,12 @@
<td width=100%>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><a href="http://www.alfresco.org" target="new"><img src="<%=request.getContextPath()%>/images/logo/AlfrescoLogo32.png" width=32 height=30 alt="Alfresco" title="Alfresco" border=0 style="padding-right:4px"></a></td>
<td><img src="<%=request.getContextPath()%>/images/parts/titlebar_begin.gif" width="10" height="30"></td>
<td width=100% style="background-image: url(<%=request.getContextPath()%>/images/parts/titlebar_bg.gif)">
<td><a href="${pageContext.request.contextPath}/faces/jsp/dialog/about.jsp"><img src="${pageContext.request.contextPath}/images/logo/AlfrescoLogo32.png" width=32 height=30 alt="<%=Application.getMessage(session, "title_about")%>" title="<%=Application.getMessage(session, "title_about")%>" border=0 style="padding-right:4px"></a></td>
<td><img src="${pageContext.request.contextPath}/images/parts/titlebar_begin.gif" width="10" height="30"></td>
<td width=100% style="background-image: url(${pageContext.request.contextPath}/images/parts/titlebar_bg.gif)">
<span class="topToolbarTitle"><%=Application.getMessage(session, "system_error")%></span>
</td>
<td><img src="<%=request.getContextPath()%>/images/parts/titlebar_end.gif" width="8" height="30"></td>
<td><img src="${pageContext.request.contextPath}/images/parts/titlebar_end.gif" width="8" height="30"></td>
</tr>
</table>
</td>

View File

@@ -107,11 +107,8 @@
<f:facet name="header">
<h:outputText id="outT2" value="#{msg.actions}" />
</f:facet>
<a:actionLink id="view-link" value="#{msg.view}" href="#{r.url}" target="new" />
<%--
Start the new edition wizard from this translation
--%>
<h:outputText id="space" value=" " />
<a:actionLink id="view-link" value="#{msg.view}" href="#{r.url}" target="new" style="margin-right:6px" />
<%-- Start the new edition wizard from this translation --%>
<a:actionLink id="new-edition-from" value="#{msg.new_edition}" action="wizard:newEditionFrom" actionListener="#{NewEditionWizard.skipFirstStep}" rendered="#{r.userHasRight}">
<f:param id="par1" name="lang" value="#{r.language}" />
</a:actionLink>

View File

@@ -29,7 +29,7 @@
<td style="width:100%;">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td style="padding-right:4px;"><a:actionLink id="about_alfresco" image="/images/logo/AlfrescoLogo32.png" value="Alfresco" tooltip="Alfresco" showLink="false" action="dialog:aboutDialog" /></td>
<td style="padding-right:4px;"><a:actionLink id="about_alfresco" image="/images/logo/AlfrescoLogo32.png" value="#{msg.title_about}" tooltip="#{msg.title_about}" showLink="false" action="dialog:aboutDialog" /></td>
<td><img src="<%=request.getContextPath()%>/images/parts/titlebar_begin.gif" width="10" height="31" alt=""/></td>
<td style="width: 100%; background-image: url(<%=request.getContextPath()%>/images/parts/titlebar_bg.gif); background-repeat:repeat-x">
<%-- Toolbar --%>