Author: mor
Date: Thu Jul 31 23:24:31 2008 New Revision: 681605 URL: http://svn.apache.org/viewvc?rev=681605&view=rev Log: Spliting the method createUpdatePersonAndUserLogin into even more smaller separate methods. Patch from Sumit Pandit and Rishi Solanki 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=681605&r1=681604&r2=681605&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 Thu Jul 31 23:24:31 2008 @@ -847,7 +847,7 @@ <!-- One page checkout process --> <simple-method method-name="createUpdateCustomerAndShippingAddress" - short-description="Create/Update Customer, Shipping Address and other contact details. Set shipping method type" login-required="false"> + short-description="Create/Update Customer, Shipping Address and other contact details." login-required="false"> <set field="shoppingCart" from-field="parameters.shoppingCart"/> <set field="partyId" from-field="parameters.partyId"/> <set field="userLogin" from-field="parameters.userLogin"/> @@ -873,7 +873,14 @@ <set field="shipToContactMechId" from-field="parameters.shipToContactMechId"/> </if-empty> - <call-simple-method method-name="createUpdatePersonAndUserLogin"/> + <call-simple-method method-name="createUpdatePerson"/> + <call-simple-method method-name="setAnonUserLogin"/> + + <set field="partyRoleContext.partyId" from-field="partyId"/> + <set field="partyRoleContext.roleTypeId" from-field="parameters.roleTypeId"/> + <set field="partyRoleContext.userLogin" from-field="userLogin"/> + <call-service service-name="createPartyRole" in-map-name="partyRoleContext"/> + <call-simple-method method-name="createUpdateShippingAddress"/> <set field="parameters.phoneContactMechPurposeTypeId" value="PRIMARY_PHONE"/> <call-simple-method method-name="createUpdateTelecomNumber"/> @@ -897,41 +904,16 @@ <field field-name="partyId"/> </call-object-method> </simple-method> - - <simple-method method-name="createUpdatePersonAndUserLogin" short-description="create and update person and user login" login-required="false"> - <set field="parameters.shipToName" value="${parameters.firstName} ${parameters.lastName}"/> + + <simple-method method-name="createUpdatePerson" short-description="Create and update a person" login-required="false"> <call-map-processor xml-resource="org/ofbiz/ecommerce/customer/CheckoutMapProcs.xml" processor-name="person" in-map-name="parameters" out-map-name="personMap"/> - + <check-errors/> <set-service-fields service-name="createPerson" map-name="personMap" to-map-name="personContext"/> - <set field="personContext.userLogin" from-field="userLogin"/> <if-empty field="partyId"> <call-service service-name="createPerson" in-map-name="personContext"> <result-to-field result-name="partyId" field-name="partyId"/> </call-service> - - <!-- the rest of the methods require a userLogin object; so if we are anonymous lets fake it --> - <if-empty field="userLogin"> - <entity-one entity-name="UserLogin" value-name="userLogin"> - <field-map field-name="userLoginId" value="anonymous"/> - </entity-one> - <set field="userLogin.partyId" from-field="partyId"/> - <set-current-user-login value-name="userLogin"/> - <else> - <!-- If an anonymous vistor is coming back, update the party id in the userLogin object --> - <if-compare field="userLogin.userLoginId" value="anonymous" operator="equals"> - <set field="userLogin.partyId" from-field="partyId"/> - </if-compare> - </else> - </if-empty> - <log level="info" message="userLogin is ${userLogin}"/> - - <!-- Party role --> - <set field="parameters.roleTypeId" value="CUSTOMER"/> - <set field="partyRoleContext.partyId" from-field="partyId"/> - <set field="partyRoleContext.roleTypeId" from-field="parameters.roleTypeId"/> - <set field="partyRoleContext.userLogin" from-field="userLogin"/> - <call-service service-name="createPartyRole" in-map-name="partyRoleContext"/> <else><!-- If partyId already exists. --> <set field="personContext.partyId" from-field="partyId"/> <call-service service-name="updatePerson" in-map-name="personContext"/> @@ -940,8 +922,50 @@ </if-empty> <field-to-request field-name="partyId" request-name="partyId"/> + <set field="parameters.partyId" from-field="partyId"/> + </simple-method> + + <simple-method method-name="createUpdateUserLogin" short-description="Create and update a user login"> + <if-empty field="userLogin"> + <call-map-processor xml-resource="org/ofbiz/securityext/login/LoginMapProcs.xml" + processor-name="userLogin" in-map-name="parameters" out-map-name="userLoginMap"/> + <check-errors/> + <set-service-fields service-name="createUserLogin" map-name="userLoginMap" to-map-name="userLoginCtx"/> + <call-service service-name="createUserLogin" in-map-name="userLoginCtx"/> + <else> + <call-map-processor xml-resource="org/ofbiz/securityext/login/LoginMapProcs.xml" + processor-name="updatePassword" in-map-name="parameters" out-map-name="passwordMap"/> + <check-errors/> + <set-service-fields service-name="updatePassword" map-name="passwordMap" to-map-name="passwordCtx"/> + <call-service service-name="updatePassword" in-map-name="passwordCtx"> + <result-to-field result-name="updatedUserLogin"/> + </call-service> + <set-current-user-login value-name="updatedUserLogin"/> + <session-to-field field-name="userLogin"/> + <if-compare field="userLogin.userLoginId" operator="equals" value="${updatedUserLogin.userLoginId}"> + <field-to-session field-name="updatedUserLogin" session-name="userLogin"/> + </if-compare> + <session-to-field field-name="userLogin"/> + </else> + </if-empty> + </simple-method> + + <simple-method method-name="setAnonUserLogin" short-description="Set user login in the session" login-required="false"> + <if-empty field="userLogin"> + <entity-one entity-name="UserLogin" value-name="userLogin"> + <field-map field-name="userLoginId" value="anonymous"/> + </entity-one> + <set field="userLogin.partyId" from-field="partyId"/> + <set-current-user-login value-name="userLogin"/> + <else> + <!-- If an anonymous vistor is coming back, update the party id in the userLogin object --> + <if-compare field="userLogin.userLoginId" operator="equals" value="anonymous"> + <set field="userLogin.partyId" from-field="partyId"/> + </if-compare> + </else> + </if-empty> <field-to-request field-name="userLogin" request-name="userLogin"/> - <log level="info" message=" ${partyId}"/> + <log level="info" message="userLogin is ${userLogin}"/> </simple-method> <simple-method method-name="createUpdateTelecomNumber" short-description="Create and update phone number" login-required="false"> @@ -1295,4 +1319,5 @@ ]]> </call-bsh> </simple-method> + </simple-methods> |
Free forum by Nabble | Edit this page |