You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mo...@apache.org on 2008/08/01 19:04:45 UTC

svn commit: r681750 - in /ofbiz/trunk/applications: ecommerce/script/org/ofbiz/ecommerce/customer/ ecommerce/webapp/ecommerce/ ecommerce/webapp/ecommerce/WEB-INF/ ecommerce/webapp/ecommerce/WEB-INF/actions/customer/ ecommerce/webapp/ecommerce/order/ ec...

Author: mor
Date: Fri Aug  1 10:04:44 2008
New Revision: 681750

URL: http://svn.apache.org/viewvc?rev=681750&view=rev
Log:
>From now One Page Checkout supports registered process. Thanks to Sumit Pandit, Jyotsna Rathore, Brajesh Patel and Rishi Solanki their efforts ...

Added:
    ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy   (with props)
    ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy   (with props)
    ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy   (with props)
Modified:
    ofbiz/trunk/applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml
    ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
    ofbiz/trunk/applications/ecommerce/webapp/ecommerce/login.ftl
    ofbiz/trunk/applications/ecommerce/webapp/ecommerce/order/OnePageCheckoutProcess.ftl
    ofbiz/trunk/applications/ecommerce/widget/OrderScreens.xml
    ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/minicart.ftl

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=681750&r1=681749&r2=681750&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 Fri Aug  1 10:04:44 2008
@@ -1023,8 +1023,8 @@
             processor-name="shipToAddress" in-map-name="parameters" out-map-name="shipToAddressCtx"/>
         <check-errors/>
         <set field="shipToAddressCtx.partyId" from-field="partyId"/>
+        <set field="shipToAddressCtx.contactMechPurposeTypeId" value="SHIPPING_LOCATION"/>
         <if-empty field="parameters.shipToContactMechId">
-            <set field="shipToAddressCtx.contactMechPurposeTypeId" value="SHIPPING_LOCATION"/>
             <call-service service-name="createPartyPostalAddress" in-map-name="shipToAddressCtx">
                 <result-to-field result-name="contactMechId" field-name="parameters.shipToContactMechId"/>
             </call-service>
@@ -1042,7 +1042,6 @@
                     <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="deletePartyContactMechPurposeCtx"/>
                     <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="deletePartyContactMechPurposeCtx"/>
                 </if-not-empty>
-                <set field="shipToAddressCtx.contactMechPurposeTypeId" value="SHIPPING_LOCATION"/>
                 <call-service service-name="createPartyPostalAddress" in-map-name="shipToAddressCtx">
                     <result-to-field result-name="contactMechId" field-name="parameters.shipToContactMechId"/>
                 </call-service>
@@ -1194,130 +1193,131 @@
         </if-not-empty>
         <set-current-user-login value-name="userLogin"/>
 
-        <!--=================== Validate Bill and Payment settings ================-->
-        <call-map-processor xml-resource="org/ofbiz/accounting/payment/PaymentMapProcs.xml"
-                processor-name="createCreditCard" in-map-name="parameters" out-map-name="creditCardContext"/>
+        <call-simple-method method-name="createUpdateBillingAddress"/>
+        <call-simple-method method-name="createUpdateCreditCard"/>
+        
+        <!--============== Set Payment Method ================-->
+        <set field="paymentMethodId" from-field="parameters.paymentMethodId"/>
+        <set field="cardSecurityCode" from-field="parameters.cardSecurityCode"/>
+        <field-to-session field-name="userLogin" session-name="userLogin"/>
+        <call-bsh>
+            <![CDATA[
+                import org.ofbiz.order.shoppingcart.ShoppingCart;
+                checkOutHelper = new org.ofbiz.order.shoppingcart.CheckOutHelper(dispatcher, delegator, shoppingCart);
+                callResult = checkOutHelper.finalizeOrderEntryPayment(paymentMethodId, null, false, false);
+                ShoppingCart.CartPaymentInfo cpi = shoppingCart.getPaymentInfo(paymentMethodId, null, null, null, true);
+                cpi.securityCode = cardSecurityCode;
+            ]]>
+        </call-bsh>
+    </simple-method>
+
+    <simple-method method-name="createUpdateBillingAddress" short-description="create and update billing address">
 
         <if-compare field="parameters.useShippingAddressForBilling" operator="not-equals" value="Y">
