Author: mor
Date: Tue Aug 5 06:49:51 2008 New Revision: 682712 URL: http://svn.apache.org/viewvc?rev=682712&view=rev Log: Added address book functionality on createUpdateBillingAddress method for One Page Checkout Modified: ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml Modified: ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml?rev=682712&r1=682711&r2=682712&view=diff ============================================================================== --- ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml (original) +++ ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml Tue Aug 5 06:49:51 2008 @@ -1258,6 +1258,7 @@ </simple-method> <simple-method method-name="createUpdateBillingAddress" short-description="create and update billing address"> + <set field="keepAddressBook" from-field="parameters.keepAddressBook" default-value="Y"/> <if-compare field="parameters.useShippingAddressForBilling" operator="not-equals" value="Y"> <call-map-processor xml-resource="org/ofbiz/ecommerce/customer/CheckoutMapProcs.xml" processor-name="billToAddress" in-map-name="parameters" out-map-name="billToAddressCtx"/> @@ -1273,20 +1274,21 @@ <call-service service-name="createPartyContactMechPurpose" in-map-name="serviceInMap"/> <else> <if-compare-field field="parameters.shipToContactMechId" operator="not-equals" to-field="parameters.billToContactMechId"> - <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true"> - <field-map field-name="contactMechId" env-name="parameters.billToContactMechId"/> - <field-map field-name="partyId" env-name="partyId"/> - <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/> - </entity-and> - <first-from-list entry-name="pcmp" list-name="pcmpList"/> - <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="serviceInMap"/> - <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="serviceInMap"/> - <clear-field field-name="serviceInMap"/> - - <set-service-fields service-name="deletePartyContactMech" map-name="pcmp" to-map-name="serviceInMap"/> - <call-service service-name="deletePartyContactMech" in-map-name="serviceInMap"/> - <clear-field field-name="serviceInMap"/> - + <if-compare field="keepAddressBook" operator="equals" value="N"> + <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true"> + <field-map field-name="contactMechId" env-name="parameters.billToContactMechId"/> + <field-map field-name="partyId" env-name="partyId"/> + <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/> + </entity-and> + <first-from-list entry-name="pcmp" list-name="pcmpList"/> + <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="serviceInMap"/> + <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="serviceInMap"/> + <clear-field field-name="serviceInMap"/> + + <set-service-fields service-name="deletePartyContactMech" map-name="pcmp" to-map-name="serviceInMap"/> + <call-service service-name="deletePartyContactMech" in-map-name="serviceInMap"/> + <clear-field field-name="serviceInMap"/> + </if-compare> <set-service-fields service-name="createPartyContactMechPurpose" map-name="pcmp" to-map-name="serviceInMap"/> <set field="serviceInMap.contactMechId" from-field="parameters.shipToContactMechId"/> <call-service service-name="createPartyContactMechPurpose" in-map-name="serviceInMap"> @@ -1305,24 +1307,32 @@ <log level="info" message="Billing address created with contactmechId ${parameters.billToContactMechId}"/> <else> <if-compare-field field="parameters.shipToContactMechId" operator="equals" to-field="parameters.billToContactMechId"> - <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true"> - <field-map field-name="contactMechId" env-name="parameters.billToContactMechId"/> - <field-map field-name="partyId" env-name="partyId"/> - <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/> - </entity-and> - <first-from-list entry-name="pcmp" list-name="pcmpList"/> - - <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="serviceInMap"/> - <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="serviceInMap"/> + <if-compare field="keepAddressBook" operator="equals" value="N"> + <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true"> + <field-map field-name="contactMechId" env-name="parameters.billToContactMechId"/> + <field-map field-name="partyId" env-name="partyId"/> + <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/> + </entity-and> + <first-from-list entry-name="pcmp" list-name="pcmpList"/> + <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="serviceInMap"/> + <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="serviceInMap"/> + </if-compare> <call-service service-name="createPartyPostalAddress" in-map-name="billToAddressCtx"> <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/> </call-service> <log level="info" message="Billing address updated with contactMechId ${parameters.billToContactMechId}"/> <else> - <call-service service-name="updatePartyPostalAddress" in-map-name="billToAddressCtx"> - <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/> - </call-service> + <if-compare field="keepAddressBook" operator="equals" value="N"> + <call-service service-name="updatePartyPostalAddress" in-map-name="billToAddressCtx"> + <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/> + </call-service> + </if-compare> + <if-compare field="keepAddressBook" operator="equals" value="Y"> + <call-service service-name="createPartyPostalAddress" in-map-name="billToAddressCtx"> + <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/> + </call-service> + </if-compare> <log level="info" message="Billing Postal Address created billToContactMechId is ${parameters.billToContactMechId}"/> </else> </if-compare-field> |
Free forum by Nabble | Edit this page |