You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Pierre Smits <pi...@gmail.com> on 2016/06/09 13:16:37 UTC
Re: svn commit: r1747540 - in /ofbiz/trunk/applications:
order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java product/config/promotext.properties
UtilProperties.getMessage won't fly in a multi-tenant setup
Best regards,
Pierre
On Thursday, June 9, 2016, <mr...@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/
Re: svn commit: r1747540 - in /ofbiz/trunk/applications: order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java product/config/promotext.properties
Posted by Mridul Pathak <mr...@hotwaxsystems.com>.
Thanks Pierre. I have logged Jira ticket for promotext.properties migration - https://issues.apache.org/jira/browse/OFBIZ-7297 <https://issues.apache.org/jira/browse/OFBIZ-7297>.
--
Thanks & Regards,
Mridul Pathak
Senior Manager
HotWax Systems
http://www.hotwaxsystems.com
> On Jun 10, 2016, at 2:32 PM, Pierre Smits <pi...@gmail.com> wrote:
>
> 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 <mr...@gmail.com> 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 <pi...@gmail.com>
>> wrote:
>>
>>> UtilProperties.getMessage won't fly in a multi-tenant setup
>>>
>>>
>>> Best regards,
>>>
>>> Pierre
>>>
>>>
>>>
>>> On Thursday, June 9, 2016, <mr...@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/
>>>
>>
Re: svn commit: r1747540 - in /ofbiz/trunk/applications:
order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java product/config/promotext.properties
Posted by Pierre Smits <pi...@gmail.com>.
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 <mr...@gmail.com> 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 <pi...@gmail.com>
> wrote:
>
> > UtilProperties.getMessage won't fly in a multi-tenant setup
> >
> >
> > Best regards,
> >
> > Pierre
> >
> >
> >
> > On Thursday, June 9, 2016, <mr...@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/
> >
>
Re: svn commit: r1747540 - in /ofbiz/trunk/applications:
order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java product/config/promotext.properties
Posted by Mridul Pathak <mr...@gmail.com>.
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 <pi...@gmail.com> wrote:
> UtilProperties.getMessage won't fly in a multi-tenant setup
>
>
> Best regards,
>
> Pierre
>
>
>
> On Thursday, June 9, 2016, <mr...@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/
>