Author: rishi
Date: Tue May 8 13:34:54 2018
New Revision: 1831183
URL: http://svn.apache.org/viewvc?rev=1831183&view=rev
Log:
Fixed: Existing BILLING_LOCATION record of party should expire while creating a
new one. Now service will first expires all the billing location against party
and create new one.
(OFBIZ-10374)
Thank you Suraj Khuran for reporting the issue and providing patch for the same.
Modified:
ofbiz/ofbiz-framework/trunk/applications/order/minilang/order/OrderServices.xml
Modified:
ofbiz/ofbiz-framework/trunk/applications/order/minilang/order/OrderServices.xml
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/minilang/order/OrderServices.xml?rev=1831183&r1=1831182&r2=1831183&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/applications/order/minilang/order/OrderServices.xml
(original)
+++
ofbiz/ofbiz-framework/trunk/applications/order/minilang/order/OrderServices.xml
Tue May 8 13:34:54 2018
@@ -1015,6 +1015,25 @@ under the License.
<call-service service-name="createPartyPostalAddress"
in-map-name="billToAddressCtx">
<result-to-field result-name="contactMechId"
field="parameters.billToContactMechId"/>
</call-service>
+ <set-service-fields
service-name="createPartyContactMechPurpose" map="parameters"
to-map="serviceContext"/>
+ <set field="serviceContext.partyId"
from-field="userLogin.partyId"/>
+
+ <entity-and entity-name="PartyContactMechPurpose"
list="pcmpList" filter-by-date="true">
+ <field-map field-name="partyId"
from-field="billToAddressCtx.partyId"/>
+ <field-map field-name="contactMechPurposeTypeId"
value="BILLING_LOCATION"/>
+ </entity-and>
+ <if-not-empty field="pcmpList">
+ <first-from-list list="pcmpList" entry="pcmp"/>
+ <set-service-fields
service-name="deletePartyContactMechPurposeIfExists" map="pcmp"
to-map="serviceInMap"/>
+ <call-service
service-name="deletePartyContactMechPurposeIfExists"
in-map-name="serviceInMap"/>
+ <clear-field field="serviceInMap"/>
+ </if-not-empty>
+ <set field="serviceContext.partyId"
from-field="userLogin.partyId"/>
+ <set field="serviceContext.contactMechId"
from-field="parameters.billToContactMechId"/>
+ <set field="serviceContext.contactMechPurposeTypeId"
value="BILLING_LOCATION"/>
+ <call-service service-name="createPartyContactMechPurpose"
in-map-name="serviceContext"/>
+ <clear-field field="pcmpList"/>
+ <clear-field field="serviceContext"/>
<log level="info" message="Billing address updated with
contactMechId ${parameters.billToContactMechId}"/>
<else>
<if-compare field="keepAddressBook" operator="equals"
value="N">