-            <set field="parameters.billToName"  value="${parameters.firstNameOnCard} ${parameters.lastNameOnCard}"/>
             <call-map-processor xml-resource="org/ofbiz/ecommerce/customer/CheckoutMapProcs.xml"
-                    processor-name="billToAddress" in-map-name="parameters" out-map-name="billToAddressContext"/>
-            <map-to-map map-name="billToAddressContext" to-map-name="billToAddressAndCreditCardCtx"/>
-            <map-to-map map-name="creditCardContext" to-map-name="billToAddressAndCreditCardCtx"/>
-            <if-compare field="parameters.billToCountryGeoId" value="USA" operator="equals">
-                <if-empty field="parameters.billToStateProvinceGeoId">
-                    <set field="tempErrorMessage" value="State is missing, and is required for an address in the United States."/>
-                    <field-to-list field-name="tempErrorMessage" list-name="error_list"/>
-                </if-empty>
-            </if-compare>
-            <check-errors/>
-            <set field="billToAddressAndCreditCardCtx.partyId" from-field="partyId"/>
-            <set field="creditCardContext.partyId" from-field="partyId"/>
-            <set field="creditCardContext.userLogin" from-field="userLogin"/>
+                processor-name="billToAddress" in-map-name="parameters" out-map-name="billToAddressCtx"/>
+        </if-compare>
+        <check-errors/>
+        <set field="billToAddressCtx.contactMechPurposeTypeId" value="BILLING_LOCATION"/>
+        <set field="billToAddressCtx.partyId" from-field="partyId"/>
+
+        <if-compare field="parameters.useShippingAddressForBilling" operator="equals" value="Y">
+            <set field="billToAddressCtx.contactMechId" from-field="parameters.shipToContactMechId"/>
             <if-empty field="parameters.billToContactMechId">
-                <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true">
-                    <field-map field-name="partyId" env-name="userLogin.partyId"/>
-                    <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/>
-                </entity-and>
-                <first-from-list list-name="pcmpList" entry-name="pcmp"/>
-                <if-not-empty field="pcmp">
-                    <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="deletePartyContactMechPurposeCtx"/>
-                    <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="deletePartyContactMechPurposeCtx"/>
-                </if-not-empty>
-                <entity-and entity-name="PaymentMethod" list-name="paymentMethodList" filter-by-date="true">
-                    <field-map field-name="partyId" env-name="parameters.partyId"/>
-                    <order-by field-name="-fromDate"/>
-                </entity-and>
-                <first-from-list list-name="paymentMethodList" entry-name="paymentMethod"/>
-                <set field="billToAddressAndCreditCardCtx.paymentMethodId" from-field="paymentMethod.paymentMethodId"/>
-                <!-- Create Credit Card and Address -->
-                <call-service service-name="createCreditCardAndAddress" in-map-name="billToAddressAndCreditCardCtx">
-                    <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/>
-                    <result-to-field result-name="paymentMethodId" field-name="parameters.paymentMethodId"/>
-                </call-service>
+                <call-service service-name="createPartyContactMechPurpose" in-map-name="billToAddressCtx"/>
             <else>
-                <!-- Update Credit Card and Address -->
-                <set field="billToAddressAndCreditCardCtx.contactMechId" from-field="parameters.billToContactMechId"/>
-                <set field="billToAddressAndCreditCardCtx.paymentMethodId" from-field="parameters.paymentMethodId"/>
-                <call-service service-name="updateCreditCardAndAddress" in-map-name="billToAddressAndCreditCardCtx">
-                    <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/>
-                    <result-to-field result-name="paymentMethodId" field-name="parameters.paymentMethodId"/>
-                </call-service>    
-                <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true">
-                    <field-map field-name="partyId" env-name="userLogin.partyId"/>
-                    <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/>
-                </entity-and>
-                <first-from-list list-name="pcmpList" entry-name="pcmp"/>
-                <if-compare-field field="parameters.billToContactMechId" operator="not-equals" to-field="pcmp.contactMechId">
-                    <if-not-empty field="pcmp">                    
+                <if-compare-field field="parameters.shipToContactMechId" operator="not-equals" to-field="parameters.billToContactMechId">
+                    <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList">
+                        <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>
+                    <filter-list-by-date list-name="pcmpList"/>
+                    <iterate list-name="pcmpList" entry-name="pcmp">
                         <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="deletePartyContactMechPurposeCtx"/>
                         <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="deletePartyContactMechPurposeCtx"/>
