From a44f2d9fad763774993f0ede88f9c9e462ff54fc Mon Sep 17 00:00:00 2001 From: Araozu Date: Sun, 15 Jul 2018 15:28:04 -0500 Subject: [PATCH] Arreglo de errores --- .idea/workspace.xml | 864 +++++++++--------- .../employees/EmployeesControllerAdd.java | 6 +- .../employees/EmployeesControllerDelete.java | 6 +- .../employees/EmployeesControllerIndex.java | 6 +- .../employees/EmployeesControllerView.java | 2 +- .../materials/MaterialsControllerAdd.java | 2 +- .../materials/MaterialsControllerDelete.java | 2 - .../materials/MaterialsControllerIndex.java | 3 +- .../services/ServicesControllerAdd.java | 6 +- .../services/ServicesControllerDelete.java | 4 +- .../services/ServicesControllerIndex.java | 4 +- .../services/ServicesControllerView.java | 2 +- .../access/AccessControllerAdd.java | 4 +- .../access/AccessControllerDelete.java | 4 +- .../access/AccessControllerEdit.java | 4 +- .../access/AccessControllerIndex.java | 5 +- .../access/AccessControllerView.java | 4 +- src/controller/usersManagement/index.java | 69 ++ .../resources/ResourcesControllerAdd.java | 87 +- .../resources/ResourcesControllerDelete.java | 40 +- .../resources/ResourcesControllerIndex.java | 51 +- .../resources/ResourcesControllerView.java | 88 +- .../roles/RolesControllerAdd.java | 87 +- .../roles/RolesControllerDelete.java | 38 +- .../roles/RolesControllerIndex.java | 46 +- .../roles/RolesControllerView.java | 82 +- .../users/UsersControllerAdd.java | 2 - .../users/UsersControllerIndex.java | 4 +- .../users/UsersControllerView.java | 19 +- war/WEB-INF/View/Access/add.jsp | 3 +- war/WEB-INF/View/Access/edit.jsp | 3 +- war/WEB-INF/View/Access/index.jsp | 9 +- war/WEB-INF/View/Access/view.jsp | 3 +- war/WEB-INF/View/Employees/add.jsp | 3 +- war/WEB-INF/View/Employees/index.jsp | 10 +- war/WEB-INF/View/Employees/view.jsp | 3 +- war/WEB-INF/View/Finances/index.jsp | 3 +- war/WEB-INF/View/Materials/View.jsp | 3 +- war/WEB-INF/View/Materials/add.jsp | 3 +- war/WEB-INF/View/Materials/index.jsp | 10 +- war/WEB-INF/View/Resources/add.jsp | 3 +- war/WEB-INF/View/Resources/index.jsp | 10 +- war/WEB-INF/View/Resources/view.jsp | 3 +- war/WEB-INF/View/Roles/add.jsp | 3 +- war/WEB-INF/View/Roles/index.jsp | 1 + war/WEB-INF/View/Roles/view.jsp | 3 +- war/WEB-INF/View/Services/add.jsp | 3 +- war/WEB-INF/View/Services/index.jsp | 10 +- war/WEB-INF/View/Services/view.jsp | 3 +- war/WEB-INF/View/Users/add.jsp | 3 +- war/WEB-INF/View/Users/index.jsp | 10 +- war/WEB-INF/View/Users/view.jsp | 3 +- war/WEB-INF/View/eIndex.jsp | 186 ++++ war/WEB-INF/web.xml | 10 +- war/index.jsp | 6 +- 55 files changed, 1146 insertions(+), 705 deletions(-) create mode 100644 src/controller/usersManagement/index.java create mode 100644 war/WEB-INF/View/eIndex.jsp diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 4d47444..9e37d69 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,7 +5,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -29,6 +58,7 @@ + @@ -60,26 +90,82 @@ - + - - - - - + + - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -87,8 +173,8 @@ - - + + @@ -126,56 +212,56 @@ @@ -210,6 +296,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -395,8 +459,9 @@ - + + @@ -567,7 +632,9 @@ - + + + 1528408256446 @@ -779,11 +846,18 @@ - - @@ -803,6 +877,7 @@ + @@ -820,11 +895,12 @@ - - + + + @@ -880,7 +956,6 @@ @@ -913,191 +989,273 @@ - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + + + + - + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - @@ -1105,27 +1263,23 @@ - - - - - + + - - + + - - + + - @@ -1133,200 +1287,92 @@ - - - - - + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + - - - - - + + - - + + - - - - - - - - - - - - - - - - + + - - - - - + + - - - - - - - - - - - - - - - - + + - - - - - + + - - - - - - - - - - - - - - - - + + - - + + diff --git a/src/controller/resourcesManagement/employees/EmployeesControllerAdd.java b/src/controller/resourcesManagement/employees/EmployeesControllerAdd.java index cf6cd59..2408712 100644 --- a/src/controller/resourcesManagement/employees/EmployeesControllerAdd.java +++ b/src/controller/resourcesManagement/employees/EmployeesControllerAdd.java @@ -60,7 +60,7 @@ public class EmployeesControllerAdd extends HttpServlet { pm.close(); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Employee updated successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Empleado creado con éxito.\"}"); } else if (action.equals("redirect")){ @@ -82,13 +82,13 @@ public class EmployeesControllerAdd extends HttpServlet { } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to create/update an Employee.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para crear un Empleado.\"}"); response.sendRedirect("/e/users"); } } catch (NullPointerException e){ - response.sendRedirect("/e/users"); + response.sendRedirect("/"); } diff --git a/src/controller/resourcesManagement/employees/EmployeesControllerDelete.java b/src/controller/resourcesManagement/employees/EmployeesControllerDelete.java index b5ca441..fd264c7 100644 --- a/src/controller/resourcesManagement/employees/EmployeesControllerDelete.java +++ b/src/controller/resourcesManagement/employees/EmployeesControllerDelete.java @@ -31,7 +31,7 @@ public class EmployeesControllerDelete extends HttpServlet { pm.deletePersistent(employee); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Employee deleted successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Empleado eliminado con éxito.\"}"); } catch (JDOObjectNotFoundException e){ System.err.println("Exception catched -> " + e.getMessage()); } @@ -41,13 +41,13 @@ public class EmployeesControllerDelete extends HttpServlet { response.sendRedirect("/e/employees"); } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to delete a Employee.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para eliminar un Empleado.\"}"); response.sendRedirect("/e/users"); } } catch (NullPointerException e){ - response.sendRedirect("/e/users"); + response.sendRedirect("/"); } diff --git a/src/controller/resourcesManagement/employees/EmployeesControllerIndex.java b/src/controller/resourcesManagement/employees/EmployeesControllerIndex.java index 3807071..afd4967 100644 --- a/src/controller/resourcesManagement/employees/EmployeesControllerIndex.java +++ b/src/controller/resourcesManagement/employees/EmployeesControllerIndex.java @@ -44,12 +44,12 @@ public class EmployeesControllerIndex extends HttpServlet { } } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to access /employees.\"}"); - response.sendRedirect("/e/users"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/employees.\"}"); + response.sendRedirect("/e/"); } } catch (NullPointerException e){ - response.sendRedirect("/e/users"); + response.sendRedirect("/"); } diff --git a/src/controller/resourcesManagement/employees/EmployeesControllerView.java b/src/controller/resourcesManagement/employees/EmployeesControllerView.java index 3f3bb85..01ecde1 100644 --- a/src/controller/resourcesManagement/employees/EmployeesControllerView.java +++ b/src/controller/resourcesManagement/employees/EmployeesControllerView.java @@ -77,7 +77,7 @@ public class EmployeesControllerView extends HttpServlet { } } catch (NullPointerException e){ - response.sendRedirect("/e/users"); + response.sendRedirect("/"); } } diff --git a/src/controller/resourcesManagement/materials/MaterialsControllerAdd.java b/src/controller/resourcesManagement/materials/MaterialsControllerAdd.java index 294517e..bd41a2f 100644 --- a/src/controller/resourcesManagement/materials/MaterialsControllerAdd.java +++ b/src/controller/resourcesManagement/materials/MaterialsControllerAdd.java @@ -79,7 +79,7 @@ public class MaterialsControllerAdd extends HttpServlet { } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para crear un Material.\"}"); response.sendRedirect("/e/materials"); } diff --git a/src/controller/resourcesManagement/materials/MaterialsControllerDelete.java b/src/controller/resourcesManagement/materials/MaterialsControllerDelete.java index 587426c..9f02a8b 100644 --- a/src/controller/resourcesManagement/materials/MaterialsControllerDelete.java +++ b/src/controller/resourcesManagement/materials/MaterialsControllerDelete.java @@ -41,10 +41,8 @@ public class MaterialsControllerDelete extends HttpServlet { response.sendRedirect("/e/materials"); } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para eliminar un Material.\"}"); response.sendRedirect("/e/materials"); - } } catch (NullPointerException e){ diff --git a/src/controller/resourcesManagement/materials/MaterialsControllerIndex.java b/src/controller/resourcesManagement/materials/MaterialsControllerIndex.java index 06bac46..1914b35 100644 --- a/src/controller/resourcesManagement/materials/MaterialsControllerIndex.java +++ b/src/controller/resourcesManagement/materials/MaterialsControllerIndex.java @@ -44,7 +44,8 @@ public class MaterialsControllerIndex extends HttpServlet { } } else { - response.sendRedirect("/e/services"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/materials.\"}"); + response.sendRedirect("/e/"); } }catch (NullPointerException e){ diff --git a/src/controller/resourcesManagement/services/ServicesControllerAdd.java b/src/controller/resourcesManagement/services/ServicesControllerAdd.java index 32a4084..64f201c 100644 --- a/src/controller/resourcesManagement/services/ServicesControllerAdd.java +++ b/src/controller/resourcesManagement/services/ServicesControllerAdd.java @@ -43,7 +43,7 @@ public class ServicesControllerAdd extends HttpServlet { Service service = new Service (name, price, description,userCreatorKey); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Service created successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Servicio creado con éxito.\"}"); pm.makePersistent(service); @@ -60,7 +60,7 @@ public class ServicesControllerAdd extends HttpServlet { pm.close(); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Service updated successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Servicio editado con éxito.\"}"); } else if (action.equals("redirect")){ @@ -82,7 +82,7 @@ public class ServicesControllerAdd extends HttpServlet { } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to create/update a Service.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para crear un Servicio.\"}"); response.sendRedirect("/services"); } diff --git a/src/controller/resourcesManagement/services/ServicesControllerDelete.java b/src/controller/resourcesManagement/services/ServicesControllerDelete.java index abd875f..be259b2 100644 --- a/src/controller/resourcesManagement/services/ServicesControllerDelete.java +++ b/src/controller/resourcesManagement/services/ServicesControllerDelete.java @@ -31,7 +31,7 @@ public class ServicesControllerDelete extends HttpServlet { pm.deletePersistent(service); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Service deleted successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Servicio eliminado con éxito.\"}"); } catch (JDOObjectNotFoundException e){ System.err.println("Exception catched -> " + e.getMessage()); } @@ -41,7 +41,7 @@ public class ServicesControllerDelete extends HttpServlet { response.sendRedirect("/services"); } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to delete a Service.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para eliminar un Servicio.\"}"); response.sendRedirect("/services"); } diff --git a/src/controller/resourcesManagement/services/ServicesControllerIndex.java b/src/controller/resourcesManagement/services/ServicesControllerIndex.java index f39a257..ea8f177 100644 --- a/src/controller/resourcesManagement/services/ServicesControllerIndex.java +++ b/src/controller/resourcesManagement/services/ServicesControllerIndex.java @@ -44,8 +44,8 @@ public class ServicesControllerIndex extends HttpServlet { } } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to access /services.\"}"); - response.sendRedirect("/"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/services.\"}"); + response.sendRedirect("/e/"); } } catch (NullPointerException e){ diff --git a/src/controller/resourcesManagement/services/ServicesControllerView.java b/src/controller/resourcesManagement/services/ServicesControllerView.java index 06bf750..185ab03 100644 --- a/src/controller/resourcesManagement/services/ServicesControllerView.java +++ b/src/controller/resourcesManagement/services/ServicesControllerView.java @@ -72,7 +72,7 @@ public class ServicesControllerView extends HttpServlet { pm.close(); } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to view/edit a Service.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para ver/editar un Servicio.\"}"); response.sendRedirect("/services"); } diff --git a/src/controller/usersManagement/access/AccessControllerAdd.java b/src/controller/usersManagement/access/AccessControllerAdd.java index 8a59036..459882a 100644 --- a/src/controller/usersManagement/access/AccessControllerAdd.java +++ b/src/controller/usersManagement/access/AccessControllerAdd.java @@ -80,7 +80,7 @@ public class AccessControllerAdd extends HttpServlet { Access a = new Access(idRole, idResource,true); //persist the entity pm.makePersistent(a); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Access created successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Acceso creado con éxito.\"}"); } } else if (request.getParameter("info").equals("check")){ @@ -103,7 +103,7 @@ public class AccessControllerAdd extends HttpServlet { }else{ - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to create an access.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para crear un Acceso.\"}"); response.sendRedirect("/e/access"); } diff --git a/src/controller/usersManagement/access/AccessControllerDelete.java b/src/controller/usersManagement/access/AccessControllerDelete.java index 9b2d29a..ff26f14 100644 --- a/src/controller/usersManagement/access/AccessControllerDelete.java +++ b/src/controller/usersManagement/access/AccessControllerDelete.java @@ -26,14 +26,14 @@ public class AccessControllerDelete extends HttpServlet { pm.deletePersistent(r); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Access deleted successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Acceso eliminado con éxito.\"}"); response.sendRedirect("/e/access"); } catch(javax.jdo.JDOObjectNotFoundException nf) { response.sendRedirect("/e/access"); } } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to delete an access.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para eliminar un Acceso.\"}"); response.sendRedirect("/e/access"); } diff --git a/src/controller/usersManagement/access/AccessControllerEdit.java b/src/controller/usersManagement/access/AccessControllerEdit.java index 67fa3b8..5167c8f 100644 --- a/src/controller/usersManagement/access/AccessControllerEdit.java +++ b/src/controller/usersManagement/access/AccessControllerEdit.java @@ -67,7 +67,7 @@ public class AccessControllerEdit extends HttpServlet { a.setResourceKey(idResource); } - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Access updated successfully.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Acceso editado con éxito.\"}"); response.sendRedirect("/e/access"); @@ -92,7 +92,7 @@ public class AccessControllerEdit extends HttpServlet { }else{ - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to edit an access.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para editar un Acceso.\"}"); response.sendRedirect("/e/access"); } diff --git a/src/controller/usersManagement/access/AccessControllerIndex.java b/src/controller/usersManagement/access/AccessControllerIndex.java index b5eb692..5938ace 100644 --- a/src/controller/usersManagement/access/AccessControllerIndex.java +++ b/src/controller/usersManagement/access/AccessControllerIndex.java @@ -28,7 +28,6 @@ public class AccessControllerIndex extends HttpServlet { // create the persistence manager instance PersistenceManager pm = PMF.get().getPersistenceManager(); - //Se usa para revisar si hay una sesion activa HttpSession sesion= request.getSession(); @@ -65,8 +64,8 @@ public class AccessControllerIndex extends HttpServlet { } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to access /access.\"}"); - response.sendRedirect("/"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/access.\"}"); + response.sendRedirect("/e/"); } diff --git a/src/controller/usersManagement/access/AccessControllerView.java b/src/controller/usersManagement/access/AccessControllerView.java index 05c20ba..7b219d9 100644 --- a/src/controller/usersManagement/access/AccessControllerView.java +++ b/src/controller/usersManagement/access/AccessControllerView.java @@ -50,7 +50,7 @@ public class AccessControllerView extends HttpServlet { } else { - request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to view an access.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para ver un Acceso.\"}"); response.sendRedirect("/e/access"); } @@ -59,7 +59,7 @@ public class AccessControllerView extends HttpServlet { } catch(javax.jdo.JDOObjectNotFoundException nf) { System.err.println("JDOObjectNotFound -> AccessControllerView"); nf.printStackTrace(); - request.getSession().setAttribute("serverResponse","{\"color\": \"darkorange\",\"response\":\"Error trying to view the Access.\"}"); + request.getSession().setAttribute("serverResponse","{\"color\": \"darkorange\",\"response\":\"Ocurrio un error.\"}"); response.sendRedirect("/e/access"); } catch (NullPointerException e){ diff --git a/src/controller/usersManagement/index.java b/src/controller/usersManagement/index.java new file mode 100644 index 0000000..31a15c9 --- /dev/null +++ b/src/controller/usersManagement/index.java @@ -0,0 +1,69 @@ +package controller.usersManagement; + +import controller.PMF; +import controller.usersManagement.access.AccessControllerView; +import controller.usersManagement.users.UsersControllerView; +import model.Access; +import model.User; + +import javax.jdo.PersistenceManager; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.List; + +public class index extends HttpServlet { + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + try{ + + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ + + // create the persistence manager instance + PersistenceManager pm = PMF.get().getPersistenceManager(); + + //Se usa para revisar si hay una sesion activa + HttpSession sesion= request.getSession(); + + //Intenta hallar una sesion activa + try{ + User user = UsersControllerView.getUser(sesion.getAttribute("userID").toString()); + if (user == null) throw new NullPointerException("UsersControllerIndex: El usuario recibido es nulo."); + + request.setAttribute("User",user); + + request.setAttribute("serverResponse",sesion.getAttribute("serverResponse")); + sesion.setAttribute("serverResponse","!"); + + // forward the request to the jsp + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/eIndex.jsp"); + dispatcher.forward(request, response); + + } + //Si no la encuentra, redirige a la pagina inicial para que se cree la sesion. + catch (Exception e){ + e.printStackTrace(); + response.getWriter().println(""); + } finally { + pm.close(); + } + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"Oops. No tienes permiso para acceder.\"}"); + response.sendRedirect("/"); + } + + } catch (NullPointerException e){ + response.sendRedirect("/"); + } + + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doPost(request, response); + } +} diff --git a/src/controller/usersManagement/resources/ResourcesControllerAdd.java b/src/controller/usersManagement/resources/ResourcesControllerAdd.java index 3233feb..4bea972 100644 --- a/src/controller/usersManagement/resources/ResourcesControllerAdd.java +++ b/src/controller/usersManagement/resources/ResourcesControllerAdd.java @@ -2,6 +2,7 @@ package controller.usersManagement.resources; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; +import controller.usersManagement.access.AccessControllerView; import controller.usersManagement.users.UsersControllerView; import model.Resource; @@ -17,57 +18,69 @@ import java.io.IOException; @SuppressWarnings("serial") public class ResourcesControllerAdd extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - PersistenceManager pm = controller.PMF.get().getPersistenceManager(); - //Accion a realizar - String action = request.getParameter("action"); + try { - if (action == null) - action = ""; + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ - switch (action){ - //Crea - case "create": + PersistenceManager pm = controller.PMF.get().getPersistenceManager(); - String url = request.getParameter("url"); - Boolean status = Boolean.parseBoolean(request.getParameter("status")); + //Accion a realizar + String action = request.getParameter("action"); - createRole(url,status,pm); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Resource created successfully.\"}"); - break; + if (action == null) + action = ""; - case "redirect": - HttpSession sesion= request.getSession(); - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/add.jsp"); - request.setAttribute("User",UsersControllerView.getUser(sesion.getAttribute("userID").toString())); - dispatcher.forward(request, response); - break; + switch (action){ + //Crea + case "create": - case "update": + String url = request.getParameter("url"); + Boolean status = Boolean.parseBoolean(request.getParameter("status")); - Key a = KeyFactory.stringToKey(request.getParameter("key")); + createRole(url,status,pm); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Recurso creado con éxito.\"}"); + break; - Resource resourc = pm.getObjectById(Resource.class, a); + case "redirect": + HttpSession sesion= request.getSession(); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/add.jsp"); + request.setAttribute("User",UsersControllerView.getUser(sesion.getAttribute("userID").toString())); + dispatcher.forward(request, response); + break; - resourc.setUrl(request.getParameter("url")); - resourc.setStatus(Boolean.parseBoolean(request.getParameter("status"))); + case "update": - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Resource updated successfully.\"}"); - break; + Key a = KeyFactory.stringToKey(request.getParameter("key")); + Resource resourc = pm.getObjectById(Resource.class, a); + + resourc.setUrl(request.getParameter("url")); + resourc.setStatus(Boolean.parseBoolean(request.getParameter("status"))); + + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Recurso Actualizado con éxito.\"}"); + break; + + } + + pm.close(); + try{ + response.sendRedirect("/e/resources"); + } + //Al redirigr al jsp para crear, se usa RequestDispatcher, y este entra en conflicto con sendRedirect. + catch (IllegalStateException e){ + System.err.println("IllegalStateException: There was a double redirect."); + } + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para crear un Recurso.\"}"); + response.sendRedirect("/e/resources"); + } + + } catch (NullPointerException e){ + response.sendRedirect("/"); } - pm.close(); - try{ - response.sendRedirect("/e/resources"); - } - //Al redirigr al jsp para crear, se usa RequestDispatcher, y este entra en conflicto con sendRedirect. - catch (IllegalStateException e){ - System.err.println("IllegalStateException: There was a double redirect."); - } - - } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { diff --git a/src/controller/usersManagement/resources/ResourcesControllerDelete.java b/src/controller/usersManagement/resources/ResourcesControllerDelete.java index b225361..2d57179 100644 --- a/src/controller/usersManagement/resources/ResourcesControllerDelete.java +++ b/src/controller/usersManagement/resources/ResourcesControllerDelete.java @@ -2,6 +2,7 @@ package controller.usersManagement.resources; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; +import controller.usersManagement.access.AccessControllerView; import model.Resource; import javax.jdo.JDOObjectNotFoundException; @@ -17,24 +18,37 @@ import java.io.IOException; @SuppressWarnings("serial") public class ResourcesControllerDelete extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - PersistenceManager pm = controller.PMF.get().getPersistenceManager(); - try { - Key key = KeyFactory.stringToKey(request.getParameter("key")); - try{ - pm.deletePersistent(pm.getObjectById(Resource.class, key)); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Resource deleted successfully.\"}"); - } catch (JDOObjectNotFoundException e){ - System.err.println("Exception catched -> " + e.getMessage()); + try{ + + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ + + PersistenceManager pm = controller.PMF.get().getPersistenceManager(); + + try { + Key key = KeyFactory.stringToKey(request.getParameter("key")); + try{ + pm.deletePersistent(pm.getObjectById(Resource.class, key)); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Recurso eliminado con éxito.\"}"); + } catch (JDOObjectNotFoundException e){ + System.err.println("Exception catched -> " + e.getMessage()); + } + + + } catch (NullPointerException e){ + System.err.println("Exception captured -> " + e.getMessage()); + } + + response.sendRedirect("/e/resources"); + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para eliminar un Recurso.\"}"); + response.sendRedirect("/e/resources"); } - } catch (NullPointerException e){ - System.err.println("Exception captured -> " + e.getMessage()); + response.sendRedirect("/"); } - - response.sendRedirect("/e/resources"); } diff --git a/src/controller/usersManagement/resources/ResourcesControllerIndex.java b/src/controller/usersManagement/resources/ResourcesControllerIndex.java index fb5daeb..0cde162 100644 --- a/src/controller/usersManagement/resources/ResourcesControllerIndex.java +++ b/src/controller/usersManagement/resources/ResourcesControllerIndex.java @@ -1,5 +1,6 @@ package controller.usersManagement.resources; +import controller.usersManagement.access.AccessControllerView; import controller.usersManagement.users.UsersControllerView; import model.User; @@ -14,29 +15,41 @@ import java.io.IOException; @SuppressWarnings("serial") public class ResourcesControllerIndex extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - //Se usa para revisar si hay una sesion activa - HttpSession sesion= request.getSession(); - //Intenta hallar una sesion activa - try{ - User user = UsersControllerView.getUser(sesion.getAttribute("userID").toString()); - if (user == null) throw new NullPointerException("UsersControllerIndex: El usuario recibido es nulo."); + try { - request.setAttribute("User",user); - request.setAttribute("ResourceList",ResourcesControllerView.getAllResources()); - request.setAttribute("serverResponse",sesion.getAttribute("serverResponse")); - sesion.setAttribute("serverResponse","!"); - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/index.jsp"); - dispatcher.forward(request,response); + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ + //Se usa para revisar si hay una sesion activa + HttpSession sesion= request.getSession(); + //Intenta hallar una sesion activa + try{ + User user = UsersControllerView.getUser(sesion.getAttribute("userID").toString()); + if (user == null) throw new NullPointerException("UsersControllerIndex: El usuario recibido es nulo."); + + request.setAttribute("User",user); + request.setAttribute("ResourceList",ResourcesControllerView.getAllResources()); + request.setAttribute("serverResponse",sesion.getAttribute("serverResponse")); + sesion.setAttribute("serverResponse","!"); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/index.jsp"); + dispatcher.forward(request,response); + + } + //Si no la encuentra, redirige a la pagina inicial. + catch (Exception e){ + e.printStackTrace(); + response.getWriter().println(""); + } + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/resources.\"}"); + response.sendRedirect("/e/"); + } + + } catch (NullPointerException e){ + response.sendRedirect("/"); } - //Si no la encuentra, redirige a la pagina inicial. - catch (Exception e){ - e.printStackTrace(); - response.getWriter().println(""); - } - + } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { diff --git a/src/controller/usersManagement/resources/ResourcesControllerView.java b/src/controller/usersManagement/resources/ResourcesControllerView.java index e0536f5..440ebf8 100644 --- a/src/controller/usersManagement/resources/ResourcesControllerView.java +++ b/src/controller/usersManagement/resources/ResourcesControllerView.java @@ -2,6 +2,7 @@ package controller.usersManagement.resources; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; +import controller.usersManagement.access.AccessControllerView; import controller.usersManagement.users.UsersControllerView; import model.Resource; @@ -17,49 +18,60 @@ import java.util.List; @SuppressWarnings("serial") public class ResourcesControllerView extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - String action = request.getParameter("action"); - //Para evitar errores, si no hay ninguna accion, se establece a vacio. - if (action == null) - action = ""; + try { + if(AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ - String key = request.getParameter("key"); + String action = request.getParameter("action"); - //Redirige al formulario para editar un Resource (resource/view) - if (action.equals("editRedirect") && key != null){ - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/view.jsp"); - request.setAttribute("Resource",getResource(key)); - request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); + //Para evitar errores, si no hay ninguna accion, se establece a vacio. + if (action == null) + action = ""; - //Ya que se quiere editar, el atributo permitirEdicion es verdadero. Este atributo se comprueba en el JSP. - request.setAttribute("editAllowed",true); - request.setAttribute("action","Edit"); - try{ - dispatcher.forward(request,response); - } catch (javax.servlet.ServletException e){ - System.err.println("Exception captured -> " + e.getMessage()); + String key = request.getParameter("key"); + + //Redirige al formulario para editar un Resource (resource/view) + if (action.equals("editRedirect") && key != null){ + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/view.jsp"); + request.setAttribute("Resource",getResource(key)); + request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); + + //Ya que se quiere editar, el atributo permitirEdicion es verdadero. Este atributo se comprueba en el JSP. + request.setAttribute("editAllowed",true); + request.setAttribute("action","Edit"); + try{ + dispatcher.forward(request,response); + } catch (javax.servlet.ServletException e){ + System.err.println("Exception captured -> " + e.getMessage()); + } + } + //Redirige al formulario para ver un usuario (user/view) + else if (action.equals("viewRedirect") && key != null){ + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/view.jsp"); + request.setAttribute("Resource",getResource(key)); + request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); + + //Ya que no quiere editar, el atributo permitirEdicion es falso. Este atributo se comprueba en el JSP. + request.setAttribute("editAllowed",false); + request.setAttribute("action","View"); + try{ + dispatcher.forward(request,response); + } catch (javax.servlet.ServletException e){ + System.err.println("Exception captured -> " + e.getMessage()); + } + + } + //Si no se encontró acción, regresa al inicio + else { + response.getWriter().println(""); + } + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para ver Recursos.\"}"); + response.sendRedirect("/e/users"); } - } - //Redirige al formulario para ver un usuario (user/view) - else if (action.equals("viewRedirect") && key != null){ - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Resources/view.jsp"); - request.setAttribute("Resource",getResource(key)); - request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); - - //Ya que no quiere editar, el atributo permitirEdicion es falso. Este atributo se comprueba en el JSP. - request.setAttribute("editAllowed",false); - request.setAttribute("action","View"); - try{ - dispatcher.forward(request,response); - } catch (javax.servlet.ServletException e){ - System.err.println("Exception captured -> " + e.getMessage()); - } - - } - //Si no se encontró acción, regresa al inicio - else { - response.getWriter().println(""); + } catch (NullPointerException e){ + response.sendRedirect("/"); } diff --git a/src/controller/usersManagement/roles/RolesControllerAdd.java b/src/controller/usersManagement/roles/RolesControllerAdd.java index af45524..4a03eba 100644 --- a/src/controller/usersManagement/roles/RolesControllerAdd.java +++ b/src/controller/usersManagement/roles/RolesControllerAdd.java @@ -2,6 +2,7 @@ package controller.usersManagement.roles; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; +import controller.usersManagement.access.AccessControllerView; import controller.usersManagement.users.UsersControllerView; import model.Role; @@ -22,64 +23,74 @@ import java.io.IOException; * Crear un Rol -> con el parametro action = create * Redireccionar al form para crear un Rol -> parametro action = redirect * Actualizar un Rol -> parametro action = update - * - * - * * */ @SuppressWarnings("serial") public class RolesControllerAdd extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - PersistenceManager pm = controller.PMF.get().getPersistenceManager(); + try { - //Accion a realizar - String action = request.getParameter("action"); + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ - if (action == null) - action = ""; + PersistenceManager pm = controller.PMF.get().getPersistenceManager(); - switch (action){ - //Crea - case "create": + //Accion a realizar + String action = request.getParameter("action"); - String name = request.getParameter("roleName"); - Boolean status = Boolean.parseBoolean(request.getParameter("roleStatus")); + if (action == null) + action = ""; - createRole(name,status,pm); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Role created successfully.\"}"); + switch (action){ + //Crea + case "create": - break; + String name = request.getParameter("roleName"); + Boolean status = Boolean.parseBoolean(request.getParameter("roleStatus")); - case "redirect": - HttpSession sesion= request.getSession(); - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/add.jsp"); - request.setAttribute("User",UsersControllerView.getUser(sesion.getAttribute("userID").toString())); - dispatcher.forward(request, response); - break; + createRole(name,status,pm); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Role created successfully.\"}"); - case "update": + break; - Key a = KeyFactory.stringToKey(request.getParameter("key")); + case "redirect": + HttpSession sesion= request.getSession(); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/add.jsp"); + request.setAttribute("User",UsersControllerView.getUser(sesion.getAttribute("userID").toString())); + dispatcher.forward(request, response); + break; - Role role1 = pm.getObjectById(Role.class, a); + case "update": - role1.setName(request.getParameter("roleName")); - role1.setStatus(Boolean.parseBoolean(request.getParameter("roleStatus"))); - //role1.setImgUrl(userImg); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Role updated successfully.\"}"); + Key a = KeyFactory.stringToKey(request.getParameter("key")); - break; + Role role1 = pm.getObjectById(Role.class, a); - } + role1.setName(request.getParameter("roleName")); + role1.setStatus(Boolean.parseBoolean(request.getParameter("roleStatus"))); + //role1.setImgUrl(userImg); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Role editado con éxito.\"}"); - pm.close(); - try{ - response.sendRedirect("/e/roles"); - } - //Al redirigr al jsp para crear, se usa RequestDispatcher, y este entra en conflicto con sendRedirect. - catch (IllegalStateException e){ - System.err.println("IllegalStateException: There was a double redirect."); + break; + + } + + pm.close(); + try{ + response.sendRedirect("/e/roles"); + } + //Al redirigr al jsp para crear, se usa RequestDispatcher, y este entra en conflicto con sendRedirect. + catch (IllegalStateException e){ + System.err.println("IllegalStateException: There was a double redirect."); + } + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/roles.\"}"); + response.sendRedirect("/e/roles"); + } + + } catch (NullPointerException e){ + response.sendRedirect("/"); } } diff --git a/src/controller/usersManagement/roles/RolesControllerDelete.java b/src/controller/usersManagement/roles/RolesControllerDelete.java index 113d1c2..087382b 100644 --- a/src/controller/usersManagement/roles/RolesControllerDelete.java +++ b/src/controller/usersManagement/roles/RolesControllerDelete.java @@ -2,6 +2,7 @@ package controller.usersManagement.roles; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; +import controller.usersManagement.access.AccessControllerView; import model.Role; import javax.jdo.JDOObjectNotFoundException; @@ -16,24 +17,37 @@ import java.io.IOException; public class RolesControllerDelete extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - PersistenceManager pm = controller.PMF.get().getPersistenceManager(); - try { - Key k = KeyFactory.stringToKey(request.getParameter("key")); - try{ - pm.deletePersistent(pm.getObjectById(Role.class, k)); - request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Role deleted successfully.\"}"); - } catch (JDOObjectNotFoundException e){ - System.err.println("Exception catched -> " + e.getMessage()); + + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ + + PersistenceManager pm = controller.PMF.get().getPersistenceManager(); + + try { + Key k = KeyFactory.stringToKey(request.getParameter("key")); + try{ + pm.deletePersistent(pm.getObjectById(Role.class, k)); + request.getSession().setAttribute("serverResponse","{\"color\": \"#26a69a\",\"response\":\"Role deleted successfully.\"}"); + } catch (JDOObjectNotFoundException e){ + System.err.println("Exception catched -> " + e.getMessage()); + } + + + } catch (NullPointerException e){ + System.err.println("Exception captured -> " + e.getMessage()); + } + + response.sendRedirect("/e/roles"); + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para eliminar un Rol.\"}"); + response.sendRedirect("/e/roles"); } - } catch (NullPointerException e){ - System.err.println("Exception captured -> " + e.getMessage()); + response.sendRedirect("/"); } - response.sendRedirect("/e/roles"); - } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { diff --git a/src/controller/usersManagement/roles/RolesControllerIndex.java b/src/controller/usersManagement/roles/RolesControllerIndex.java index 8fec1bc..44a6c88 100644 --- a/src/controller/usersManagement/roles/RolesControllerIndex.java +++ b/src/controller/usersManagement/roles/RolesControllerIndex.java @@ -1,5 +1,6 @@ package controller.usersManagement.roles; +import controller.usersManagement.access.AccessControllerView; import controller.usersManagement.users.UsersControllerView; import model.User; @@ -15,26 +16,37 @@ import java.io.IOException; public class RolesControllerIndex extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - //Se usa para revisar si hay una sesion activa - HttpSession sesion= request.getSession(); - - //Intenta hallar una sesion activa try{ - User user = UsersControllerView.getUser(sesion.getAttribute("userID").toString()); - if (user == null) throw new NullPointerException("UsersControllerIndex: El usuario recibido es nulo."); + if(AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ - request.setAttribute("User",user); - request.setAttribute("RoleList",RolesControllerView.getAllRoles()); - request.setAttribute("serverResponse",sesion.getAttribute("serverResponse")); - sesion.setAttribute("serverResponse","!"); - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/index.jsp"); - dispatcher.forward(request,response); + //Se usa para revisar si hay una sesion activa + HttpSession sesion= request.getSession(); - } - //Si no la encuentra, redirige a la pagina inicial. - catch (Exception e){ - e.printStackTrace(); - response.getWriter().println(""); + //Intenta hallar una sesion activa + try{ + User user = UsersControllerView.getUser(sesion.getAttribute("userID").toString()); + if (user == null) throw new NullPointerException("UsersControllerIndex: El usuario recibido es nulo."); + + request.setAttribute("User",user); + request.setAttribute("RoleList",RolesControllerView.getAllRoles()); + request.setAttribute("serverResponse",sesion.getAttribute("serverResponse")); + sesion.setAttribute("serverResponse","!"); + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/index.jsp"); + dispatcher.forward(request,response); + + } + //Si no la encuentra, redirige a la pagina inicial. + catch (Exception e){ + e.printStackTrace(); + response.getWriter().println(""); + } + + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para acceder a /e/roles.\"}"); + response.sendRedirect("/e/"); + } + } catch (NullPointerException e){ + response.sendRedirect("/"); } } diff --git a/src/controller/usersManagement/roles/RolesControllerView.java b/src/controller/usersManagement/roles/RolesControllerView.java index 61567b5..0e4b6e3 100644 --- a/src/controller/usersManagement/roles/RolesControllerView.java +++ b/src/controller/usersManagement/roles/RolesControllerView.java @@ -2,6 +2,7 @@ package controller.usersManagement.roles; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.KeyFactory; +import controller.usersManagement.access.AccessControllerView; import controller.usersManagement.users.UsersControllerView; import model.Role; @@ -35,49 +36,60 @@ import java.util.List; public class RolesControllerView extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String action = request.getParameter("action"); + try { + if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())){ + String action = request.getParameter("action"); - //Para evitar errores, si no hay ninguna accion, se establece a vacio. - if (action == null) - action = ""; + //Para evitar errores, si no hay ninguna accion, se establece a vacio. + if (action == null) + action = ""; - String key = request.getParameter("key"); + String key = request.getParameter("key"); - //Redirige al formulario para editar un Role (role/view) - if (action.equals("editRedirect") && key != null){ - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/view.jsp"); - request.setAttribute("Role",getRole(key)); - request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); + //Redirige al formulario para editar un Role (role/view) + if (action.equals("editRedirect") && key != null){ + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/view.jsp"); + request.setAttribute("Role",getRole(key)); + request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); - //Ya que se quiere editar, el atributo permitirEdicion es verdadero. Este atributo se comprueba en el JSP. - request.setAttribute("editAllowed",true); - request.setAttribute("action","Edit"); - try{ - dispatcher.forward(request,response); - } catch (javax.servlet.ServletException e){ - System.err.println("Exception captured -> " + e.getMessage()); + //Ya que se quiere editar, el atributo permitirEdicion es verdadero. Este atributo se comprueba en el JSP. + request.setAttribute("editAllowed",true); + request.setAttribute("action","Edit"); + try{ + dispatcher.forward(request,response); + } catch (javax.servlet.ServletException e){ + System.err.println("Exception captured -> " + e.getMessage()); + } + } + //Redirige al formulario para ver un usuario (user/view) + else if (action.equals("viewRedirect") && key != null){ + RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/view.jsp"); + request.setAttribute("Role",getRole(key)); + request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); + + //Ya que no quiere editar, el atributo permitirEdicion es falso. Este atributo se comprueba en el JSP. + request.setAttribute("editAllowed",false); + request.setAttribute("action","View"); + try{ + dispatcher.forward(request,response); + } catch (javax.servlet.ServletException e){ + System.err.println("Exception captured -> " + e.getMessage()); + } + + } + //Si no se encontró acción, regresa al inicio + else { + response.getWriter().println(""); + } + } else { + request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"No tienes permiso para ver un Rol.\"}"); + response.sendRedirect("/e/roles"); } + } catch (NullPointerException e){ + response.sendRedirect("/"); } - //Redirige al formulario para ver un usuario (user/view) - else if (action.equals("viewRedirect") && key != null){ - RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Roles/view.jsp"); - request.setAttribute("Role",getRole(key)); - request.setAttribute("UserLogged",UsersControllerView.getUser(request.getSession().getAttribute("userID").toString())); - //Ya que no quiere editar, el atributo permitirEdicion es falso. Este atributo se comprueba en el JSP. - request.setAttribute("editAllowed",false); - request.setAttribute("action","View"); - try{ - dispatcher.forward(request,response); - } catch (javax.servlet.ServletException e){ - System.err.println("Exception captured -> " + e.getMessage()); - } - } - //Si no se encontró acción, regresa al inicio - else { - response.getWriter().println(""); - } } diff --git a/src/controller/usersManagement/users/UsersControllerAdd.java b/src/controller/usersManagement/users/UsersControllerAdd.java index 0e3291f..11157d1 100644 --- a/src/controller/usersManagement/users/UsersControllerAdd.java +++ b/src/controller/usersManagement/users/UsersControllerAdd.java @@ -88,8 +88,6 @@ public class UsersControllerAdd extends HttpServlet { misesion.setMaxInactiveInterval(3600); } - serverResponse = "{\"color\": \"#26a69a\",\"response\":\"You are logged in.\"}"; - rutaRedireccion = "/"; break; diff --git a/src/controller/usersManagement/users/UsersControllerIndex.java b/src/controller/usersManagement/users/UsersControllerIndex.java index 19af341..7d7755f 100644 --- a/src/controller/usersManagement/users/UsersControllerIndex.java +++ b/src/controller/usersManagement/users/UsersControllerIndex.java @@ -16,11 +16,9 @@ public class UsersControllerIndex extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { try{ - //Se usa para revisar si hay una sesion activa HttpSession sesion= request.getSession(); - System.out.println("URI de peticion -> " + request.getRequestURI()); if (AccessControllerView.checkPermission(sesion.getAttribute("userID").toString(),request.getRequestURI())){ //Intenta hallar una sesion activa @@ -36,7 +34,7 @@ public class UsersControllerIndex extends HttpServlet { } else { request.getSession().setAttribute("serverResponse","{\"color\": \"red\",\"response\":\"You don\\'t have permission to access /users.\"}"); - response.sendRedirect("/"); + response.sendRedirect("/e/"); } //Si no la encuentra, redirige a la pagina inicial. diff --git a/src/controller/usersManagement/users/UsersControllerView.java b/src/controller/usersManagement/users/UsersControllerView.java index 7e48a9d..d63424b 100644 --- a/src/controller/usersManagement/users/UsersControllerView.java +++ b/src/controller/usersManagement/users/UsersControllerView.java @@ -22,23 +22,22 @@ public class UsersControllerView extends HttpServlet { try{ - if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())) { + String action = request.getParameter("action"); - String action = request.getParameter("action"); + //Para evitar errores, si no hay ninguna accion, se establece a vacio. + if (action == null) + action = ""; - //Para evitar errores, si no hay ninguna accion, se establece a vacio. + if(action.equals("closeSession")){ + closeSession(request,response); + } + else if (AccessControllerView.checkPermission(request.getSession().getAttribute("userID").toString(),request.getRequestURI())) { - if (action == null) - action = ""; String userID = request.getParameter("userID"); - //Si se quiere cerrar la sesion actual - if (action.equals("closeSession")){ - closeSession(request,response); - } //Redirige al formulario para editar un usario (user/view) - else if (action.equals("editRedirect") && userID != null){ + if (action.equals("editRedirect") && userID != null){ RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/View/Users/view.jsp"); request.setAttribute("User",getUser(userID)); request.setAttribute("UserLogged",getUser(request.getSession().getAttribute("userID").toString())); diff --git a/war/WEB-INF/View/Access/add.jsp b/war/WEB-INF/View/Access/add.jsp index 51ad732..dac3dd0 100644 --- a/war/WEB-INF/View/Access/add.jsp +++ b/war/WEB-INF/View/Access/add.jsp @@ -48,7 +48,7 @@