Hi Mridul, Thanks for spotting that. Yes, such kind of descriptions should be in *Labels.xml files. I wonder how many more we have residing not in there. When I have a moment to spare the coming days I will do an investigation and create the proper JIRAs and such.
Best regards, Pierre Smits ORRTIZ.COM <http://www.orrtiz.com> OFBiz based solutions & services OFBiz Extensions Marketplace http://oem.ofbizci.net/oci-2/ On Fri, Jun 10, 2016 at 8:04 AM, Mridul Pathak <[email protected]> wrote: > Hi Pierre, > > Thanks for noticing. On looking into it further I have found that > promotext.properties file is used only in > ProductPromoWorker.makeAutoDescription() method and was implemented way > back when UI Labels were managed in *.properties files. So, in fact > promotext.properties should be moved to UiLabels file because all the > properties defined in the file are text descriptions and not system > configurations, which makes them a candidate of internationalization. I'll > create a Jira ticket for it. > > Thanks & Regards > Mridul Pathak > Hotwax Systems > http://www.hotwaxsystems.com <http://www.hotwaxmedia.com> > > On Thu, Jun 9, 2016 at 6:46 PM, Pierre Smits <[email protected]> > wrote: > > > UtilProperties.getMessage won't fly in a multi-tenant setup > > > > > > Best regards, > > > > Pierre > > > > > > > > On Thursday, June 9, 2016, <[email protected]> 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/ > > >