-                        <set-service-fields service-name="deletePartyContactMech" map-name="pcmp" to-map-name="serviceInMap"/>
-                        <call-service service-name="deletePartyContactMech" in-map-name="serviceInMap"/>
-                     </if-not-empty>   
+                    </iterate>
+                    <call-service service-name="createPartyContactMechPurpose" in-map-name="billToAddressCtx"/>
+                    <log level="info" message="Billing address updated with contactMechId ${parameters.billToContactMechId}"/>
                 </if-compare-field>
             </else>
             </if-empty>
-            <field-to-request field-name="parameters.paymentMethodId" request-name="paymentMethodId"/>
-            <field-to-request field-name="parameters.billToContactMechId" request-name="billToContactMechId"/>
+            <set field="parameters.billToContactMechId" from-field="parameters.shipToContactMechId"/>
         </if-compare>
-
-        <if-compare field="parameters.useShippingAddressForBilling" operator="equals" value="Y">
-            <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList" filter-by-date="true">
-                <field-map field-name="partyId" env-name="userLogin.partyId"/>
-                <field-map field-name="contactMechPurposeTypeId" value="BILLING_LOCATION"/>
-            </entity-and>
-            <first-from-list list-name="pcmpList" entry-name="pcmp"/>
-            <if-compare-field field="parameters.shipToContactMechId" operator="not-equals" to-field="pcmp.contactMechId">
-                <if-not-empty field="pcmp">
-                    <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="deletePartyContactMechPurposeCtx"/>
-                    <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="deletePartyContactMechPurposeCtx"/>
-                    <set-service-fields service-name="deletePartyContactMech" map-name="pcmp" to-map-name="serviceInMap"/>
-                    <call-service service-name="deletePartyContactMech" in-map-name="serviceInMap"/>
-                </if-not-empty>
-                <set field="createPartyContactMechPurposeCtx.partyId" from-field="userLogin.partyId"/>
-                <set field="createPartyContactMechPurposeCtx.contactMechId" from-field="parameters.shipToContactMechId"/>
-                <set field="createPartyContactMechPurposeCtx.contactMechPurposeTypeId" value="BILLING_LOCATION"/>
-                <call-service service-name="createPartyContactMechPurpose" in-map-name="createPartyContactMechPurposeCtx"/>
-            </if-compare-field>
-            <field-to-request field-name="parameters.shipToContactMechId" request-name="billToContactMechId"/>
-
-            <set field="creditCardContext.contactMechId" from-field="parameters.shipToContactMechId"/>
-            <if-empty field="parameters.paymentMethodId">
-                <!-- Create Credit Card -->
-                <call-service service-name="createCreditCard" in-map-name="creditCardContext">
-                    <result-to-field result-name="paymentMethodId" field-name="parameters.paymentMethodId"/>
+        <if-compare field="parameters.useShippingAddressForBilling" operator="not-equals" value="Y">
+            <if-empty field="parameters.billToContactMechId">
+                <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 created with contactmechId ${parameters.billToContactMechId}"/>
             <else>
