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