Author: billyxie
Date: 2009-09-28 09:57:31 +0200 (Mon, 28 Sep 2009)
New Revision: 38873

Modified:
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/NewsletterSubscriptionCAO.java
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterSubscriptionCAOImpl.java
   
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterSubscriptionServicesImpl.java
Log:
CMSC-1542 -  If an user cancels his newslettersubscription on live, it is not 
changed on staging

Modified: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/NewsletterSubscriptionCAO.java
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/NewsletterSubscriptionCAO.java
    2009-09-28 07:57:14 UTC (rev 38872)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/NewsletterSubscriptionCAO.java
    2009-09-28 07:57:31 UTC (rev 38873)
@@ -30,6 +30,8 @@
    public Set<Term> getTerms(int id);
 
    public Subscription getSubscriptionById(int id);
+   
+   public Node getSubscriptionNodeById(int id);
 
    public void createSubscription(int userId, int newsletterId);
 

Modified: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterSubscriptionCAOImpl.java
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterSubscriptionCAOImpl.java
   2009-09-28 07:57:14 UTC (rev 38872)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterSubscriptionCAOImpl.java
   2009-09-28 07:57:31 UTC (rev 38873)
@@ -389,7 +389,7 @@
       subscription.commit();
    }
 
-   private Node getSubscriptionNodeById(int subscriptionId) {
+   public Node getSubscriptionNodeById(int subscriptionId) {
       return cloud.getNode(subscriptionId);
    }
 

Modified: 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterSubscriptionServicesImpl.java
===================================================================
--- 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterSubscriptionServicesImpl.java
 2009-09-28 07:57:14 UTC (rev 38872)
+++ 
CMSContainer/trunk/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterSubscriptionServicesImpl.java
 2009-09-28 07:57:31 UTC (rev 38873)
@@ -14,6 +14,7 @@
 
 import com.finalist.cmsc.services.community.person.Person;
 import com.finalist.cmsc.services.community.person.PersonService;
+import com.finalist.cmsc.services.publish.Publish;
 import com.finalist.cmsc.util.DateUtil;
 import com.finalist.newsletter.cao.NewsLetterStatisticCAO;
 import com.finalist.newsletter.cao.NewsletterCAO;
@@ -231,12 +232,11 @@
    }
 
    public void terminateUserSubscription(String subscriptionId) {
-      Subscription subscription = 
subscriptionCAO.getSubscriptionById(Integer.parseInt(subscriptionId));
-      subscription.setStatus(STATUS.INACTIVE);
-      subscriptionCAO.updateSubscription(subscription);
-      int newsletterId = 
newsletterCAO.getNewsletterIdBySubscription(Integer.parseInt(subscriptionId));
-      int userId = CommunityModuleAdapter.getCurrentUserId();
-      statisticCAO.logPublication(userId, newsletterId, HANDLE.INACTIVE);
+      Node subscription = 
subscriptionCAO.getSubscriptionNodeById(Integer.parseInt(subscriptionId));
+      if (Publish.isPublished(subscription)) {
+          Publish.unpublish(subscription);
+      }
+      subscription.delete(true);       
    }
 
    public Subscription getSubscription(String sId) {

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to