-                <entity-and entity-name="PaymentMethod" list-name="paymentMethodList" filter-by-date="true">
-                    <field-map field-name="partyId" env-name="parameters.partyId"/>
-                    <order-by field-name="-fromDate"/>
+                <entity-and entity-name="PartyContactMechPurpose" list-name="pcmpList">
+                    <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 list-name="paymentMethodList" entry-name="paymentMethod"/>
-                <set field="creditCardContext.paymentMethodId" from-field="paymentMethod.paymentMethodId"/>
-                <!-- Update Credit Card -->
-                <set field="creditCardContext.paymentMethodId" from-field="parameters.paymentMethodId"/> 
-                <call-service service-name="updateCreditCard" in-map-name="creditCardContext">
-                    <result-to-field result-name="paymentMethodId" field-name="parameters.paymentMethodId"/>
-                </call-service>
+                <filter-list-by-date list-name="pcmpList"/>
+                <if-compare-field field="parameters.shipToContactMechId" operator="equals" to-field="parameters.billToContactMechId">
+                    <iterate list-name="pcmpList" entry-name="pcmp">
+                        <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="deletePartyContactMechPurposeCtx"/>
+                        <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="deletePartyContactMechPurposeCtx"/>
+                    </iterate>
+                    <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>
+                    <first-from-list list-name="pcmpList" entry-name="pcmp"/>
+                    <if-compare-field field="parameters.billToContactMechId" operator="equals" to-field="pcmp.contactMechId">
+                        <call-service service-name="updatePartyPostalAddress" in-map-name="billToAddressCtx">
+                           <result-to-field result-name="contactMechId" field-name="parameters.billToContactMechId"/>
+                        </call-service>
+                        <log level="info" message="Billing Postal Address Updated billToContactMechId is ${parameters.billToContactMechId}"/>
+                     <else>
+                        <if-not-empty field="pcmp">
+                            <set-service-fields service-name="deletePartyContactMechPurposeIfExists" map-name="pcmp" to-map-name="deletePartyContactMechPurposeCtx"/>
+                            <call-service service-name="deletePartyContactMechPurposeIfExists" in-map-name="deletePartyContactMechPurposeCtx"/>
+                        </if-not-empty>
+                        <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 Postal Address created billToContactMechId is ${parameters.billToContactMechId}"/>
+                    </else>
+                    </if-compare-field>
+                </else>
+                </if-compare-field>
             </else>
             </if-empty>
-            <field-to-request field-name="parameters.paymentMethodId" request-name="paymentMethodId"/>
-        </if-compare>    
+        </if-compare>
+        <field-to-request field-name="parameters.billToContactMechId" request-name="billToContactMechId"/>
+    </simple-method>
 
-        <!--============== Set Payment Method ================-->
+    <simple-method method-name="createUpdateCreditCard" short-description="create and update credit card">
+        <call-map-processor xml-resource="org/ofbiz/accounting/payment/PaymentMapProcs.xml"
+                processor-name="createCreditCard" in-map-name="parameters" out-map-name="creditCardContext"/>
+        <check-errors/>
+        <set field="creditCardContext.partyId" from-field="partyId"/>
+        <set field="creditCardContext.contactMechId" from-field="parameters.billToContactMechId"/>
+        <if-empty field="parameters.paymentMethodId">
+            <!-- call create Credit Card -->
+            <call-service service-name="createCreditCard" in-map-name="creditCardContext">
+                <result-to-field result-name="paymentMethodId" field-name="parameters.paymentMethodId"/>
+            </call-service>
+        <else>
+            <!-- call update Credit Card -->
+            <entity-and entity-name="PaymentMethod" list-name="paymentMethodList" filter-by-date="true">
+                <field-map field-name="partyId" env-name="partyId"/>
+ 	            <order-by field-name="-fromDate"/>
+ 	        </entity-and>
+ 	        <first-from-list list-name="paymentMethodList" entry-name="paymentMethod"/>
+            <set field="creditCardContext.paymentMethodId" from-field="paymentMethod.paymentMethodId"/>
+            <call-service service-name="updateCreditCard" in-map-name="creditCardContext">
+                <result-to-field result-name="paymentMethodId" field-name="parameters.paymentMethodId"/>
+            </call-service>
+        </else>
+        </if-empty>
         <set field="paymentMethodId" from-field="parameters.paymentMethodId"/>
