This is an automated email from the ASF dual-hosted git repository.

jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new caded9e  Fixed: Hyperlink title under form widget doesn't support 
character encoding for special characters (OFBIZ-12026)
caded9e is described below

commit caded9e93711e81fce51c6d018e653c97aee5167
Author: Jacques Le Roux <jacques.le.r...@les7arts.com>
AuthorDate: Fri Dec 11 13:40:53 2020 +0100

    Fixed: Hyperlink title under form widget doesn't support character encoding 
for special characters (OFBIZ-12026)
    
    When we use any title with special characters for hyperlink tag, it shows 
broken
    string on UI, eg:
    <hyperlink description="${uiLabelMap.CommonImportExport}"  
target="ImportExport">
    should render a button with the title "Import/Export. But it shows as
    Import&#x2f;Export
    
    jleroux: I have noticed that the same happens with special French 
characters.
    So it's a general issue.
    The title (description in code) is HTML encoded and that does not work for
    special characters. I simply used a string encoder.
    
    Thanks: Pradeep Choudhary for report, Sourabh Jain for a possible but not
    general solution at OFBIZ-12023, ie using target-type="plain"
---
 applications/accounting/widget/GlSetupForms.xml                       | 4 ++--
 .../org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java     | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/applications/accounting/widget/GlSetupForms.xml 
b/applications/accounting/widget/GlSetupForms.xml
index 38fc0ae..c10b4c8 100644
--- a/applications/accounting/widget/GlSetupForms.xml
+++ b/applications/accounting/widget/GlSetupForms.xml
@@ -30,7 +30,7 @@ under the License.
             </hyperlink>
         </field>
         <field name="accounting" title=" " use-when="hasBasicPermission" 
widget-style="buttontext">
-            <hyperlink description="${uiLabelMap.AccountingAccounting}" 
target="PartyAccountsSummary" target-type="plain">
+            <hyperlink description="${uiLabelMap.AccountingAccounting}" 
target="PartyAccountsSummary">
                 <parameter param-name="organizationPartyId" 
from-field="partyId"/>
             </hyperlink>
         </field>
@@ -40,7 +40,7 @@ under the License.
             </hyperlink>
         </field>
         <field name="importexport" title=" " use-when="hasBasicPermission" 
widget-style="buttontext">
-            <hyperlink description="${uiLabelMap.CommonImportExport}" 
target="ImportExport" target-type="plain">
+            <hyperlink description="${uiLabelMap.CommonImportExport}" 
target="ImportExport">
                 <parameter param-name="organizationPartyId" 
from-field="partyId"/>
             </hyperlink>
         </field>
diff --git 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
index 9fa988e..69cdae9 100644
--- 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
+++ 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
@@ -3239,7 +3239,7 @@ public final class MacroFormRenderer implements 
FormStringRenderer {
             String> parameterMap, String description, String targetWindow, 
String confirmation, ModelFormField modelFormField,
             HttpServletRequest request, HttpServletResponse response, 
Map<String, Object> context) throws IOException {
         String realLinkType = WidgetWorker.determineAutoLinkType(linkType, 
target, targetType, request);
-        String encodedDescription = encode(description, modelFormField, 
context);
+        String encodedDescription = internalEncoder.encode(description);
         // get the parameterized pagination index and size fields
         int paginatorNumber = WidgetWorker.getPaginatorNumber(context);
         ModelForm modelForm = modelFormField.getModelForm();

Reply via email to