Skip to content
Snippets Groups Projects
Commit a7c1f60a authored by Axel's avatar Axel
Browse files

fix: login works with sessions again

parent b8b2463c
No related branches found
No related tags found
No related merge requests found
Showing
with 46 additions and 41 deletions
...@@ -12,8 +12,6 @@ import unipotsdam.gf.core.management.user.UserDAO; ...@@ -12,8 +12,6 @@ import unipotsdam.gf.core.management.user.UserDAO;
import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserInterests;
import unipotsdam.gf.core.management.user.UserProfile; import unipotsdam.gf.core.management.user.UserProfile;
import unipotsdam.gf.core.management.util.ResultSetUtil; import unipotsdam.gf.core.management.util.ResultSetUtil;
import unipotsdam.gf.core.states.model.ProjectPhase;
import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
import unipotsdam.gf.modules.groupfinding.service.GroupDAO; import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
import javax.annotation.ManagedBean; import javax.annotation.ManagedBean;
...@@ -22,12 +20,10 @@ import javax.inject.Inject; ...@@ -22,12 +20,10 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.sql.Blob; import java.sql.Blob;
import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID;
/** /**
* Created by dehne on 31.05.2018. * Created by dehne on 31.05.2018.
...@@ -139,8 +135,8 @@ public class ManagementImpl implements Management { ...@@ -139,8 +135,8 @@ public class ManagementImpl implements Management {
} }
public User getUserByToken(String token) { public User getUserByToken(String email) {
return userDAO.getUserByToken(token); return userDAO.getUserByEmail(email);
} }
...@@ -255,18 +251,18 @@ public class ManagementImpl implements Management { ...@@ -255,18 +251,18 @@ public class ManagementImpl implements Management {
} }
@Override @Override
public List<String> getProjectsStudent(String studentToken) { public List<String> getProjectsStudent(String studentEmail) {
if (studentToken == null) { if (studentEmail == null) {
return null; return null;
} }
connect.connect(); connect.connect();
String mysqlRequest = String mysqlRequest =
"SELECT projectId FROM projectuser WHERE userId=?"; "SELECT projectId FROM projectuser WHERE useremail=?";
//49c6eeda-62d2-465e-8832-dc2db27e760c //49c6eeda-62d2-465e-8832-dc2db27e760c
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(mysqlRequest, studentToken); VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(mysqlRequest, studentEmail);
while (vereinfachtesResultSet.next()) { while (vereinfachtesResultSet.next()) {
String project = vereinfachtesResultSet.getString("projectId"); String project = vereinfachtesResultSet.getString("projectId");
result.add(project); result.add(project);
......
...@@ -3,6 +3,7 @@ package unipotsdam.gf.core.management.pageAppearance; ...@@ -3,6 +3,7 @@ package unipotsdam.gf.core.management.pageAppearance;
import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.database.mysql.MysqlConnect;
import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.core.management.user.UserDAO; import unipotsdam.gf.core.management.user.UserDAO;
import unipotsdam.gf.core.session.GFContexts;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.JspWriter;
...@@ -15,11 +16,17 @@ public class HeadLine extends SimpleTagSupport { ...@@ -15,11 +16,17 @@ public class HeadLine extends SimpleTagSupport {
public void doTag() throws IOException { public void doTag() throws IOException {
PageContext pageContext = (PageContext) getJspContext(); PageContext pageContext = (PageContext) getJspContext();
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String projectId = request.getParameter("projectId"); String userEmail = request.getSession().getAttribute(GFContexts.USEREMAIL).toString();
String token = request.getParameter("token"); String projectId;
try{
projectId = request.getSession().getAttribute(GFContexts.PROJECTNAME).toString();
}catch ( Exception e){
projectId = null;
}
JspWriter out = getJspContext().getOut(); JspWriter out = getJspContext().getOut();
UserDAO userDAO = new UserDAO(new MysqlConnect()); UserDAO userDAO = new UserDAO(new MysqlConnect());
User user = userDAO.getUserByToken(token); User user = userDAO.getUserByEmail(userEmail);
Boolean isStudent = user.getStudent(); Boolean isStudent = user.getStudent();
out.println("<div class=\"container-fluid\">\n" + out.println("<div class=\"container-fluid\">\n" +
" <table style=\"width:100%\">\n" + " <table style=\"width:100%\">\n" +
......
...@@ -23,7 +23,12 @@ public class Menu extends SimpleTagSupport { ...@@ -23,7 +23,12 @@ public class Menu extends SimpleTagSupport {
PageContext pageContext = (PageContext) getJspContext(); PageContext pageContext = (PageContext) getJspContext();
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String userEmail = request.getSession().getAttribute(GFContexts.USEREMAIL).toString(); String userEmail = request.getSession().getAttribute(GFContexts.USEREMAIL).toString();
String projectName = request.getSession().getAttribute(GFContexts.PROJECTNAME).toString(); String projectName;
try {
projectName = request.getSession().getAttribute(GFContexts.PROJECTNAME).toString();
} catch(Exception e){
projectName = "";
}
ProjectPhase projectPhase; ProjectPhase projectPhase;
try { try {
ProjectDAO projectDAO = new ProjectDAO(new MysqlConnect()); ProjectDAO projectDAO = new ProjectDAO(new MysqlConnect());
...@@ -34,7 +39,7 @@ public class Menu extends SimpleTagSupport { ...@@ -34,7 +39,7 @@ public class Menu extends SimpleTagSupport {
JspWriter out = getJspContext().getOut(); JspWriter out = getJspContext().getOut();
UserDAO userDAO = new UserDAO(new MysqlConnect()); UserDAO userDAO = new UserDAO(new MysqlConnect());
if (userEmail != null) { if (userEmail != null) {
User user = userDAO.getUserByToken(userEmail); User user = userDAO.getUserByEmail(userEmail);
Boolean isStudent = user.getStudent(); Boolean isStudent = user.getStudent();
if (isStudent) { if (isStudent) {
String menuString = "<div id=\"sidebar-wrapper\">\n" + String menuString = "<div id=\"sidebar-wrapper\">\n" +
...@@ -123,7 +128,7 @@ public class Menu extends SimpleTagSupport { ...@@ -123,7 +128,7 @@ public class Menu extends SimpleTagSupport {
} }
if (projectName != null) if (projectName != null)
out.println("<p id=\"projectName\" hidden>" + projectName + "</p>"); out.println("<p id=\"projectName\" hidden>" + projectName + "</p>");
User user = userDAO.getUserByToken(userEmail); User user = userDAO.getUserByEmail(userEmail);
if (user != null) if (user != null)
out.println("<p id=\"userEmail\" hidden>" + user.getEmail() + "</p>"); out.println("<p id=\"userEmail\" hidden>" + user.getEmail() + "</p>");
out.println("<p id=\"hierarchyLevel\" hidden>" + hierarchyLevel.toString() + "</p>"); out.println("<p id=\"hierarchyLevel\" hidden>" + hierarchyLevel.toString() + "</p>");
......
...@@ -87,10 +87,10 @@ public class ProjectView { ...@@ -87,10 +87,10 @@ public class ProjectView {
@GET @GET
@Consumes(MediaType.TEXT_PLAIN) @Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
@Path("/all/student/{studentToken}") @Path("/all/student/{studentEmail}")
public java.util.List<String> getProjectsStudent( public java.util.List<String> getProjectsStudent(
@PathParam("studentToken") String studentToken) { @PathParam("studentEmail") String studentEmail) {
return iManagement.getProjectsStudent(studentToken); return iManagement.getProjectsStudent(studentEmail);
} }
@GET @GET
......
...@@ -23,7 +23,7 @@ public class HiddenUserTag extends SimpleTagSupport { ...@@ -23,7 +23,7 @@ public class HiddenUserTag extends SimpleTagSupport {
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String token = request.getParameter("token"); String token = request.getParameter("token");
User user = userDAO.getUserByToken(token); User user = userDAO.getUserByEmail(token);
JspWriter out = getJspContext().getOut(); JspWriter out = getJspContext().getOut();
out.println("<p id=\"user\" hidden>" + user.getName() + "</p>"); out.println("<p id=\"user\" hidden>" + user.getName() + "</p>");
} }
......
...@@ -47,7 +47,7 @@ public class SessionValidator implements Filter { ...@@ -47,7 +47,7 @@ public class SessionValidator implements Filter {
redirectToLogin(request, response); redirectToLogin(request, response);
} }
User user = userDAO.getUserByToken(token); User user = userDAO.getUserByEmail(token);
if (user == null) { if (user == null) {
redirectToLogin(request, response); redirectToLogin(request, response);
} }
......
...@@ -106,14 +106,14 @@ public class UserDAO { ...@@ -106,14 +106,14 @@ public class UserDAO {
return token; return token;
} }
public User getUserByToken(String token) {
return getUserByField("token", token);
}
public User getUserByEmail(String email) { public User getUserByEmail(String email) {
return getUserByField("email", email); return getUserByField("email", email);
} }
public User getUserByToken(String token) {
return getUserByField("token", token);
}
private User getUserByField(String field, String value) { private User getUserByField(String field, String value) {
connect.connect(); connect.connect();
String mysqlRequest = "SELECT * FROM users where " + field + " = ?"; String mysqlRequest = "SELECT * FROM users where " + field + " = ?";
......
package unipotsdam.gf.core.management.user; package unipotsdam.gf.core.management.user;
import unipotsdam.gf.core.management.Management; import unipotsdam.gf.core.management.Management;
import unipotsdam.gf.core.session.GFContext;
import unipotsdam.gf.core.session.GFContexts; import unipotsdam.gf.core.session.GFContexts;
import unipotsdam.gf.interfaces.ICommunication; import unipotsdam.gf.interfaces.ICommunication;
import unipotsdam.gf.modules.communication.service.CommunicationDummyService; import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
...@@ -9,7 +8,6 @@ import unipotsdam.gf.modules.communication.service.CommunicationDummyService; ...@@ -9,7 +8,6 @@ import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
import javax.annotation.ManagedBean; import javax.annotation.ManagedBean;
import javax.inject.Inject; import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.PageContext;
import javax.ws.rs.FormParam; import javax.ws.rs.FormParam;
import javax.ws.rs.POST; import javax.ws.rs.POST;
import javax.ws.rs.Path; import javax.ws.rs.Path;
...@@ -18,7 +16,6 @@ import javax.ws.rs.Produces; ...@@ -18,7 +16,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.Context; import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.net.URI; import java.net.URI;
...@@ -141,8 +138,7 @@ public class UserService { ...@@ -141,8 +138,7 @@ public class UserService {
} }
private User fillUserFields(User user) { private User fillUserFields(User user) {
String token = userDAO.getUserToken(user); user = userDAO.getUserByEmail(user.getEmail());
user = userDAO.getUserByToken(token);
return user; return user;
} }
......
...@@ -125,9 +125,9 @@ public class QuizView { ...@@ -125,9 +125,9 @@ public class QuizView {
@GET @GET
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
@Path("/get/project/{projectId}/student/{studentId}") @Path("/get/project/{projectId}/student/{studentEmail}")
public Double getAssessmentForStudent(@PathParam("projectId") String projectId, @PathParam("studentId") String studentId) { public Double getAssessmentForStudent(@PathParam("projectId") String projectId, @PathParam("studentEmail") String studentEmail) {
StudentIdentifier student = new StudentIdentifier(projectId, studentId); StudentIdentifier student = new StudentIdentifier(projectId, studentEmail);
return peer.getAssessmentForStudent(student); return peer.getAssessmentForStudent(student);
} }
......
...@@ -17,7 +17,7 @@ public class ChatWindow extends SimpleTagSupport { ...@@ -17,7 +17,7 @@ public class ChatWindow extends SimpleTagSupport {
PageContext pageContext = (PageContext) getJspContext(); PageContext pageContext = (PageContext) getJspContext();
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String token = request.getParameter("token"); String token = request.getParameter("token");
//User user = management.getUserByToken(token); //User user = management.getUserByEmail(token);
String groupToken = request.getParameter("groupToken"); String groupToken = request.getParameter("groupToken");
String projectToken = request.getParameter("projectToken"); String projectToken = request.getParameter("projectToken");
//get ProjetbyToken //get ProjetbyToken
......
...@@ -107,7 +107,7 @@ public class CommunicationDummyService implements ICommunication { ...@@ -107,7 +107,7 @@ public class CommunicationDummyService implements ICommunication {
} }
public String getChatRoomLink(String userToken, String projectToken, String groupToken) { public String getChatRoomLink(String userToken, String projectToken, String groupToken) {
//User user = managementService.getUserByToken(userToken); //User user = managementService.getUserByEmail(userToken);
// TODO: Implement getProjectbyToken and getGroupByToken // TODO: Implement getProjectbyToken and getGroupByToken
//Project project = managementService.getProject(projectToken //Project project = managementService.getProject(projectToken
String channelName = "general"; String channelName = "general";
......
...@@ -123,7 +123,7 @@ public class JournalServiceImpl implements JournalService { ...@@ -123,7 +123,7 @@ public class JournalServiceImpl implements JournalService {
ArrayList<User> users = new ArrayList<>(); ArrayList<User> users = new ArrayList<>();
for (String id : userId) { for (String id : userId) {
users.add(userDAO.getUserByToken(id)); users.add(userDAO.getUserByEmail(id));
} }
return users; return users;
} }
......
...@@ -90,7 +90,7 @@ public class ProjectDescriptionImpl implements ProjectDescriptionService { ...@@ -90,7 +90,7 @@ public class ProjectDescriptionImpl implements ProjectDescriptionService {
ArrayList<User> users = new ArrayList<>(); ArrayList<User> users = new ArrayList<>();
for (String id : userId) { for (String id : userId) {
users.add(userDAO.getUserByToken(id)); users.add(userDAO.getUserByEmail(id));
} }
return users; return users;
} }
......
$(document).ready(function(){ $(document).ready(function(){
let studentId = $('#user').html().trim(); let studentId = $('#userEmail').html().trim();
getProjects(studentId); getProjects(studentId);
$('#enrollProject').on('click', function(){ $('#enrollProject').on('click', function(){
location.href="management/join-project.jsp?token="+getUserEmail(); location.href="management/join-project.jsp?token="+getUserEmail();
...@@ -47,7 +47,7 @@ function updateStatus(projectId){ ...@@ -47,7 +47,7 @@ function updateStatus(projectId){
} }
function getGrade(projectId){ function getGrade(projectId){
let studentId = $('#user').html().trim(); let studentId = $('#userEmail').html().trim();
$.ajax({ $.ajax({
url: 'rest/assessments/get/project/'+projectId+'/student/'+studentId, url: 'rest/assessments/get/project/'+projectId+'/student/'+studentId,
headers: { headers: {
......
...@@ -86,7 +86,7 @@ public class UserDAOTest { ...@@ -86,7 +86,7 @@ public class UserDAOTest {
user.setStudent(false); user.setStudent(false);
userDAO.update(user); userDAO.update(user);
assertTrue(userDAO.exists(user)); assertTrue(userDAO.exists(user));
User managementUser = userDAO.getUserByToken(user.getToken()); User managementUser = userDAO.getUserByEmail(user.getToken());
assertEquals(user.getStudent(), managementUser.getStudent()); assertEquals(user.getStudent(), managementUser.getStudent());
} }
......
...@@ -91,7 +91,8 @@ CREATE TABLE `projects` ( ...@@ -91,7 +91,8 @@ CREATE TABLE `projects` (
CREATE TABLE `projectuser` ( CREATE TABLE `projectuser` (
`projectId` varchar(400) NOT NULL, `projectId` varchar(400) NOT NULL,
`userId` varchar(400) NOT NULL `useremail` varchar(400) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT;
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `quiz` ( CREATE TABLE `quiz` (
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment