diff src/nabble/view/web/mailing_list/Unsubscribe.jtp @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children 18cf4872fd7f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/nabble/view/web/mailing_list/Unsubscribe.jtp	Thu Mar 21 19:15:52 2019 -0600
@@ -0,0 +1,40 @@
+<%
+package nabble.view.web.mailing_list;
+
+import fschmidt.util.mail.Mail;
+import nabble.model.MailingList;
+import nabble.model.ModelHome;
+import nabble.model.Node;
+import nabble.model.User;
+import nabble.view.lib.Jtp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+
+public final class Unsubscribe extends HttpServlet {
+
+	private static final Logger logger = LoggerFactory.getLogger(Unsubscribe.class);
+
+	protected void service(HttpServletRequest request,HttpServletResponse response)
+		throws ServletException, IOException
+	{
+		User user = Jtp.getUser(request,response);
+		if( user==null ) {
+			Jtp.login("You must login to be able to unsubscribe from a list.",request,response);
+			return;
+		}
+		Node forum = Jtp.getSiteNotNull(request).getNode(Long.parseLong(request.getParameter("forum")));
+		MailingList mailingList = forum.getAssociatedMailingList();
+		Mail unsubscribeMail = mailingList.unsubscribeMail(user);
+		ModelHome.send(unsubscribeMail);
+		logger.info("unsubscription request from "+user.getEmail()+" to "+mailingList.getListAddress());
+		response.sendRedirect("Unsubscribe2.jtp?forum="+forum.getId());
+	}
+}
+%>