svn commit: r690942 - in /ofbiz/trunk/applications/ecommerce: script/org/ofbiz/ecommerce/customer/CustomerEvents.xml webapp/ecommerce/WEB-INF/controller.xml

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r690942 - in /ofbiz/trunk/applications/ecommerce: script/org/ofbiz/ecommerce/customer/CustomerEvents.xml webapp/ecommerce/WEB-INF/controller.xml

mor-2
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>