UtilProperties.getMessage won't fly in a multi-tenant setup
Best regards, Pierre On Thursday, June 9, 2016, <mridulpat...@apache.org> wrote: > Author: mridulpathak > Date: Thu Jun 9 11:58:22 2016 > New Revision: 1747540 > > URL: http://svn.apache.org/viewvc?rev=1747540&view=rev > Log: > [OFBIZ-7027] Added support to include party classification information in > promo description. Thanks Swapnil M Mane for the contribution. > > Modified: > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java > ofbiz/trunk/applications/product/config/promotext.properties > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1747540&r1=1747539&r2=1747540&view=diff > > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java > Thu Jun 9 11:58:22 2016 > @@ -666,6 +666,8 @@ public class ProductPromoWorker { > if (productPromo == null) { > return ""; > } > + ArrayList<String> partyClassificationsIncluded = new > ArrayList<String>(); > + ArrayList<String> partyClassificationsExcluded = new > ArrayList<String>(); > StringBuilder promoDescBuf = new StringBuilder(); > List<GenericValue> productPromoRules = > productPromo.getRelated("ProductPromoRule", null, null, true); > Iterator<GenericValue> promoRulesIter = > productPromoRules.iterator(); > @@ -688,12 +690,27 @@ public class ProductPromoWorker { > } > > Map<String, Object> messageContext = UtilMisc.<String, > Object>toMap("condValue", condValue, "equalityOperator", equalityOperator, > "quantityOperator", quantityOperator); > - String msgProp = UtilProperties.getMessage("promotext", > "condition." + productPromoCond.getString("inputParamEnumId"), > messageContext, locale); > - promoDescBuf.append(msgProp); > - promoDescBuf.append(" "); > > - if (promoRulesIter.hasNext()) { > - promoDescBuf.append(" and "); > + if > ("PPIP_PARTY_CLASS".equalsIgnoreCase(productPromoCond.getString("inputParamEnumId"))) > { > + GenericValue partyClassificationGroup = > EntityQuery.use(delegator).from("PartyClassificationGroup").where("partyClassificationGroupId", > condValue).cache(true).queryOne(); > + if (UtilValidate.isNotEmpty(partyClassificationGroup) > && > UtilValidate.isNotEmpty(partyClassificationGroup.getString("description"))) > { > + condValue = > partyClassificationGroup.getString("description"); > + } > + > + if > ("PPC_EQ".equalsIgnoreCase(productPromoCond.getString("operatorEnumId"))) { > + partyClassificationsIncluded.add(condValue); > + } > + if > ("PPC_NEQ".equalsIgnoreCase(productPromoCond.getString("operatorEnumId"))) { > + partyClassificationsExcluded.add(condValue); > + } > + } else { > + String msgProp = > UtilProperties.getMessage("promotext", "condition." + > productPromoCond.getString("inputParamEnumId"), messageContext, locale); > + promoDescBuf.append(msgProp); > + promoDescBuf.append(" "); > + > + if (promoRulesIter.hasNext()) { > + promoDescBuf.append(" and "); > + } > } > } > > @@ -752,6 +769,18 @@ public class ProductPromoWorker { > UtilMisc.toMap("limit", > productPromo.getLong("useLimitPerPromotion")), locale)); > } > > + if (UtilValidate.isNotEmpty(partyClassificationsIncluded)) { > + Map<String, Object> messageContext = UtilMisc.<String, > Object>toMap("partyClassificationsIncluded", partyClassificationsIncluded); > + String msgProp = UtilProperties.getMessage("promotext", > "condition.PPIP_PARTY_CLASS.APPLIED", messageContext, locale); > + promoDescBuf.append("\n" + msgProp); > + } > + > + if (UtilValidate.isNotEmpty(partyClassificationsExcluded)) { > + Map<String, Object> messageContext = UtilMisc.<String, > Object>toMap("partyClassificationsExcluded", partyClassificationsExcluded); > + String msgProp = UtilProperties.getMessage("promotext", > "condition.PPIP_PARTY_CLASS.NOT_APPLIED", messageContext, locale); > + promoDescBuf.append("\n" + msgProp); > + } > + > return promoDescBuf.toString(); > } > > > Modified: ofbiz/trunk/applications/product/config/promotext.properties > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/promotext.properties?rev=1747540&r1=1747539&r2=1747540&view=diff > > ============================================================================== > --- ofbiz/trunk/applications/product/config/promotext.properties (original) > +++ ofbiz/trunk/applications/product/config/promotext.properties Thu Jun > 9 11:58:22 2016 > @@ -33,6 +33,8 @@ operator.quantity.PPC_GTE=more than > > > condition.PPIP_ORDER_TOTAL=spend ${quantityOperator} $${condValue} > +condition.PPIP_PARTY_CLASS.APPLIED=Applied to party classification - > ${partyClassificationsIncluded} > +condition.PPIP_PARTY_CLASS.NOT_APPLIED=Not applied to party > classification - ${partyClassificationsExcluded} > condition.PPIP_PRODUCT_TOTAL=buy ${quantityOperator} $${condValue} of > qualifying products > condition.PPIP_PRODUCT_AMOUNT=for each $${condValue} or more of > qualifying products > condition.PPIP_PRODUCT_QUANT=buy ${condValue} of qualifying products > > > -- Pierre Smits ORRTIZ.COM <http://www.orrtiz.com> OFBiz based solutions & services OFBiz Extensions Marketplace http://oem.ofbizci.net/oci-2/