You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2011/07/29 04:00:21 UTC

svn commit: r1152073 - in /ofbiz/trunk: applications/marketing/script/org/ofbiz/marketing/contact/ applications/marketing/servicedef/ specialpurpose/ecommerce/templates/email/ specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/ specialpurpose/ecommerce/...

Author: hansbak
Date: Fri Jul 29 02:00:19 2011
New Revision: 1152073

URL: http://svn.apache.org/viewvc?rev=1152073&view=rev
Log:
(un)subscribe contactlist did not select active records only

Modified:
    ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/contact/ContactListServices.xml
    ofbiz/trunk/applications/marketing/servicedef/services.xml
    ofbiz/trunk/specialpurpose/ecommerce/templates/email/ContactListUnsubscribeEmail.ftl
    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl

Modified: ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/contact/ContactListServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/contact/ContactListServices.xml?rev=1152073&r1=1152072&r2=1152073&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/contact/ContactListServices.xml (original)
+++ ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/contact/ContactListServices.xml Fri Jul 29 02:00:19 2011
@@ -239,11 +239,40 @@ under the License.
             <set field="updateContactListPartyMap.baseLocation" from-field="parameters.baseLocation"/>
             <call-service service-name="updateContactListParty" in-map-name="updateContactListPartyMap"/>
             <else>
-                <add-error><fail-message message="The email address (${parameters.email}) does not have the Other Email Address as contact purpose."/></add-error>
-                <check-errors/>
+                <entity-and list="partyContactWithPurposes" entity-name="PartyContactWithPurpose">
+                    <field-map field-name="infoString" from-field="parameters.email"/>
+                    <field-map field-name="contactMechTypeId" value="EMAIL_ADDRESS"/>
+                </entity-and>
+                <filter-list-by-date list="partyContactWithPurposes" from-field-name="contactFromDate" thru-field-name="contactThruDate"/>
+                <filter-list-by-date list="partyContactWithPurposes" from-field-name="purposeFromDate" thru-field-name="purposeThruDate"/>
+                <if-not-empty field="partyContactWithPurposes">
+                    <set field="updateContactListPartyMap.contactListId" from-field="parameters.contactListId"/>
+                    <set field="updateContactListPartyMap.partyId" from-field="partyContactWithPurposes[0].partyId"/>
+                    <set field="updateContactListPartyMap.preferredContactMechId" from-field="partyContactWithPurposes[0].contactMechId"/>
+                    <set field="updateContactListPartyMap.statusId" value="CLPT_UNSUBS_PENDING"/>
+                    <set field="updateContactListPartyMap.userLogin" from-field="userLogin"/>
+                    <set field="updateContactListPartyMap.baseLocation" from-field="parameters.baseLocation"/>
+                    <call-service service-name="updateContactListParty" in-map-name="updateContactListPartyMap"/>
+                    <else>
+                        <add-error><fail-message message="The email address (${parameters.email}) does not have the Other Email Address as contact purpose."/></add-error>
+                        <check-errors/>
+                    </else>
+                </if-not-empty>
             </else>
         </if-not-empty>
     </simple-method>
+    <simple-method method-name="unsubscribeContactListPartyContachMech" short-description="Find email by contactMechId then call unsubscribeContactListParty service">
+        <entity-and list="partyContactWithPurposes" entity-name="PartyContactWithPurpose">
+            <field-map field-name="contactMechId" from-field="parameters.preferredContactMechId"/>
+            <field-map field-name="partyId" from-field="parameters.partyId"/>
+            <field-map field-name="contactMechTypeId" value="EMAIL_ADDRESS"/>
+        </entity-and>
+        <first-from-list entry="partyContactWithPurpose" list="partyContactWithPurposes"/>
+        <set field="email" from-field="partyContactWithPurpose.infoString"/>
+        <set-service-fields service-name="unsubscribeContactListParty" to-map="unsubscribeContactListPartyCtx" map="parameters"/>
+        <set field="unsubscribeContactListPartyCtx.email" from-field="email"/>
+        <call-service service-name="unsubscribeContactListParty" in-map-name="unsubscribeContactListPartyCtx"/>
+    </simple-method>
     <simple-method method-name="updatePartyEmailContactListParty" short-description="Update ContactList Party Contact Mech">
         <set field="lookupMap.preferredContactMechId" from-field="parameters.oldContactMechId"/>
         <find-by-and entity-name="ContactListParty" map="lookupMap" list="ContactListParties"/>

Modified: ofbiz/trunk/applications/marketing/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/servicedef/services.xml?rev=1152073&r1=1152072&r2=1152073&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/marketing/servicedef/services.xml Fri Jul 29 02:00:19 2011
@@ -88,6 +88,14 @@ under the License.
         <attribute name="partyId" type="String" mode="IN" optional="true"/>
         <attribute name="baseLocation" type="String" mode="IN" optional="true"/>
     </service>