-        <set field="cardSecurityCode" from-field="parameters.cardSecurityCode"/>
-        <field-to-session field-name="userLogin" session-name="userLogin"/>
-        <call-bsh>
-            <![CDATA[
-                import org.ofbiz.order.shoppingcart.ShoppingCart;
-                checkOutHelper = new org.ofbiz.order.shoppingcart.CheckOutHelper(dispatcher, delegator, shoppingCart);
-                callResult = checkOutHelper.finalizeOrderEntryPayment(paymentMethodId, null, false, false);
-                ShoppingCart.CartPaymentInfo cpi = shoppingCart.getPaymentInfo(paymentMethodId, null, null, null, true);
-                cpi.securityCode = cardSecurityCode;
-            ]]>
-        </call-bsh>
+        <field-to-request field-name="parameters.paymentMethodId" request-name="paymentMethodId"/>
     </simple-method>
 
 </simple-methods>

Added: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy?rev=681750&view=auto
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy (added)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy Fri Aug  1 10:04:44 2008
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.party.contact.ContactHelper;
+import org.ofbiz.entity.condition.EntityCondition;
+
+if (userLogin) {
+    party = userLogin.getRelatedOne("Party");
+    contactMech = EntityUtil.getFirst(ContactHelper.getContactMech(party, "BILLING_LOCATION", "POSTAL_ADDRESS", false));
+    if (contactMech) {
+        postalAddress = contactMech.getRelatedOne("PostalAddress");    
+        parameters.billToContactMechId = postalAddress.contactMechId;
+        parameters.billToAddress1 = postalAddress.address1;
+        parameters.billToAddress2 = postalAddress.address2;
+        parameters.billToCity = postalAddress.city;
+        parameters.billToPostalCode = postalAddress.postalCode;
+        parameters.billToStateProvinceGeoId = postalAddress.stateProvinceGeoId;
+        parameters.billToCountryGeoId = postalAddress.countryGeoId;
+        billToStateProvinceGeo = delegator.findByPrimaryKey("Geo", [geoId : postalAddress.stateProvinceGeoId]);
+        if (billToStateProvinceGeo) {
+            parameters.billToStateProvinceGeo = billToStateProvinceGeo.geoName;
+        }
+        billToCountryProvinceGeo = delegator.findByPrimaryKey("Geo", [geoId : postalAddress.countryGeoId]);
+        if (billToCountryProvinceGeo) {
+            parameters.billToCountryProvinceGeo = billToCountryProvinceGeo.geoName;
+        }
+    }
+    
+    creditCards = []; 
+    paymentMethod = EntityUtil.getFirst(EntityUtil.filterByDate(delegator.findList("PaymentMethod", EntityCondition.makeCondition([partyId : party.partyId]), null, ["fromDate"], null, null)));
+    if (paymentMethod) {
+        creditCard = paymentMethod.getRelatedOne("CreditCard");
+        if (creditCard) {
+            parameters.paymentMethodTypeId = "CREDIT_CARD";
+            parameters.cardNumber = creditCard.cardNumber;
+            parameters.paymentMethodId = creditCard.paymentMethodId;
+            parameters.firstNameOnCard = creditCard.firstNameOnCard;
+            parameters.lastNameOnCard = creditCard.lastNameOnCard;
+            parameters.expMonth = (creditCard.expireDate).substring(0, 2);
+            parameters.expYear = (creditCard.expireDate).substring(3);
+       } 
+    }    
+} 
\ No newline at end of file

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy?rev=681750&view=auto
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy (added)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy Fri Aug  1 10:04:44 2008
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.party.contact.ContactHelper;
+
+if (userLogin) {
+    party = userLogin.getRelatedOne("Party");
+    
+    contactMech = EntityUtil.getFirst(ContactHelper.getContactMech(party, "PRIMARY_EMAIL", "EMAIL_ADDRESS", false));
+    if (contactMech) {
+        parameters.emailContactMechId = contactMech.contactMechId;
+        parameters.emailAddress = contactMech.infoString;
+    }
+    
+	contactMech = EntityUtil.getFirst(ContactHelper.getContactMech(party, "PRIMARY_PHONE", "TELECOM_NUMBER", false));
+	if (contactMech) {
+	    partyContactMech = EntityUtil.getFirst(delegator.findByAnd("PartyContactMech", [partyId : party.partyId, contactMechId : contactMech.contactMechId]));
+	    if (partyContactMech) {
+	        telecomNumber = partyContactMech.getRelatedOne("TelecomNumber");
+	        parameters.phoneContactMechId = telecomNumber.contactMechId;
+	        parameters.countryCode = telecomNumber.countryCode;
+	        parameters.areaCode = telecomNumber.areaCode;
+	        parameters.contactNumber = telecomNumber.contactNumber;
+	        parameters.extension = partyContactMech.extension; 
+	    }
+	}
+}
\ No newline at end of file

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy?rev=681750&view=auto
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy (added)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy Fri Aug  1 10:04:44 2008
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.party.contact.ContactHelper;
+
+if (userLogin) {
+    party = userLogin.getRelatedOne("Party");
+    contactMech = EntityUtil.getFirst(ContactHelper.getContactMech(party, "SHIPPING_LOCATION", "POSTAL_ADDRESS", false));
+    if (contactMech) {
+        postalAddress = contactMech.getRelatedOne("PostalAddress");
+        parameters.shipToContactMechId = postalAddress.contactMechId;
+
+        parameters.shipToAddress1 = postalAddress.address1;
+        parameters.shipToAddress2 = postalAddress.address2;
+        parameters.shipToCity = postalAddress.city;
+        parameters.shipToPostalCode = postalAddress.postalCode;
+        parameters.shipToStateProvinceGeoId = postalAddress.stateProvinceGeoId;
+        parameters.shipToCountryGeoId = postalAddress.countryGeoId;
+        shipToStateProvinceGeo = delegator.findByPrimaryKey("Geo", [geoId : postalAddress.stateProvinceGeoId]);
+        if (shipToStateProvinceGeo) {
+            parameters.shipToStateProvinceGeo =  shipToStateProvinceGeo.geoName;
+        }
+        shipToCountryProvinceGeo = delegator.findByPrimaryKey("Geo", [geoId : postalAddress.countryGeoId]);
+        if (shipToCountryProvinceGeo) {
+            parameters.shipToCountryProvinceGeo =  shipToCountryProvinceGeo.geoName;
+        }
+        person = delegator.findByPrimaryKey("Person", [partyId : partyId]);
+        parameters.firstName = person.firstName;
+        parameters.lastName = person.lastName;
+    }
+}
\ No newline at end of file

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

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=681750&r1=681749&r2=681750&view=diff
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/controller.xml Fri Aug  1 10:04:44 2008
@@ -1580,12 +1580,19 @@
 
     <!-- ============== One Page Checkout Requests ============== -->
     <request-map uri="onePageCheckout">
