diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java index c86b8aa6d5db95159640747c314b4ba141c0fbae..5b51d0fdbeb955bcc9251454d143f7045034f432 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java @@ -171,8 +171,10 @@ public class ManagementImpl implements Management { String adminPassword = vereinfachtesResultSet.getString("adminpassword"); String token = vereinfachtesResultSet.getString("token"); String phase = vereinfachtesResultSet.getString("phase"); - - return new Project(id, password, active, timestamp, author, adminPassword, token); + Project project = new Project(id, password, active, timestamp, author, adminPassword, token); + ProjectPhase projectPhase = ProjectPhase.valueOf(phase); + project.setPhase(projectPhase); + return project; } private Group getGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) { @@ -236,6 +238,9 @@ public class ManagementImpl implements Management { @Override public Project getProjectById(String id) { + if (id == null){ + return null; + } MysqlConnect connect = new MysqlConnect(); connect.connect(); String mysqlRequest = "SELECT * FROM projects where id = ?"; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java new file mode 100644 index 0000000000000000000000000000000000000000..894babb0db1b7e6ba876ae5f0c700a9a0065792a --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java @@ -0,0 +1,112 @@ +package unipotsdam.gf.core.management.pageAppearance; + +import unipotsdam.gf.core.management.ManagementImpl; +import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.core.states.ProjectPhase; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.PageContext; +import javax.servlet.jsp.tagext.SimpleTagSupport; +import java.io.IOException; + +public class Menu extends SimpleTagSupport { + public void doTag() throws IOException { + PageContext pageContext = (PageContext) getJspContext(); + HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); + String token = request.getParameter("token"); + String projectId = request.getParameter("projectId"); + ManagementImpl management = new ManagementImpl(); + ProjectPhase projectPhase; + try{ + projectPhase = management.getProjectById(projectId).getPhase(); + }catch(Exception e){ + projectPhase = null; + } + JspWriter out = getJspContext().getOut(); + if (token!=null){ + User user = management.getUserByToken(token); + Boolean isStudent = user.getStudent(); + if (isStudent){ + String menuString = "<div id=\"sidebar-wrapper\">\n" + + " <ul class=\"sidebar-nav\">\n" + + " <li class=\"sidebar-brand\"><a href=\"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" + + " <li><a href=\"profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n"; + if (projectPhase!=null){ + if (projectPhase.equals(ProjectPhase.CourseCreation)){ + menuString += " <li><p>Quizfrage</p></li>\n" + + " <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + + " <li><p>Beitrag</p></li>\n" + + " <li><p>Bewertung</p></li>\n"; + } + if (projectPhase.equals(ProjectPhase.GroupFormation)){ + menuString += " <li><p>Quizfrage</p></li>\n" + + " <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + + " <li><p>Beitrag</p></li>\n" + + " <li><p>Bewertung</p></li>\n"; + } + if (projectPhase.equals(ProjectPhase.DossierFeedback)){ + menuString += " <li><p>Quizfrage</p></li>\n" + + " <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + + " <li><a href=\"researchReportTitle.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" + + " <li><p>Bewertung</p></li>\n"; + } + if (projectPhase.equals(ProjectPhase.Execution)){ + menuString += " <li><a href=\"Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + + " <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + + " <li><a href=\"researchReportTitle.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" + + " <li><p>Bewertung</p></li>\n"; + } + if (projectPhase.equals(ProjectPhase.Assessment)){ + menuString += " <li><p>Quizfrage</p></li>\n" + + " <li><p>ePortfolio</p></li>\n" + + " <li><p>Beitrag</p></li>\n" + + " <li><a id=\"assessment\" style=\"cursor:pointer\">Bewertung</a></li>\n"; + } + } + + menuString +="<li>" + + "<a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" + + "</ul>\n" + + " </div>"; + out.println(menuString); + out.println("<p id=\"userRole\" hidden>isStudent</p>"); + } else { + String menuString ="<div id=\"sidebar-wrapper\">\n" + + " <ul class=\"sidebar-nav\">\n" + + " <li class=\"sidebar-brand\"><a href=\"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n"; + if (projectPhase!=null) { + if (!projectPhase.equals(ProjectPhase.GroupFormation)) { + menuString += "<li><a href=\"Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + + " <li><p>Gruppen erstellen</p></li>\n" + + " <li><a href=\"changePhase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n"; + }else { + menuString += "<li><a href=\"Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + + " <li><a href=\"createGroups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" + + " <li><a href=\"changePhase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n"; + } + } + menuString +="<li><a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" + + "</ul>\n" + + " </div>"; + out.println(menuString); + out.println("<p id=\"userRole\" hidden>isDocent</p>"); + } + }else{ + out.println("<div class='alert alert-warning'>" + + "You probably did not give the token to the url" + + "</div>"); + //in active System this will be the point to redirect to index.jsp, because token is "wrong" + } + if (projectId!=null) + out.println("<p id=\"projectId\" hidden>"+projectId+"</p>"); + User user = management.getUserByToken(token); + if (user != null) + out.println("<p id=\"user\" hidden>"+user.getName()+"</p>"); + + + + } + + +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java new file mode 100644 index 0000000000000000000000000000000000000000..29d366cb5ad8af659610937da34707c4c70d6628 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java @@ -0,0 +1,54 @@ +package unipotsdam.gf.core.management.pageAppearance; + +import unipotsdam.gf.core.management.ManagementImpl; +import unipotsdam.gf.core.states.ProjectPhase; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.PageContext; +import javax.servlet.jsp.tagext.SimpleTagSupport; +import java.io.IOException; + +public class footer extends SimpleTagSupport { + public void doTag() throws IOException { + PageContext pageContext = (PageContext) getJspContext(); + HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); + String projectId = request.getParameter("projectId"); + ManagementImpl management = new ManagementImpl(); + ProjectPhase projectPhase; + try { + projectPhase = management.getProjectById(projectId).getPhase(); + } catch (Exception e) { + projectPhase = null; + } + JspWriter out = getJspContext().getOut(); + String footerString = "<footer>\n" + + " <div class=\"container\">\n"; + if (projectPhase != null) { + footerString += " <div class=\"progress\">\n" + + " <div class=\"progress-bar pg-" + projectPhase.toString().trim() + "\" role=\"progressbar\" id=\"progressbar\">\n" + + " </div>\n" + + " <div>\n"; + if (projectPhase.equals(ProjectPhase.GroupFormation)) + footerString +=" GroupFormation\n"; + if (projectPhase.equals(ProjectPhase.Execution)) + footerString +=" Execution\n"; + if (projectPhase.equals(ProjectPhase.Assessment)) + footerString +=" Assessment\n"; + if (projectPhase.equals(ProjectPhase.DossierFeedback)) + footerString +=" DossierFeedback\n"; + if (projectPhase.equals(ProjectPhase.Projectfinished)) + footerString +=" Projectfinished\n"; + footerString +=" </div>\n" + + " <div class=\"progress-bar pg-rest\" role=\"progressbar\">\n" + + " </div>\n" + + " </div>\n"; + } + + footerString += "<button id=\"btnUnstructuredUpload\" class=\"btn btn-light\">Unstrukturierte Abgabe</button>\n" + + "<button id=\"footerBack\" class=\"btn btn-light\">zurück</button>\n" + + " </div>\n" + + " </footer>"; + out.println(footerString); + } +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/headLine.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java similarity index 95% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/headLine.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java index 087a26f8dfd29728abc9de226ef1511a26c59c82..36f2e74bcc9ebd0708ee4225d60a6c54a0a22a52 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/headLine.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java @@ -1,16 +1,16 @@ -package unipotsdam.gf.core.management.user; +package unipotsdam.gf.core.management.pageAppearance; import unipotsdam.gf.core.management.ManagementImpl; +import unipotsdam.gf.core.management.user.User; import javax.servlet.http.HttpServletRequest; -import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException; public class headLine extends SimpleTagSupport { - public void doTag() throws JspException, IOException { + public void doTag() throws IOException { PageContext pageContext = (PageContext) getJspContext(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); String projectId = request.getParameter("projectId"); @@ -58,6 +58,4 @@ public class headLine extends SimpleTagSupport { " </table>\n" + " </div>"); } - - -}; \ No newline at end of file +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/omniDependencies.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java similarity index 73% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/omniDependencies.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java index e4b3272b2dac3479a79f5271598981a0e04db3d6..ac6ce6fcd31cfc5ae79f42c26bc644404077970d 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/omniDependencies.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java @@ -1,17 +1,11 @@ -package unipotsdam.gf.core.management.user; +package unipotsdam.gf.core.management.pageAppearance; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException; public class omniDependencies extends SimpleTagSupport { - public void doTag() throws JspException, IOException { - PageContext pageContext = (PageContext) getJspContext(); - HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); - String projectId = request.getParameter("projectId"); + public void doTag() throws IOException { JspWriter out = getJspContext().getOut(); out.println("<meta charset=\"utf-8\">\n" + " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n" + @@ -28,8 +22,6 @@ public class omniDependencies extends SimpleTagSupport { " <script src=\"../assets/js/utility.js\"></script>\n" + " <script src=\"../assets/js/footer.js\"></script>\n" + " <link rel=\"stylesheet\" href=\"https://use.fontawesome.com/releases/v5.1.0/css/all.css\"\n" + - " integrity=\"sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt\" crossorigin=\"anonymous\">"); + " integrity=\"sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt\" crossorigin=\"anonymous\">"); } - - -}; \ No newline at end of file +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java index 2fb7b840289b1b9056c7da73329bb2bbef6de38d..b329533304fc335bc6c0ccf69d8d8d577e15ad09 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java @@ -19,7 +19,7 @@ public class Project { private String adminPassword; private String token; // using enum ProjectPhase - private String phase; + private ProjectPhase phase; public Project() { } @@ -35,7 +35,7 @@ public class Project { this.setPhase(ProjectPhase.CourseCreation); } - public String getPhase() { + public ProjectPhase getPhase() { return phase; } @@ -44,7 +44,7 @@ public class Project { * @param phase */ public void setPhase(ProjectPhase phase) { - this.phase = phase.name(); + this.phase = phase; } public Project(String id, String password, Boolean active, String author, String adminPassword, String token) { diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java deleted file mode 100644 index 15f21c51425ab97ef0cb880a98bd49ec8496ea4c..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java +++ /dev/null @@ -1,68 +0,0 @@ -package unipotsdam.gf.core.management.user; - -import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.PageContext; -import javax.servlet.jsp.tagext.SimpleTagSupport; -import java.io.IOException; - - -// TODO: please move this to a view package at the top of the hierarchy as this is not part of the user package -public class Menu extends SimpleTagSupport { - public void doTag() throws JspException, IOException { - PageContext pageContext = (PageContext) getJspContext(); - HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); - String token = request.getParameter("token"); - String projectId = request.getParameter("projectId"); - ManagementImpl management = new ManagementImpl(); - JspWriter out = getJspContext().getOut(); - if (token!=null){ - User user = management.getUserByToken(token); - Boolean isStudent = user.getStudent(); - if (isStudent){ - out.println("<div id=\"sidebar-wrapper\">\n" + - " <ul class=\"sidebar-nav\">\n" + - " <li class=\"sidebar-brand\"><a href=\"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" + - " <li><a href=\"profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n" + - " <li><a href=\"Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + - " <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + - " <li><a href=\"researchReportTitle.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" + - " <li><a id=\"assessment\">Bewertung</a></li>\n" + - " <li><a id=\"logout\">Logout</a></li>\n" + - " </ul>\n" + - " </div>"); - out.println("<p id=\"userRole\" hidden>isStudent</p>"); - } else { - out.println("<div id=\"sidebar-wrapper\">\n" + - " <ul class=\"sidebar-nav\">\n" + - " <li class=\"sidebar-brand\"><a href=\"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" + - " <li><a href=\"Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + - " <li><a href=\"createGroups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" + - " <li><a href=\"changePhase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n" + - " <li><a id=\"logout\">Logout</a></li>\n" + - " </ul>\n" + - " </div>"); - out.println("<p id=\"userRole\" hidden>isDocent</p>"); - } - }else{ - out.println("<div class='alert alert-warning'>" + - "You probably did not give the token to the url" + - "</div>"); - //in active System this will be the point to redirect to index.jsp, because token is "wrong" - } - if (projectId!=null) - out.println("<p id=\"projectId\" hidden>"+projectId+"</p>"); - User user = management.getUserByToken(token); - if (user != null) - out.println("<p id=\"user\" hidden>"+user.getName()+"</p>"); - - - - } - - -} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/footer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/footer.java deleted file mode 100644 index fad401c7fa6ec4189c9af201ff3f92c6ae4c51bc..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/footer.java +++ /dev/null @@ -1,29 +0,0 @@ -package unipotsdam.gf.core.management.user; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.SimpleTagSupport; -import java.io.IOException; - -public class footer extends SimpleTagSupport { - public void doTag() throws JspException, IOException { - JspWriter out = getJspContext().getOut(); - out.println("<footer>\n" + - " <div class=\"container\">\n" + - " <div class=\"progress\">\n" + - " <div class=\"progress-bar pg-groups\" role=\"progressbar\" id=\"progressbar\">\n" + - " </div>\n" + - " <div>\n" + - " Assessment - Präsentationsphase - Dossier - Reflexionsphase - Feedbackphase - Gruppenbildung\n" + - " </div>\n" + - " <div class=\"progress-bar pg-rest\" role=\"progressbar\">\n" + - " </div>\n" + - " </div>\n" + - " <button id=\"nextPhase\" class=\"btn btn-light\">nächste Phase</button>\n" + - " <button id=\"btnUnstructuredUpload\" class=\"btn btn-light\">Unstrukturierte Abgabe</button>\n" + - " </div>\n" + - " </footer>"); - } - - -}; \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java index 7bcf8a20fdb75120b33e7dae2b5cba48013ec3d7..ed289b311cfa75b30f22102953bd3ea80d17b49e 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java @@ -46,16 +46,16 @@ public class PhasesImpl implements IPhases { } @Override - public void endPhase(ProjectPhase currentPhase, Project project) { - switch (currentPhase) { + public void endPhase(ProjectPhase changeToPhase, Project project) { + switch (changeToPhase) { case CourseCreation: // saving the state - saveState(project,getNextPhase(currentPhase)); + saveState(project,changeToPhase); break; case GroupFormation: // inform users about the formed groups, optionally giving them a hint on what happens next iCommunication.sendMessageToUsers(project, Messages.GroupFormation(project)); - saveState(project,getNextPhase(currentPhase)); + saveState(project,changeToPhase); break; case DossierFeedback: // check if everybody has uploaded a dossier @@ -65,7 +65,7 @@ public class PhasesImpl implements IPhases { } else { // send a message to the users informing them about the start of the new phase iCommunication.sendMessageToUsers(project, Messages.NewFeedbackTask(project)); - saveState(project,getNextPhase(currentPhase)); + saveState(project,changeToPhase); } break; case Execution: @@ -74,7 +74,7 @@ public class PhasesImpl implements IPhases { if (portfoliosReady) { // inform users about the end of the phase iCommunication.sendMessageToUsers(project, Messages.AssessmentPhaseStarted(project)); - saveState(project,getNextPhase(currentPhase)); + saveState(project,changeToPhase); } else { iJournal.assignMissingPortfolioTasks(project); } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java index 6e4a0b1d9f7b92043d2cf6a0157fc83fbe2b52de..c0d45a7532c298206bfd8a3ef371cfd5ae4381a0 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java @@ -1,6 +1,7 @@ package unipotsdam.gf.core.states; import unipotsdam.gf.core.management.Management; +import unipotsdam.gf.core.management.ManagementImpl; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.interfaces.IPhases; @@ -15,11 +16,9 @@ import javax.ws.rs.core.MediaType; @Path("/phases") public class PhasesService { - @Inject - private IPhases phases; + private IPhases phases = new PhasesImpl(); - @Inject - private Management management; + private Management management = new ManagementImpl(); /** * end phase @@ -40,8 +39,8 @@ public class PhasesService { */ @Path("/projects/{projectId}") @GET - @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.TEXT_PLAIN}) public String getCurrentPhase(@PathParam("projectId") String projectId) { - return management.getProjectById(projectId).getPhase(); + return management.getProjectById(projectId).getPhase().toString(); } } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java index 328b415f28a8379e81258b79eb671e16614e0417..ba8bffad7c29716ddfd9bbb5f049e3f19b0241c4 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java @@ -2,5 +2,5 @@ package unipotsdam.gf.core.states; public enum ProjectPhase { CourseCreation, GroupFormation, DossierFeedback, Execution, Assessment, - Projectfinished; + Projectfinished } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java index ece31e173fed36a09078da15711131197272584d..1a484981db9ba3e13241412482670db23acd32af 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java @@ -1,10 +1,14 @@ package unipotsdam.gf.modules.assessment.controller.view; +import unipotsdam.gf.core.management.Management; +import unipotsdam.gf.core.management.ManagementImpl; import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.interfaces.IPhases; import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; +import javax.inject.Inject; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.io.IOException; @@ -210,5 +214,4 @@ public class QuizView { result.add(pf2); return result; } /////////dummy////////////returns what i expect it to return!!!!!////////////////////////////////// - } diff --git a/gemeinsamforschen/src/main/webapp/assets/css/footer.css b/gemeinsamforschen/src/main/webapp/assets/css/footer.css index 2e2c0e2201dbb15067036094d7b3347845b22d96..beb5cbc6a2d2f0a9015b498d756e4a0531d77ca8 100644 --- a/gemeinsamforschen/src/main/webapp/assets/css/footer.css +++ b/gemeinsamforschen/src/main/webapp/assets/css/footer.css @@ -2,42 +2,37 @@ background:#DDDDDD; } -.pg-enrollment { +.pg-CourseCreation { background: #777777; width:5%; } -.pg-groups { +.pg-GroupFormation { background: #AAAA77; width:15%; } -.pg-dossier { +.pg-test { + background: #4F3A3E; + width: 50%; +} + +.pg-DossierFeedback { background: #AA77AA; width:30%; } -.pg-feedback { +.pg-Execution { background: #77AAAA; - width:45%; -} - -.pg-reflection { - background: #55AA55; - width:60%; -} - -.pg-presentation { - background: #5555AA; - width:70%; + width:55%; } -.pg-assessment { +.pg-Assessment { background: #AA5555; - width:85%; + width:75%; } -.pg-done { +.pg-Projectfinished { background: #34DD44; width:100%; } diff --git a/gemeinsamforschen/src/main/webapp/assets/img/noImg.png b/gemeinsamforschen/src/main/webapp/assets/img/noImg.png new file mode 100644 index 0000000000000000000000000000000000000000..efc3eb6959ce4f5badd7802c54bccfeccbf2ecf3 Binary files /dev/null and b/gemeinsamforschen/src/main/webapp/assets/img/noImg.png differ diff --git a/gemeinsamforschen/src/main/webapp/assets/js/changePhase.js b/gemeinsamforschen/src/main/webapp/assets/js/changePhase.js index f26618fd1b0f640808acc55254f52c7a29b63357..d35d4ceb258534952e37a952450705f2c0f24b4d 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/changePhase.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/changePhase.js @@ -1,5 +1,4 @@ $(document).ready(function () { - //$("#save").on('click', function () { let projectId = $('#projectId').html().trim(); $.ajax({ url: '../rest/phases/projects/'+projectId, @@ -11,15 +10,49 @@ $(document).ready(function () { success: function (response) { let phaseDiv = $('#'+response); if (phaseDiv !== null){ - phaseDiv.toggleClass('alert','alert-info'); + phaseDiv.toggleClass('alert-info'); } else { - $('#end').addClass('alert-info'); + $('#end').toggleClass('alert-info'); } + }, + error: function (a) { + } + }); + $('#btnAssessment').on('click', function(){ + changePhase('Assessment'); + }); + $('#btnExecution').on('click', function(){ + changePhase('Execution'); + }); + $('#btnGroupformation').on('click', function(){ + changePhase('GroupFormation'); + }); + $('#btnCourseCreation').on('click', function(){ + changePhase('CourseCreation'); + }); + $('#btnDossierFeedback').on('click', function(){ + changePhase('DossierFeedback'); + }); + $('#btnProjectfinished').on('click', function(){ + changePhase('Projectfinished'); + }); +}); + +function changePhase(toPhase){ + let projectId = $('#projectId').html().trim(); + $.ajax({ + url: '../rest/phases/'+toPhase+'/projects/'+projectId, + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + type: 'POST', + success: function () { + location.href="#" }, error: function (a) { } }); - //}); -}); \ No newline at end of file +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js b/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js index bbfabe459b7347a37f81a6ddd6a055862184f643..0f57c3bec407e642306c68bb0fed7651af94a53b 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js @@ -36,7 +36,7 @@ function buildTablesForPeers() { let innerPeerTable = '<table class="table-striped peerStudent" id="' + peers[peer] + '">' + '<tr>' + '<td align="center">' + - '<img src="../assets/img/1.jpg" alt="' + peers[peer] + '" style="width:20%;">' + + '<img src="../assets/img/noImg.png" alt="' + peers[peer] + '" style="width:20%;">' + '</td>' + '</tr>' + '<tr>' + diff --git a/gemeinsamforschen/src/main/webapp/assets/js/footer.js b/gemeinsamforschen/src/main/webapp/assets/js/footer.js index 33e3ada606d22727234e01d6fa131f67e1240009..9407ef60d1a1c1af5d8bce6c5dc1e9c1835645bc 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/footer.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/footer.js @@ -1,31 +1,3 @@ $(document).ready(function(){ - $('#nextPhase').click(function(){ - var progressbar =$('#progressbar'); - switch (progressbar.attr('class')){ - case 'progress-bar pg-groups': - progressbar.removeClass('pg-groups'); - progressbar.addClass('pg-dossier'); - break; - case 'progress-bar pg-dossier': - progressbar.removeClass('pg-dossier'); - progressbar.addClass('pg-feedback'); - break; - case 'progress-bar pg-feedback': - progressbar.removeClass('pg-feedback'); - progressbar.addClass('pg-reflection'); - break; - case 'progress-bar pg-reflection': - progressbar.removeClass('pg-reflection'); - progressbar.addClass('pg-presentation'); - break; - case 'progress-bar pg-presentation': - progressbar.removeClass('pg-presentation'); - progressbar.addClass('pg-assessment'); - break; - case 'progress-bar pg-assessment': - progressbar.removeClass('pg-assessment'); - progressbar.addClass('pg-done'); - break; - } - }); + }); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/profile.js b/gemeinsamforschen/src/main/webapp/assets/js/profile.js new file mode 100644 index 0000000000000000000000000000000000000000..7caac59590e33fdd24980e4b74d8112fe9e91eee --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/profile.js @@ -0,0 +1,49 @@ +$(document).ready(function (e) { + $("#uploadimage").on('submit',(function(e) { + e.preventDefault(); + $("#message").empty(); + $('#loading').show(); + $.ajax({ + url: "ajax_php_file.php", // Url to which the request is send + type: "POST", // Type of request to be send, called as method + data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values) + contentType: false, // The content type used when sending data to the server. + cache: false, // To unable request pages to be cached + processData:false, // To send DOMDocument or non processed data file it is set to false + success: function(data) // A function to be called if request succeeds + { + $('#loading').hide(); + $("#message").html(data); + } + }); + })); + +// Function to preview image after validation + $(function() { + $("#file").change(function() { + $("#message").empty(); // To remove the previous error message + let file = this.files[0]; + let imagefile = file.type; + let match= ["image/jpeg","image/png","image/jpg"]; + if(!((imagefile==match[0]) || (imagefile==match[1]) || (imagefile==match[2]))) + { + $('#previewing').attr('src','noimage.png'); + $("#message").html("<p id='error'>Please Select A valid Image File</p>"+"<h4>Note</h4>"+"<span id='error_message'>Only jpeg, jpg and png Images type allowed</span>"); + return false; + } + else + { + var reader = new FileReader(); + reader.onload = imageIsLoaded; + reader.readAsDataURL(this.files[0]); + } + }); + }); + function imageIsLoaded(e) { + $("#file").css("color","green"); + $('#image_preview').css("display", "block"); + $('#previewing').attr('src', e.target.result); + $('#previewing').attr('width', '250px'); + $('#previewing').attr('height', '230px'); + }; +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/utility.js b/gemeinsamforschen/src/main/webapp/assets/js/utility.js index f065dd0e7caed87d8484c575ba9557f3119f1058..3f21a38cd0eb8e61357a783869a2db3cc4e4f57d 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/utility.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/utility.js @@ -7,11 +7,15 @@ $(document).ready(function(){ $('#assessment').click(function(){ checkAssessementPhase(); }); - function goBack() { - window.history.back(); - } + $('#footerBack').click(function(){ + goBack(); + }); }); +function goBack() { + window.history.back(); +} + function checkAssessementPhase(){ let studentId = $('#user').html().trim(); let projectId = $('#projectId').html().trim(); diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld index 442302647a6d7d6c3c027747fc7740cbf0cb216e..b32f459cea3a6a036b622c85cb47749d45a1d3a0 100644 --- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld +++ b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld @@ -11,7 +11,7 @@ <tag> <name>menu</name> - <tag-class>unipotsdam.gf.core.management.user.Menu</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.Menu</tag-class> <body-content>empty</body-content> </tag> @@ -23,19 +23,19 @@ <tag> <name>omniDependencies</name> - <tag-class>unipotsdam.gf.core.management.user.omniDependencies</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.omniDependencies</tag-class> <body-content>empty</body-content> </tag> <tag> <name>headLine</name> - <tag-class>unipotsdam.gf.core.management.user.headLine</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.headLine</tag-class> <body-content>empty</body-content> </tag> <tag> <name>footer</name> - <tag-class>unipotsdam.gf.core.management.user.footer</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.footer</tag-class> <body-content>empty</body-content> </tag> diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig index 464689080655114907b3461748349ae320db9d88..24e3cda55c35f4136e26d14751eee2747723d997 100644 --- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig +++ b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig @@ -11,14 +11,14 @@ <tag> <name>menu</name> - <tag-class>unipotsdam.gf.core.management.user.Menu</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.Menu</tag-class> <body-content>empty</body-content> </tag> <tag> <<<<<<< HEAD <name>headLine</name> - <tag-class>unipotsdam.gf.core.management.user.headLine</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.headLine</tag-class> ======= <name>session</name> <tag-class>unipotsdam.gf.core.session.SessionTag</tag-class> @@ -29,7 +29,7 @@ <tag> <<<<<<< HEAD <name>omniDependencies</name> - <tag-class>unipotsdam.gf.core.management.user.omniDependencies</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.omniDependencies</tag-class> ======= <name>context</name> <tag-class>unipotsdam.gf.core.session.ContextTag</tag-class> diff --git a/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp b/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp index 6e0595f1e80ff0f4908a7cc5848ae7faf44629bf..c3d7c07a1f47ed3e1a855ef454dca240d92fb8c7 100644 --- a/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp @@ -2,7 +2,7 @@ <%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> <%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %> <%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %> <html> @@ -16,26 +16,26 @@ <menu:menu/> <div class="page-content-wrapper"> <headLine:headLine/> - <div class="alert" id="CourseCreation"> - Projekterstellungsphase + <div class="alert"id="CourseCreation"> + <button id="btnCourseCreation" class="btn btn-secondary">Projekterstellungsphase</button> </div> <div class="alert" id="GroupFormation"> - Entwurfsphase - </div> - <div class="alert" id="Execution"> - Durchführungsphase + <button id="btnGroupformation" class="btn btn-secondary">Gruppen erstellen</button> </div> <div class="alert" id="DossierFeedback"> - Feedbackphase + <button id="btnDossierFeedback" class="btn btn-secondary">Feedbackphase</button> + </div> + <div class="alert" id="Execution"> + <button id="btnExecution" class="btn btn-secondary">Durchführungsphase</button> </div> <div class="alert" id="Assessment"> - Bewertungsphase + <button id="btnAssessment" class="btn btn-secondary">Bewertungsphase</button> </div> <div class="alert" id="end"> - Ende + <button id="btnProjectfinished" class="btn btn-secondary">Ende</button> </div> </div> + <footer:footer/> </div> -<footer:footer/> </body> </html> diff --git a/gemeinsamforschen/src/main/webapp/pages/profile.jsp b/gemeinsamforschen/src/main/webapp/pages/profile.jsp index a14b0b5d3c0afde4da5a4061b82f98fe62614882..b7a597be38608a8b1f92cbbb8b7b2dcc53562a22 100644 --- a/gemeinsamforschen/src/main/webapp/pages/profile.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/profile.jsp @@ -11,7 +11,8 @@ <head> <omniDependencies:omniDependencies/> - + <link href='http://fonts.googleapis.com/css?family=Roboto+Condensed|Open+Sans+Condensed:300' rel='stylesheet' type='text/css'> + <script src="../assets/js/profile.js"></script> </head> @@ -40,6 +41,15 @@ </li> <li class="list-group-item"> <p>Sonstiges:</p> + <form id="uploadimage" action="" method="post" enctype="multipart/form-data"> + <div id="image_preview"><img id="previewing" src="../assets/img/noImg.png" /></div> + <hr id="line"> + <div id="selectImage"> + <label>Select Your Image</label><br/> + <input type="file" name="file" id="file" required /> + <input type="submit" value="Upload" class="submit" /> + </div> + </form> </li> </ul> @@ -104,8 +114,8 @@ </div> </div> -</div> <footer:footer/> +</div> </body> </html> \ No newline at end of file