diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java index d0cd5c29532f496e217a588ab949a7f896fe7aaa..64a65fe4e44f3d8aafca28d41407b42eceb86efe 100755 --- a/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java +++ b/src/main/java/no/nibio/vips/logic/controller/servlet/NotificationSubscriptionController.java @@ -20,6 +20,8 @@ package no.nibio.vips.logic.controller.servlet; import freemarker.core.ParseException; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.List; import javax.ejb.EJB; import javax.persistence.EntityManager; @@ -80,7 +82,12 @@ public class NotificationSubscriptionController extends HttpServlet { String action = request.getParameter("action"); VipsLogicUser user = (VipsLogicUser) request.getSession().getAttribute("user"); - + if(user == null) + { + this.redirectToLogin(request, response); + return; + } + try { // Default: View list of user subscriptions @@ -173,6 +180,13 @@ public class NotificationSubscriptionController extends HttpServlet { } } + private void redirectToLogin(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, IOException + { + String nextPage = ServletUtil.getFullRequestURI(request); + String nextPageDirective= "?nextPage=" + URLEncoder.encode(nextPage, "UTF-8"); + response.sendRedirect(Globals.PROTOCOL + "://" + ServletUtil.getServerName(request) + "/login" + nextPageDirective); + } + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method.