Author: mor
Date: Mon Sep 1 04:44:10 2008 New Revision: 690942 URL: http://svn.apache.org/viewvc?rev=690942&view=rev Log: Added a new event that set userloginId from an email address. If user edit email address then set it as a new userLoginId and disabled date to far in the future for existing userLoginId. This is a new feature to new profile page. Thanks to Rishi Solanki for this work and Sumit Pandit and Mridul Pathak for review. Modified: ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.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=690942&r1=690941&r2=690942&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 Mon Sep 1 04:44:10 2008 @@ -1493,4 +1493,47 @@ <call-simple-method method-name="createUpdateEmailAddress"/> </simple-method> + <simple-method method-name="setUserLoginFromEmail" short-description="Set userloginId from email. If user edit email address then set it as a new userLoginId and disabled date to far in the future for existing userLoginId"> + <if-compare field="parameters.userLoginId" operator="not-equals" value="userLogin.userLoginId"> + <set-service-fields service-name="updateUserLoginId" map-name="parameters" to-map-name="serviceContext"/> + <set field="serviceContext.userLogin" from-field="userLogin"/> + <call-service service-name="updateUserLoginId" in-map-name="serviceContext"> + <result-to-field result-name="newUserLogin"/> + </call-service> + <set-current-user-login value-name="newUserLogin"/> + <call-bsh> + <![CDATA[ + org.ofbiz.webapp.control.LoginWorker.doBasicLogin(newUserLogin, request); + org.ofbiz.webapp.control.LoginWorker.autoLoginSet(request, response); + ]]> + </call-bsh> + <!-- disabledDateTime/disableForYears set time until a user login remains disabled --> + <if-not-empty field="parameters.disabledDateTime"> + <set field="disabledDateTime" from-field="parameters.disabledDateTime" type="Date"/> + <else> + <now-date-to-env env-name="nowTimeStamp"/> + <if-not-empty field="parameters.disableForYear"> + <set-calendar field="disabledDateTime" from-field="nowTimeStamp" years="${parameters.disableForYear}"/> + <else> + <set-calendar field="disabledDateTime" from-field="nowTimeStamp" years="20"/> + </else> + </if-not-empty> + </else> + </if-not-empty> + <set field="loggedInUser.disabledDateTime" from-field="disabledDateTime"/> + <set field="loggedInUser.enabled" value="N"/> + <store-value value-name="loggedInUser"/> + </if-compare> + </simple-method> + + <simple-method method-name="updateProfileAndUserLoginFromEmail" short-description="Update a customer profile and userloginId from email"> + <set field="partyId" from-field="userLogin.partyId"/> + <set field="parameters.userLoginId" from-field="parameters.emailAddress"/> + <set field="loggedInUser" from-field="userLogin"/> + <call-simple-method method-name="createUpdatePerson"/> + <call-simple-method method-name="setUserLoginFromEmail"/> + <call-simple-method method-name="createUpdateUserLogin"/> + <call-simple-method method-name="createUpdateEmailAddress"/> + </simple-method> + </simple-methods> \ No newline at end of file Modified: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml?rev=690942&r1=690941&r2=690942&view=diff ============================================================================== --- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml Mon Sep 1 04:44:10 2008 @@ -1719,6 +1719,8 @@ <request-map uri="updateCustomerProfile"> <security https="true" auth="true"/> <event type="simple" path="org/ofbiz/ecommerce/customer/CustomerEvents.xml" invoke="updateCustomerProfile"/> + <!-- Use following event only if email address will be used as userLoginId. Updating email address will set it as new userLoginId and disable existing userLoginId --> + <!--event type="simple" path="org/ofbiz/ecommerce/customer/CustomerEvents.xml" invoke="updateProfileAndUserLoginFromEmail"/--> <response name="success" type="view" value="viewprofile"/> <response name="error" type="view" value="EditProfile"/> </request-map> |
Free forum by Nabble | Edit this page |