Author: jleroux
Date: Fri May 18 08:11:55 2018 New Revision: 1831831 URL: http://svn.apache.org/viewvc?rev=1831831&view=rev Log: Fixed:: Dynamic values not rendering properly in property tag of fail-property attribute (OFBIZ-10406) While calling checkProductRelatedPermission, if permission is failed ten fail-property tag uses ${checkActionLabel} which is not handled properly in MessageElement.java. There are 2-3 other occurrences as well of such type but not in working condition. Thanks: Suraj Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml?rev=1831831&r1=1831830&r2=1831831&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml Fri May 18 08:11:55 2018 @@ -686,6 +686,7 @@ under the License. </condition> <then> <set field="checkActionLabel" value="${groovy: 'ProductCatalog' + checkAction.charAt(0) + checkAction.substring(1).toLowerCase() + 'PermissionError'}"/> + <set field="resourceDescription" from-field="callingMethodName"/> <add-error> <fail-property resource="ProductUiLabels" property="${checkActionLabel}"/> </add-error> Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml?rev=1831831&r1=1831830&r2=1831831&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml Fri May 18 08:11:55 2018 @@ -478,6 +478,7 @@ under the License. <then> <log level="verbose" message="Permission check failed, user does not have permission"/> <set field="checkActionLabel" value="${groovy: 'ProductCatalog' + checkAction.charAt(0) + checkAction.substring(1).toLowerCase() + 'PermissionError'}"/> + <set field="resourceDescription" from-field="callingMethodName"/> <add-error> <fail-property resource="ProductUiLabels" property="${checkActionLabel}"/> </add-error> Modified: ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java?rev=1831831&r1=1831830&r2=1831831&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java Fri May 18 08:11:55 2018 @@ -29,7 +29,6 @@ import org.w3c.dom.Element; /** * Implements the <fail-message> and <fail-property> elements. - * * @see <a href="https://cwiki.apache.org/confluence/display/OFBIZ/Mini+Language+-+minilang+-+simple-method+-+Reference">Mini-language Reference</a> */ public final class MessageElement extends MiniLangElement { @@ -49,7 +48,7 @@ public final class MessageElement extend } private final FlexibleStringExpander messageFse; - private final String propertykey; + private final FlexibleStringExpander propertyFse; private final String propertyResource; public MessageElement(Element element, SimpleMethod simpleMethod) throws MiniLangException { @@ -61,7 +60,7 @@ public final class MessageElement extend MiniLangValidate.constantPlusExpressionAttributes(simpleMethod, element, "message"); } this.messageFse = FlexibleStringExpander.getInstance(element.getAttribute("message")); - this.propertykey = null; + this.propertyFse = null; this.propertyResource = null; } else { if (MiniLangValidate.validationOn()) { @@ -70,7 +69,7 @@ public final class MessageElement extend MiniLangValidate.constantAttributes(simpleMethod, element, "property", "resource"); } this.messageFse = null; - this.propertykey = element.getAttribute("property"); + this.propertyFse = FlexibleStringExpander.getInstance(element.getAttribute("property")); this.propertyResource = element.getAttribute("resource"); } } @@ -79,7 +78,7 @@ public final class MessageElement extend if (messageFse != null) { return messageFse.expandString(methodContext.getEnvMap()); } else { - return UtilProperties.getMessage(propertyResource, propertykey, methodContext.getEnvMap(), methodContext.getLocale()); + return UtilProperties.getMessage(propertyResource, propertyFse.expandString(methodContext.getEnvMap()), methodContext.getEnvMap(), methodContext.getLocale()); } } @@ -89,8 +88,8 @@ public final class MessageElement extend if (this.messageFse != null) { sb.append("<fail-message message=\"").append(this.messageFse).append("\" />"); } - if (this.propertykey != null) { - sb.append("<fail-property property=\"").append(this.propertykey).append(" resource=\"").append(this.propertyResource).append("\" />"); + if (this.propertyFse != null) { + sb.append("<fail-property property=\"").append(this.propertyFse).append(" resource=\"").append(this.propertyResource).append("\" />"); } return sb.toString(); } |
Free forum by Nabble | Edit this page |