+    <service name="unsubscribeContactListPartyContachMech" engine="simple"
+            location="component://marketing/script/org/ofbiz/marketing/contact/ContactListServices.xml" invoke="unsubscribeContactListPartyContachMech" auth="false">
+        <description>Find email by contactMechId then call unsubscribeContactListParty service.</description>
+        <attribute name="contactListId" type="String" mode="IN" optional="false"/>
+        <attribute name="preferredContactMechId" type="String" mode="IN" optional="false"/>
+        <attribute name="partyId" type="String" mode="IN" optional="true"/>
+        <attribute name="baseLocation" type="String" mode="IN" optional="true"/>
+    </service>
 
     <!-- MarketingCampaignRole Services -->
     <service name="addRoleToMarketingCampaign" default-entity-name="MarketingCampaignRole" engine="simple"

Modified: ofbiz/trunk/specialpurpose/ecommerce/templates/email/ContactListUnsubscribeEmail.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/templates/email/ContactListUnsubscribeEmail.ftl?rev=1152073&r1=1152072&r2=1152073&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/templates/email/ContactListUnsubscribeEmail.ftl (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/templates/email/ContactListUnsubscribeEmail.ftl Fri Jul 29 02:00:19 2011
@@ -21,11 +21,11 @@ under the License.
     <p class="tabletext">Hello ${partyName.firstName?if_exists} ${partyName.lastName?if_exists} ${partyName.groupName?if_exists}!</p>
     <p class="tabletext">Successfully unsubscribed from ${contactList.contactListName} contact list.</p>
 
-    <#assign verifyUrl = baseEcommerceSecureUrl +'updateContactListPartyNoUserLogin?contactListId='+contactListParty.contactListId+'&amp;partyId='+contactListParty.partyId+'&amp;fromDate='+contactListParty.fromDate+'&amp;statusId=CLPT_SUBS_PENDING&amp;optInVerifyCode='+contactListPartyStatus.optInVerifyCode+'&amp;baseLocation='+baseLocation?if_exists>
+    <#--assign verifyUrl = baseEcommerceSecureUrl +'updateContactListPartyNoUserLogin?contactListId='+contactListParty.contactListId+'&amp;partyId='+contactListParty.partyId+'&amp;fromDate='+contactListParty.fromDate+'&amp;statusId=CLPT_SUBS_PENDING&amp;optInVerifyCode='+contactListPartyStatus.optInVerifyCode+'&amp;baseLocation='+baseLocation?if_exists>
     <#if (contactListParty.preferredContactMechId)?exists>
         <#assign verifyUrl= verifyUrl+"&amp;preferredContactMechId="+contactListParty.preferredContactMechId>
     </#if>
-    <a href="${verifyUrl}">If this was by mistake, click here subscribe again.</a>
+    <a href="${verifyUrl}">If this was by mistake, click here subscribe again.</a-->
 
 
 

Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml?rev=1152073&r1=1152072&r2=1152073&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml Fri Jul 29 02:00:19 2011
@@ -1337,6 +1337,12 @@ under the License.
         <response name="success" type="view" value="main"/>
         <response name="error" type="view" value="main"/>
     </request-map>
+    <request-map uri="unsubscribeContactListPartyContachMech">
+        <security https="false" auth="false"/>
+        <event type="service" invoke="unsubscribeContactListPartyContachMech"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
     <request-map uri="contactListOptOut" track-serverhit="false" track-visit="false">
         <security https="false" auth="false"/>
         <event type="service" invoke="updateContactListPartyNoUserLogin"/>

Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl?rev=1152073&r1=1152072&r2=1152073&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/customer/miniSignUpForContactList.ftl Fri Jul 29 02:00:19 2011
@@ -34,6 +34,12 @@ under the License.
         document.getElementById("statusId").value = "CLPT_UNSUBS_PENDING";
         form.submit();
     }
+    function unsubscribeByContactMech() {
+        var form = document.getElementById("signUpForContactListForm");
+        form.action = "<@o...@ofbizUrl>"
+        document.getElementById("statusId").value = "CLPT_UNSUBS_PENDING";
+        form.submit();
+    }
 </script>
 
 <div id="miniSignUpForContactList" class="screenlet">
@@ -67,7 +73,7 @@ under the License.
           </div>
           <div>
             <input type="submit" value="${uiLabelMap.EcommerceSubscribe}"/>
-            <input type="button" value="${uiLabelMap.EcommerceUnsubscribe}" onclick="javascript:unsubscribe();"/>
+            <input type="button" value="${uiLabelMap.EcommerceUnsubscribe}" onclick="javascript:unsubscribeByContactMech();"/>
           </div>
         </fieldset>
       </form>