-        <security https="true" auth="false"/>
+        <security https="true" auth="true"/>
         <event type="java" path="org.ofbiz.order.shoppingcart.CheckOutEvents" invoke="cartNotEmpty"/>
         <response name="success" type="view" value="OnePageCheckout"/>
         <response name="error" type="view" value="main"/>        
     </request-map>
 
+    <request-map uri="anonOnePageCheckout">
+        <security https="true" auth="false"/>
+        <event type="java" path="org.ofbiz.order.shoppingcart.CheckOutEvents" invoke="cartNotEmpty"/>
+        <response name="success" type="view" value="OnePageCheckout"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+
     <request-map uri="getCountryList">
         <event type="jsonservice" invoke="getCountryList"/>
         <response name="success" type="none"/>

Modified: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/login.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/login.ftl?rev=681750&r1=681749&r2=681750&view=diff
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/login.ftl (original)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/login.ftl Fri Aug  1 10:04:44 2008
@@ -94,7 +94,7 @@
           <form method="post" action="<@o...@ofbizUrl>" style="margin: 0;">
             <div align="center"><input type="submit" class="smallSubmit" value="${uiLabelMap.OrderCheckoutQuick}"/></div>
           </form>
-          <form method="post" action="<@o...@ofbizUrl>" style="margin: 0;">
+          <form method="post" action="<@o...@ofbizUrl>" style="margin: 0;">
             <div align="center"><input type="submit" class="smallSubmit" value="${uiLabelMap.EcommerceOnePageCheckout}"/></div>
           </form>          
         </div>

