. Fix for AWC-564

- Issue where non-ASCII characters not correctly handled for a filename when the file is download as an "attachment"
 - This affects the download file link on the Checkout and Edit pages
. New icons and UI design in grey status area for navigation in the Space, Document and Forums details pages
. A few UI fix up and improvements

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2497 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2006-02-27 18:09:19 +00:00
parent e7d0caa3c8
commit e2e2fbfcbf
16 changed files with 32 additions and 62 deletions

View File

@@ -165,6 +165,7 @@ filter=Filter
choose_icon=Choose icon choose_icon=Choose icon
security=Security security=Security
all_formats=All Formats all_formats=All Formats
rules_count=Number of rules applied to this Space
# Properties # Properties
username=User Name username=User Name

View File

@@ -172,11 +172,11 @@ public class DownloadContentServlet extends BaseServlet
if (attachment == true) if (attachment == true)
{ {
// set header based on filename - will force a Save As from the browse if it doesn't recognise it // set header based on filename - will force a Save As from the browse if it doesn't recognise it
// this is better than the default response of the browse trying to display the contents! // this is better than the default response of the browser trying to display the contents
// TODO: make this configurable - and check it does not prevent streaming of large files String encname = filename.replace('%', '=');
res.setHeader("Content-Disposition", "attachment;filename=\"" + URLDecoder.decode(filename, "UTF-8") + '"'); res.setHeader("Content-Disposition", "attachment;filename=\"=?ISO-8859-1?Q?" + encname + "?=\"");
} }
// get the content reader // get the content reader
ContentReader reader = contentService.getReader(nodeRef, propertyQName); ContentReader reader = contentService.getReader(nodeRef, propertyQName);
// ensure that it is safe to use // ensure that it is safe to use

View File

@@ -136,14 +136,7 @@ public class ModeListRenderer extends BaseRenderer
String selectedImage = (String)attrs.get("selectedImage"); String selectedImage = (String)attrs.get("selectedImage");
if (selectedImage != null) if (selectedImage != null)
{ {
out.write("<td"); out.write("<td style='padding-right:4px'>");
int colWidth = list.getIconColumnWidth();
if (colWidth != 0)
{
out.write(" width=");
out.write(Integer.toString(colWidth));
}
out.write('>');
out.write(Utils.buildImageTag(context, selectedImage, null, "absmiddle")); out.write(Utils.buildImageTag(context, selectedImage, null, "absmiddle"));
out.write("</td>"); out.write("</td>");
} }

View File

