Skip to content
Snippets Groups Projects
Commit 9d0d25e2 authored by Julian Dehne's avatar Julian Dehne
Browse files

- feat: continued porting features from the existing group finding tool.

parent ed9501df
No related branches found
No related tags found
No related merge requests found
Showing
with 113 additions and 32 deletions
package unipotsdam.gf.core.management;
import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class ContextDataOutput {
private Project project;
private User user;
public ContextDataOutput() {
}
public ContextDataOutput(Project project, User user) {
this.project = project;
this.user = user;
}
public Project getProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
package unipotsdam.gf.core.management;
import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User;
import javax.annotation.ManagedBean;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
@Path("/context")
@ManagedBean
public class ContextDataView {
@Inject
private Management iManagement;
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/full")
public ContextDataOutput getContextData(@QueryParam("userToken") String userToken, @QueryParam("projectToken")
String projectToken) {
Project projectByToken = iManagement.getProjectByToken(projectToken);
User user = iManagement.getUserByToken(userToken);
return new ContextDataOutput(projectByToken, user);
}
}
......@@ -98,7 +98,7 @@ public interface Management {
List<String> getProjects(String userToken);
User getUserByToken(String authorToken);
User getUserByToken(String userToken);
Project getProjectById(String projectId);
......
......@@ -72,14 +72,15 @@ public class ProjectView {
@GET
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)
@Path("/login/{projectId}/password/{password}")
public String logInProject(@PathParam("projectId") String projectId, @PathParam("password") String password) {
@Path("/login/{projectId}")
public String logInProject(@PathParam("projectId") String projectId, @QueryParam("password") String password) {
Project project = iManagement.getProjectById(projectId);
if (project == null){
return "project missing";
}
if (project.getPassword().equals(password) || project.getPassword().trim().equals(""))
if (!project.getPassword().equals(password) ) {
return "wrong password";
}
String result = project.getToken();
return result;
......
......@@ -12,12 +12,7 @@ import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
......@@ -124,7 +119,7 @@ public class QuizView {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/get/project/{projectId}")
public Map<StudentIdentifier, Double> getAssessmentForProject(String projectId) {
public Map<StudentIdentifier, Double> getAssessmentForProject(@PathParam("projectId") String projectId) {
return peer.getAssessmentForProject(projectId);
}
......
......@@ -16,7 +16,8 @@ $(document).ready(function () {
function changeLocationTo(target) {
let level = $('#hierarchyLevel').html().trim();
return calculateHierachy(level) + target;;
return calculateHierachy(level) + target;
;
}
......@@ -28,7 +29,7 @@ function checkAssessementPhase() {
let studentId = $('#user').html().trim();
let projectId = $('#projectId').html().trim();
$.ajax({
url: 'rest/assessments/whatToRate/project/'+projectId+'/student/'+studentId,
url: 'rest/assessments/whatToRate/project/' + projectId + '/student/' + studentId,
type: 'GET',
headers: {
"Content-Type": "application/json",
......@@ -105,5 +106,23 @@ function calculateHierachy(level) {
return calculateHierachy(level - 1) + "../";
}
}
function getContextData(callback) {
var userToken = getUserTokenFromUrl();
var projectToken = getProjectTokenFromUrl();
var url = "../../gemeinsamforschen/rest/context/full?projectToken=" + getProjectTokenFromUrl() + "&userToken=" + getUserTokenFromUrl();
$.ajax({
url: url,
type: 'GET',
Accept: "contentType: application/json",
success: function (response) {
callback(response);
},
error: function (a, b, c) {
console.log(a+b+c);
}
});
}
\ No newline at end of file
......@@ -7,7 +7,8 @@
<head>
<omniDependencies:omniDependencies hierarchy="1"></omniDependencies:omniDependencies>
<script src="js/createPreferences.js"></script>
<script src="../core/config.js"></script>
<script src="js/create-preferences.js"></script>
</head>
<body>
......
......@@ -3,12 +3,13 @@
*/
$(document).ready(function () {
var projectName = getProjectByToken();
printTags();
$("#competencies0").focus();
$("#studentFormSubmit").on("click", function () {
takesPartInProject();
getContextData(takesPartInProject);
});
$("#addCompetenceButton").on("click", function () {
addInput("competencies"); //creates a new input-Field with the ID 'competenciesX' where X is number of elements with 'competencies' as ID
......@@ -25,9 +26,6 @@ $(document).ready(function () {
});
function getProjectByToken() {
return $('#projectName').text().trim();
}
function addInput(name) { //creates a new input-Field with the ID 'nameX' where X is number of elements with 'name' as ID
var i = document.getElementsByName(name).length;
......@@ -77,9 +75,8 @@ function printTags() {
});
}
function takesPartInProject() {
var userID = $("#user").text().trim();
var projectID = $("#projectName").text().trim();
function takesPartInProject(context) {
document.getElementById('loader').className = "loader";
document.getElementById('wrapper').className = "wrapper-inactive";
......@@ -92,7 +89,7 @@ function takesPartInProject() {
for (i = 0; i < document.getElementsByName("researchQuestions").length; i++) { //goes through all competencies and adds them to allTheResearchQuestions
allTheResearchQuestions.push(document.getElementsByName("researchQuestions")[i].value);
}
for (i = 0; i < document.getElementsByName("tag").length; i++) { //goes through all tags and adds them to allTheTags
for (i = 0; i < document.getElementsByName("tag").length; i++) { //goes through all tags and adds them to allTheTags
if (document.getElementById("tag" + i).checked) {
allTheTags.push(document.getElementById("tag" + i).value);
}
......@@ -120,8 +117,12 @@ function takesPartInProject() {
"researchQuestions": allTheResearchQuestions,
"tagsSelected": allTheTags
};
var userId = context.user.email;
var projectId = context.project.id;
var dataString = JSON.stringify(data); //to send correctly, data needs to be stringified
var url = compbaseUrl + "/api2/user/" + userID + "/projects/" + projectID + "/preferences";
var url = compbaseUrl + "/api2/user/" + userId + "/projects/" + projectId + "/preferences";
$.ajax({
url: url,
type: 'PUT',
......@@ -132,13 +133,7 @@ function takesPartInProject() {
console.log(response);
document.getElementById('loader').className = "loader-inactive";
document.getElementById('wrapper').className = "wrapper";
var parts = window.location.search.substr(1).split("&");
var $_GET = {};
for (var i = 0; i < parts.length; i++) {
var temp = parts[i].split("=");
$_GET[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]);
}
location.href = "projects.php?token=" + $_GET['token'];
location.href = "../overview-student.jsp?token=" + getUserTokenFromUrl();
},
error: function (a, b, c) {
console.log(a);
......
......@@ -21,7 +21,8 @@ $(document).ready(function () {
});
function loginProject(projectName) {
var url = "../../gemeinsamforschen/rest/project/login/"+projectName+"/password/" + $('#projectPassword').val();
var password = $('#projectPassword').val();
var url = "../../gemeinsamforschen/rest/project/login/"+projectName+"?password="+password;
if (projectName === "") {
return false;
} else {
......
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