Modified: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/order/OnePageCheckoutProcess.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/order/OnePageCheckoutProcess.ftl?rev=681750&r1=681749&r2=681750&view=diff
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/order/OnePageCheckoutProcess.ftl (original)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/order/OnePageCheckoutProcess.ftl Fri Aug  1 10:04:44 2008
@@ -282,11 +282,11 @@
             <div id="editShippingPanel" class="screenlet-body" style="display: none;">
               <form name="shippingForm" id="shippingForm" action="<@o...@ofbizUrl>" method="post">
                 <input type="hidden" id="shipToContactMechId" name="shipToContactMechId" value="${parameters.shipToContactMechId?if_exists}"/>
-                <input type="hidden" name="contactMechPurposeTypeId" value="SHIPPING_LOCATION"/>
                 <input type="hidden" id="shippingPartyId" name="partyId" value="${parameters.partyId?if_exists}"/>
                 <input type="hidden" name="userLogin" value="${parameters.userLogin?if_exists}"/>
                 <input type="hidden" id="phoneContactMechId" name="phoneContactMechId" value="${parameters.phoneContactMechId?if_exists}"/>
                 <input type="hidden" id="emailContactMechId" name="emailContactMechId" value="${parameters.emailContactMechId?if_exists}"/>
+                <input type="hidden" name="roleTypeId" value="CUSTOMER"/>
                 <div id="shippingFormServerError" class="errorMessage"></div>
                           <table>
                             <tr><td width="40%" valign="top">
@@ -297,7 +297,7 @@
                                      </label>
                                   </div>
                                   <div class="field-widget">
-                                    <input id="firstName" name="firstName" class="inputBox required" type="text" value="${parameters.firstName?if_exists}"/>
+                                    <input id="firstName" name="firstName" class="inputBox required" type="text" value="${(parameters.firstName)?if_exists}"/>
                                   </div>
                                 </div>
                                 <div class="form-row">
@@ -307,7 +307,7 @@
                                     </label>
                                   </div>
                                   <div class="field-widget">
-                                    <input id="lastName" name="lastName" class="inputBox required" type="text" value="${parameters.lastName?if_exists}"/>
+                                    <input id="lastName" name="lastName" class="inputBox required" type="text" value="${(parameters.lastName)?if_exists}"/>
                                   </div>
                                 </div>
                                 <div class="form-row">
@@ -373,8 +373,8 @@
                               </div>
                               <div class="field-widget">
                                 <div>
-                                  <input name="shipToCountryGeo" id="shipToCountryGeo" size="30" class="inputBox required" type="text" value="${parameters.shipToCountryGeo?if_exists}"/>
-                                  <input name="countryGeoId" id="shipToCountryGeoId" type="hidden" value="${parameters.countryGeoId?if_exists}"/>
+                                  <input name="shipToCountryGeo" id="shipToCountryGeo" size="30" class="inputBox required" type="text" value="${parameters.shipToCountryProvinceGeo?if_exists}"/>
+                                  <input name="countryGeoId" id="shipToCountryGeoId" type="hidden" value="${parameters.shipToCountryGeoId?if_exists}"/>
                                   <div id="shipToCountries" class="autocomplete" style="display:none"></div> 
                                 </div>
                               </div>
@@ -482,10 +482,11 @@
                 <input type="hidden" id ="billToContactMechId" name="billToContactMechId" value="${parameters.billToContactMechId?if_exists}"/>
                 <input type="hidden" id="shipToContactMechIdInBillingForm" name="shipToContactMechId" value="${parameters.shipToContactMechId?if_exists}"/>
                 <input type="hidden" id="paymentMethodId" name="paymentMethodId" value="${parameters.paymentMethodId?if_exists}"/>
