Mercurial Hosting > nabble
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()); + } +} +%>