@@ -86,26 +86,6 @@ public class UISpaceSelector extends AbstractItemSelector
return id; return id;
} }
/**
* @see org.alfresco.web.ui.repo.component.AbstractItemSelector#parentAccessable()
*/
/*public boolean parentAccessable(FacesContext context)
{
boolean accessable = false;
try
{
ChildAssociationRef parentRef = getNodeService(context).getPrimaryParent(
new NodeRef(Repository.getStoreRef(), this.navigationId));
parentRef.getParentRef().getId();
accessable = true;
}
catch (AccessDeniedException accessErr)
{
// cannot navigate to parent id - not accessable
}
return accessable;
}*/
/** /**
* Returns the child spaces of the current space * Returns the child spaces of the current space

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -89,7 +89,7 @@
<td style="padding-right:4px" align=right> <td style="padding-right:4px" align=right>
<nobr> <nobr>
<%-- Additional summary info --%> <%-- Additional summary info --%>
<img src="<%=request.getContextPath()%>/images/icons/rule.gif" width=16 height=16> <h:outputText value="(#{NavigationBean.ruleCount})" id="rulemsg1" style="vertical-align:20%" /> <h:graphicImage id="img-rule" url="/images/icons/rule.gif" width="16" height="16" title="#{msg.rules_count}" /> <h:outputText value="(#{NavigationBean.ruleCount})" id="rulemsg1" style="vertical-align:20%" />
</nobr> </nobr>
</td> </td>
<td class="separator" width=1></td> <td class="separator" width=1></td>
@@ -97,7 +97,7 @@
<%-- Quick upload action --%> <%-- Quick upload action --%>
<nobr> <nobr>
<r:permissionEvaluator value="#{NavigationBean.currentNode}" allow="CreateChildren" id="eval2"> <r:permissionEvaluator value="#{NavigationBean.currentNode}" allow="CreateChildren" id="eval2">
<a:actionLink value="#{msg.add_content}" image="/images/icons/add.gif" action="addContent" actionListener="#{AddContentWizard.startWizard}" style="white-space:nowrap" id="link3" /> <a:actionLink value="#{msg.add_content}" image="/images/icons/add.gif" padding="2" action="addContent" actionListener="#{AddContentWizard.startWizard}" style="white-space:nowrap" id="link3" />
</r:permissionEvaluator> </r:permissionEvaluator>
</nobr> </nobr>
</td> </td>

View File

@@ -86,10 +86,10 @@
</td> </td>
<td align=right> <td align=right>
<a:actionLink value="#{msg.resetall}" image="/images/icons/delete.gif" padding="4" actionListener="#{AdvancedSearchBean.reset}" style="white-space:nowrap" /> <a:actionLink value="#{msg.resetall}" image="/images/icons/delete.gif" padding="2" actionListener="#{AdvancedSearchBean.reset}" style="white-space:nowrap" />
</td> </td>
<td class="separator" width=1></td> <td class="separator" width=1></td>
<td width=80 style="padding-left:4px"> <td width=128 style="padding-left:4px">
<%-- Available Saved Searches --%> <%-- Available Saved Searches --%>
<div style="padding-top:4px" style="white-space:nowrap"> <div style="padding-top:4px" style="white-space:nowrap">
<a:modeList itemSpacing="3" iconColumnWidth="20" style="text-align:right" selectedStyleClass="statusListHighlight" disabledStyleClass="statusListDisabled" selectedImage="/images/icons/Details.gif" <a:modeList itemSpacing="3" iconColumnWidth="20" style="text-align:right" selectedStyleClass="statusListHighlight" disabledStyleClass="statusListDisabled" selectedImage="/images/icons/Details.gif"

View File

@@ -81,14 +81,14 @@
<nobr> <nobr>
<r:permissionEvaluator value="#{DocumentDetailsBean.document}" allow="CheckOut"> <r:permissionEvaluator value="#{DocumentDetailsBean.document}" allow="CheckOut">
<a:booleanEvaluator value="#{DocumentDetailsBean.locked == false && DocumentDetailsBean.workingCopy == false}"> <a:booleanEvaluator value="#{DocumentDetailsBean.locked == false && DocumentDetailsBean.workingCopy == false}">
<a:actionLink value="#{msg.checkout}" image="/images/icons/CheckOut_icon.gif" padding="4" style="white-space:nowrap" <a:actionLink value="#{msg.checkout}" image="/images/icons/CheckOut_icon.gif" padding="2" style="white-space:nowrap"
actionListener="#{CheckinCheckoutBean.setupContentAction}" action="checkoutFile"> actionListener="#{CheckinCheckoutBean.setupContentAction}" action="checkoutFile">
<f:param name="id" value="#{DocumentDetailsBean.id}" /> <f:param name="id" value="#{DocumentDetailsBean.id}" />
</a:actionLink> </a:actionLink>
</a:booleanEvaluator> </a:booleanEvaluator>
</r:permissionEvaluator> </r:permissionEvaluator>
<a:booleanEvaluator value="#{DocumentDetailsBean.document.properties.checkIn == true}"> <a:booleanEvaluator value="#{DocumentDetailsBean.document.properties.checkIn == true}">
<a:actionLink value="#{msg.checkin}" image="/images/icons/CheckIn_icon.gif" padding="4" style="white-space:nowrap" <a:actionLink value="#{msg.checkin}" image="/images/icons/CheckIn_icon.gif" padding="2" style="white-space:nowrap"
actionListener="#{CheckinCheckoutBean.setupContentAction}" action="checkinFile"> actionListener="#{CheckinCheckoutBean.setupContentAction}" action="checkinFile">
<f:param name="id" value="#{DocumentDetailsBean.id}" /> <f:param name="id" value="#{DocumentDetailsBean.id}" />
</a:actionLink> </a:actionLink>
@@ -200,18 +200,14 @@
</a:menu> </a:menu>
</td> </td>
<%-- TODO: FINISH --%>
<%-- Navigation --%> <%-- Navigation --%>
<td class="separator" width=1></td> <td class="separator" width=1></td>
<td width=100> <td style="padding-left:4px" width=80>
<h:outputText style="padding-left:20px" styleClass="mainSubTitle" value="#{msg.navigation}" /><br> <a:actionLink value="#{msg.previous_item}" image="/images/icons/nav_prev.gif" showLink="false" actionListener="#{DocumentDetailsBean.previousItem}" action="previousItem">
<a:actionLink value="#{msg.next_item}" image="/images/icons/NextItem.gif" padding="4" actionListener="#{DocumentDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{DocumentDetailsBean.id}" /> <f:param name="id" value="#{DocumentDetailsBean.id}" />
</a:actionLink> </a:actionLink>
<a:actionLink value="#{msg.previous_item}" image="/images/icons/PreviousItem.gif" padding="4" actionListener="#{DocumentDetailsBean.previousItem}" action="previousItem"> <img src="<%=request.getContextPath()%>/images/icons/nav_file.gif" width=24 height=24 align=absmiddle>
<a:actionLink value="#{msg.next_item}" image="/images/icons/nav_next.gif" showLink="false" actionListener="#{DocumentDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{DocumentDetailsBean.id}" /> <f:param name="id" value="#{DocumentDetailsBean.id}" />
</a:actionLink> </a:actionLink>
</td> </td>

View File

@@ -141,12 +141,12 @@
<%-- Navigation --%> <%-- Navigation --%>
<td class="separator" width=1></td> <td class="separator" width=1></td>
<td width=100> <td style="padding-left:4px" width=80>
<h:outputText style="padding-left:20px" styleClass="mainSubTitle" value="#{msg.navigation}" /><br> <a:actionLink value="#{msg.previous_item}" image="/images/icons/nav_prev.gif" showLink="false" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem">
<a:actionLink value="#{msg.next_item}" image="/images/icons/NextItem.gif" padding="4" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
<a:actionLink value="#{msg.previous_item}" image="/images/icons/PreviousItem.gif" padding="4" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem"> <img src="<%=request.getContextPath()%>/images/icons/nav_space.gif" width=24 height=24 align=absmiddle>
<a:actionLink value="#{msg.next_item}" image="/images/icons/nav_next.gif" showLink="false" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
</td> </td>

View File

@@ -95,12 +95,12 @@
<%-- Navigation --%> <%-- Navigation --%>
<td class="separator" width=1></td> <td class="separator" width=1></td>
<td width=100> <td style="padding-left:4px" width=80>
<h:outputText style="padding-left:20px" styleClass="mainSubTitle" value="#{msg.navigation}" /><br> <a:actionLink value="#{msg.previous_item}" image="/images/icons/nav_prev.gif" showLink="false" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem">
<a:actionLink value="#{msg.next_item}" image="/images/icons/NextItem.gif" padding="4" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
<a:actionLink value="#{msg.previous_item}" image="/images/icons/PreviousItem.gif" padding="4" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem"> <img src="<%=request.getContextPath()%>/images/icons/nav_forum.gif" width=24 height=24 align=absmiddle>
<a:actionLink value="#{msg.next_item}" image="/images/icons/nav_next.gif" showLink="false" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
</td> </td>

View File

@@ -95,12 +95,12 @@
<%-- Navigation --%> <%-- Navigation --%>
<td class="separator" width=1></td> <td class="separator" width=1></td>
<td width=100> <td style="padding-left:4px" width=80>
<h:outputText style="padding-left:20px" styleClass="mainSubTitle" value="#{msg.navigation}" /><br> <a:actionLink value="#{msg.previous_item}" image="/images/icons/nav_prev.gif" showLink="false" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem">
<a:actionLink value="#{msg.next_item}" image="/images/icons/NextItem.gif" padding="4" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
<a:actionLink value="#{msg.previous_item}" image="/images/icons/PreviousItem.gif" padding="4" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem"> <img src="<%=request.getContextPath()%>/images/icons/nav_forum.gif" width=24 height=24 align=absmiddle>
<a:actionLink value="#{msg.next_item}" image="/images/icons/nav_next.gif" showLink="false" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
</td> </td>

View File

@@ -95,12 +95,12 @@
<%-- Navigation --%> <%-- Navigation --%>
<td class="separator" width=1></td> <td class="separator" width=1></td>
<td width=100> <td style="padding-left:4px" width=80>
<h:outputText style="padding-left:20px" styleClass="mainSubTitle" value="#{msg.navigation}" /><br> <a:actionLink value="#{msg.previous_item}" image="/images/icons/nav_prev.gif" showLink="false" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem">
<a:actionLink value="#{msg.next_item}" image="/images/icons/NextItem.gif" padding="4" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
<a:actionLink value="#{msg.previous_item}" image="/images/icons/PreviousItem.gif" padding="4" actionListener="#{SpaceDetailsBean.previousItem}" action="previousItem"> <img src="<%=request.getContextPath()%>/images/icons/nav_file.gif" width=24 height=24 align=absmiddle>
<a:actionLink value="#{msg.next_item}" image="/images/icons/nav_next.gif" showLink="false" actionListener="#{SpaceDetailsBean.nextItem}" action="nextItem">
<f:param name="id" value="#{SpaceDetailsBean.id}" /> <f:param name="id" value="#{SpaceDetailsBean.id}" />
</a:actionLink> </a:actionLink>
</td> </td>