-                <input type="hidden" id="paymentMethodTypeId" name="paymentMethodTypeId" value="CREDIT_CARD"/>
+                <input type="hidden" id="paymentMethodTypeId" name="paymentMethodTypeId" value="${parameters.paymentMethodTypeId?if_exists}"/>
                 <input type="hidden" id="billingPartyId" name="partyId" value="${parameters.partyId?if_exists}"/>
                 <input type="hidden" name="userLogin" value="${parameters.userLogin?if_exists}"/>
                 <input type="hidden" name="expireDate" value="${parameters.expireDate?if_exists}"/>
+                <input type="hidden" name="roleTypeId" value="CUSTOMER"/>
                 <div id="billingFormServerError" class="errorMessage"></div>
                   <table>
                     <tr><td valign="top">
@@ -528,10 +529,10 @@
                         </div>
                         <div class="form-row">
                           <div class="field-label">
-                            <label for="CVV2">CVV2<span>*</span><span id="advice-required-CVV2" style="display:none" class="errorMessage"> (required)</span></label>
+                            <label for="CVV2">CVV2</label>
                           </div>
                           <div class="field-widget">
-                            <input id="CVV2" autocomplete="off" name="cardSecurityCode" class="inputBox required" size="4" type="text" maxlength="4" value=""/>
+                            <input id="CVV2" autocomplete="off" name="cardSecurityCode" class="inputBox" size="4" type="text" maxlength="4" value=""/>
                           </div>
                         </div>
                         <div class="form-row">
@@ -610,8 +611,8 @@
                             <div class="field-widget">
                               <select name="countryGeoId" id="billToCountryGeoId" class="required selectBox">
                                 <#if (parameters.countryGeoId)?exists>
-                                  <option>${parameters.countryGeoId}</option>
-                                  <option value="${parameters.countryGeoId}">---</option>
+                                  <option>${parameters.billToCountryProvinceGeo}</option>
+                                  <option value="${parameters.billToCountryGeoId}">---</option>
                                 </#if>
                                 ${screens.render("component://common/widget/CommonScreens.xml#countries")}
                               </select>
@@ -624,7 +625,7 @@
                             <div class="field-widget"> 
                               <select id="billToStateProvinceGeoId" name="billToStateProvinceGeoId" class="required selectBox">
                                 <#if parameters.billToStateProvinceGeoId?has_content>
-                                  <option>${parameters.billToStateProvinceGeoId}</option>
+                                  <option>${parameters.billToStateProvinceGeo}</option>
                                   <option value="${parameters.billToStateProvinceGeoId}">---</option>
                                 <#else>
                                   <option value="">${uiLabelMap.PartyNoState}</option>

Modified: ofbiz/trunk/applications/ecommerce/widget/OrderScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/OrderScreens.xml?rev=681750&r1=681749&r2=681750&view=diff
==============================================================================
--- ofbiz/trunk/applications/ecommerce/widget/OrderScreens.xml (original)
+++ ofbiz/trunk/applications/ecommerce/widget/OrderScreens.xml Fri Aug  1 10:04:44 2008
@@ -618,6 +618,10 @@
                 <set field="layoutSettings.javaScripts[]" value="/images/prototypejs/controls.js" global="true"/>
                 <set field="layoutSettings.javaScripts[]" value="/ecommerce/images/checkoutProcess.js" global="true"/>
                 <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/cart/ShowCart.groovy"/>
+                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditShippingAddress.groovy"/>
+                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditBillingAddress.groovy"/>
+                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy"/>
+
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">

Modified: ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/minicart.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/minicart.ftl?rev=681750&r1=681749&r2=681750&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/minicart.ftl (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/minicart.ftl Fri Aug  1 10:04:44 2008
@@ -68,7 +68,7 @@
           <#if hidebottomlinks?default("N") != "Y">
             <div><a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.OrderViewCart}</a>&nbsp;<a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.OrderCheckout}</a></div>
             <div style="margin-top: 4px;"><a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.OrderCheckoutQuick}</a></div>
-            <div style="margin-top: 4px;"><a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.EcommerceOnePageCheckout}</a></div>
+            <div style="margin-top: 4px;"><a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.EcommerceOnePageCheckout}</a></div>
           </#if>
         <#else>
           <div>${uiLabelMap.OrderShoppingCartEmpty}</div>