r3541 - in trunk/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll webapp/WEB-INF/jsp/poll
Author: tchemit Date: 2012-06-20 12:00:52 +0200 (Wed, 20 Jun 2012) New Revision: 3541 Url: http://chorem.org/repositories/revision/pollen/3541 Log: fixes #613: No thumbnail and image if accents in image name Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-06-20 08:48:50 UTC (rev 3540) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-06-20 10:00:52 UTC (rev 3541) @@ -22,6 +22,7 @@ */ package org.chorem.pollen.ui.actions.poll; +import com.google.common.base.Charsets; import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; @@ -39,6 +40,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.struts2.interceptor.ParameterAware; import org.apache.struts2.interceptor.ServletRequestAware; +import org.chorem.pollen.PollenTechnicalException; import org.chorem.pollen.bean.PollDateChoice; import org.chorem.pollen.bean.PollImageChoice; import org.chorem.pollen.bean.PollUri; @@ -70,6 +72,8 @@ import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -211,6 +215,17 @@ public abstract boolean isEdit(); + public String getImagechoicesThumbPrefix(Choice choice) { + String name = choice.getName(); + try { + String result = URLEncoder.encode(IMAGECHOICES_THUMB_PREFIX + name, Charsets.UTF_8.name()); + return result; + } catch (UnsupportedEncodingException e) { + throw new PollenTechnicalException( + "Could not encode name " + name, e); + } + } + @Override public void setServletRequest(HttpServletRequest request) { this.request = request; @@ -1305,9 +1320,8 @@ // keep in session the location of this thumb (do not // want to expose the full path location in url) - getPollenSession().putDynamicData( - IMAGECHOICES_THUMB_PREFIX + choice.getName(), - thumbFile); + String key = getImagechoicesThumbPrefix(choice); + getPollenSession().putDynamicData(key, thumbFile); } } Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp =================================================================== --- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-06-20 08:48:50 UTC (rev 3540) +++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-06-20 10:00:52 UTC (rev 3541) @@ -54,19 +54,6 @@ key="%{#prefix}.name" label='' value="%{#choice.name}"/> </div> <div class="fright"> - <%--s:a id='choicesTEXT_down_%{choiceNumber}' - cssClass="hidden" href='#' - onclick="return downChoice('choicesTEXT_%{choiceNumber}')"> - <image alt='<s:property value="downTitle"/>' - title='<s:property value="downTitle"/>' - src="<s:url value='/img/1downarrow.png'/>"></image> - </s:a> - <s:a id='choicesTEXT_up_%{choiceNumber}' href='#' cssClass="hidden" - onclick="return upChoice('choicesTEXT_%{choiceNumber}')"> - <image alt='<s:property value="upTitle"/>' - title='<s:property value="upTitle"/>' - src="<s:url value='/img/1uparrow.png'/>"></image> - </s:a--%> <s:label for="%{#prefix}.description" key="pollen.common.description" theme="simple"/> <s:textarea cols="30" id="%{#prefix}.description" label='' @@ -108,19 +95,6 @@ displayFormat="%{getText('pollen.common.datePickerPattern')}"/> </div> <div class="fright"> - <%--s:a id='choicesDATE_down_%{choiceNumber}' cssClass="hidden" - href='#' - onclick="return downChoice('choicesDATE_%{choiceNumber}')"> - <image alt='<s:property value="downTitle"/>' - title='<s:property value="downTitle"/>' - src="<s:url value='/img/1downarrow.png'/>"></image> - </s:a> - <s:a id='choicesDATE_up_%{choiceNumber}' href='#' cssClass="hidden" - onclick="return upChoice('choicesDATE_%{choiceNumber}')"> - <image alt='<s:property value="upTitle"/>' - title='<s:property value="upTitle"/>' - src="<s:url value='/img/1uparrow.png'/>"></image> - </s:a--%> <s:label for="%{#prefix}.description" key="pollen.common.description" theme="simple"/> <s:textarea cols="30" id="%{#prefix}.description" theme="simple" @@ -167,9 +141,8 @@ value="%{#choice.location}" label='' theme="simple"/> <s:url id="imageUrl" namespace="/io" action="getPollChoiceImage" escapeAmp="true"> - <s:param name="choiceTokenId"> - imagechoicesThumb_<s:property value='name'/> - </s:param> + <s:param name="choiceTokenId" + value="%{getImagechoicesThumbPrefix(#choice)}"/> </s:url> <img name="<s:property value="#prefix"/>.thumb" alt="<s:property value='name'/>" @@ -199,19 +172,6 @@ </div> <div class="fright"> - <%--s:a id='choicesIMAGE_down_%{choiceNumber}' cssClass="hidden" - href='#' - onclick="return downChoice('choicesIMAGE_%{choiceNumber}')"> - <image alt='<s:property value="downTitle"/>' - title='<s:property value="downTitle"/>' - src="<s:url value='/img/1downarrow.png'/>"></image> - </s:a> - <s:a id='choicesIMAGE_up_%{choiceNumber}' href='#' cssClass="hidden" - onclick="return upChoice('choicesIMAGE_%{choiceNumber}')"> - <image alt='<s:property value="upTitle"/>' - title='<s:property value="upTitle"/>' - src="<s:url value='/img/1uparrow.png'/>"></image> - </s:a--%> <s:label for="%{#prefix}.description" key="pollen.common.description" theme="simple"/> <s:textarea cols="30" id="%{#prefix}.description" label=''
participants (1)
-
tchemit@users.chorem.org