diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java index 3c238f6be74199530d2e17a37d65ce7244858bab..17049249f83b82a452f31e805723a65bf11f7678 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java @@ -37,6 +37,13 @@ public interface Management { */ void create(Project project); + /** + * create a Group in the database + * + * @param group + */ + void create(Group group); + /** * Delete a Project in the database * @@ -114,8 +121,6 @@ public interface Management { */ Project getProjectById(String id); - void createGroup(Group group, String projectId); - void addGroupMember(User groupMember, int groupId); void deleteGroupMember(User groupMember, int groupId); 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 e644878dcdff5f89c64804e3974f9b3d2e91d477..c7aaeea34b0374b61d517cded8ef6aecda4d287d 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java @@ -1,6 +1,5 @@ package unipotsdam.gf.core.management; -import sun.misc.IOUtils; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; import unipotsdam.gf.core.management.group.Group; @@ -10,17 +9,18 @@ import unipotsdam.gf.core.management.project.ProjectConfigurationDAO; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import javax.annotation.ManagedBean; import javax.annotation.Resource; import javax.inject.Singleton; -import java.io.File; import java.io.FileInputStream; import java.sql.Blob; import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.UUID; @@ -56,7 +56,6 @@ public class ManagementImpl implements Management { // TODO implmement UserProfile @Mar } - // TODO: naming convention discussion? all is named create, but group is named createGroup @Override public void create(Project project) { UUID uuid = UUID.randomUUID(); @@ -80,6 +79,9 @@ public class ManagementImpl implements Management { connect.connect(); String mysqlRequest = "DELETE FROM projects where id = (?)"; connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId()); + + // TODO: delete all groups of project? + connect.close(); } @@ -96,8 +98,11 @@ public class ManagementImpl implements Management { public void update(User user) { MysqlConnect connect = new MysqlConnect(); connect.connect(); - String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?, `rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1"; + String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," + + "`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1"; //TODO: maybe add handling if a line is actually updated + //TODO: if user is updated, it also must update all other tables which includes some information about the user, for example project user + connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(), user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail()); connect.close(); @@ -160,10 +165,11 @@ public class ManagementImpl implements Management { String name = vereinfachtesResultSet.getString("name"); String password = vereinfachtesResultSet.getString("password"); String email = vereinfachtesResultSet.getString("email"); + String token = vereinfachtesResultSet.getString("token"); String rocketChatId = vereinfachtesResultSet.getString("rocketChatId"); String rocketChatAuthToken = vereinfachtesResultSet.getString("rocketChatAuthToken"); Boolean isStudent = vereinfachtesResultSet.getBoolean("isStudent"); - return new User(name, password, email, rocketChatId, rocketChatAuthToken, isStudent); + return new User(name, password, email, token, rocketChatId, rocketChatAuthToken, isStudent); } private Project getProjectFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) { @@ -175,18 +181,24 @@ public class ManagementImpl implements Management { String adminPassword = vereinfachtesResultSet.getString("adminpassword"); String token = vereinfachtesResultSet.getString("token"); String phase = vereinfachtesResultSet.getString("phase"); - Project project = new Project(id, password, active, timestamp, author, adminPassword, token); + Project project = new Project(id, password, active, timestamp, author, adminPassword, token, ProjectPhase.valueOf(phase)); ProjectPhase projectPhase = ProjectPhase.valueOf(phase); project.setPhase(projectPhase); return project; } - private Group getGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) { + private void fillGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) { int id = vereinfachtesResultSet.getInt("id"); - String projectId = vereinfachtesResultSet.getString("projectId"); - String chatRoomId = vereinfachtesResultSet.getString("chatRoomId"); - // TODO: determine how to get all User - return new Group(id, new ArrayList<>(), projectId, chatRoomId); + if (existingGroups.containsKey(id)) { + existingGroups.get(id).addMember(getUserFromResultSet(vereinfachtesResultSet)); + } else { + String projectId = vereinfachtesResultSet.getString("projectId"); + User user = getUserFromResultSet(vereinfachtesResultSet); + String chatRoomId = vereinfachtesResultSet.getString("chatRoomId"); + ArrayList<User> userList = new ArrayList<>(Collections.singletonList(user)); + Group group = new Group(userList, projectId, chatRoomId); + existingGroups.put(id, group); + } } @Override @@ -219,7 +231,7 @@ public class ManagementImpl implements Management { /** * - * @param field + * * @param value * @return */ @@ -261,56 +273,57 @@ public class ManagementImpl implements Management { } } - @Override - public void createGroup(Group group, String projectId) { + public void create(Group group) { MysqlConnect connect = new MysqlConnect(); connect.connect(); - Project project = getProjectById(projectId); + String mysqlRequestGroup = "INSERT INTO groups (`projectId`,`chatRoomId`) values (?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequestGroup, group.getProjectId(), group.getChatRoomId()); for (User groupMember : group.getMembers()) { String mysqlRequest2 = "INSERT INTO groupuser (`userEmail`, `groupId`) values (?,?)"; - connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), project.getId()); + connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), group.getProjectId()); } connect.close(); } @Override public void addGroupMember(User groupMember, int groupId) { - + // TODO: implement } @Override public void deleteGroupMember(User groupMember, int groupId) { - + // TODO: implement } @Override public List<Group> getGroupsByProjectId(String projectId) { MysqlConnect connect = new MysqlConnect(); connect.connect(); - // TODO: implement correct join and finish implementation String mysqlRequest = "SELECT * FROM groups g " + - "JOIN groupuser gu u ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" + + "JOIN groupuser gu ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" + "where g.projectId = ?"; VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(mysqlRequest, projectId); - ArrayList<Group> groups = new ArrayList<>(); + HashMap<Integer, Group> groupHashMap = new HashMap<>(); while (vereinfachtesResultSet.next()) { - //groups.add() + fillGroupFromResultSet(vereinfachtesResultSet, groupHashMap); } + ArrayList<Group> groups = new ArrayList<>(); + groupHashMap.forEach((key, group) -> groups.add(group)); if (groups.isEmpty()) { return null; - } else { - return groups; } + + return groups; } @Override public void create(ProjectConfiguration projectConfiguration, Project project) { ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO(); - projectConfigurationDAO.persistProjectConfiguration(projectConfiguration,project); + projectConfigurationDAO.persistProjectConfiguration(projectConfiguration, project); } @Override diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig new file mode 100644 index 0000000000000000000000000000000000000000..a9f8cae5c49aad332febf4bce32f0458125eb4a8 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig @@ -0,0 +1,389 @@ +package unipotsdam.gf.core.management; + +import sun.misc.IOUtils; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; +import unipotsdam.gf.core.management.group.Group; +import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.management.project.ProjectConfiguration; +import unipotsdam.gf.core.management.project.ProjectConfigurationDAO; +import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.core.management.user.UserInterests; +import unipotsdam.gf.core.management.user.UserProfile; +import unipotsdam.gf.core.states.model.ProjectPhase; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + +import javax.annotation.ManagedBean; +import javax.annotation.Resource; +import javax.inject.Singleton; +import java.io.File; +import java.io.FileInputStream; +import java.sql.Blob; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + +/** + * Created by dehne on 31.05.2018. + */ +@ManagedBean +@Resource +@Singleton +public class ManagementImpl implements Management { + @Override + public void delete(StudentIdentifier identifier) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "DELETE FROM users where email = (?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, identifier.getStudentId()); + connect.close(); + } + + @Override + public void create(User user, UserProfile profile) { + UUID uuid = UUID.randomUUID(); + String token = uuid.toString(); + + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "INSERT INTO users (`name`, `password`, `email`, `token`,`isStudent`," + + "`rocketChatId`,`rocketChatAuthToken`) values (?,?,?,?,?,?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(), + token, user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken()); + connect.close(); + + // TODO implmement UserProfile @Mar + } + + @Override + public void create(Project project) { + UUID uuid = UUID.randomUUID(); + String token = uuid.toString(); + + + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = + "INSERT INTO projects (`id`, `password`, `active`, `timecreated`, `author`, " + + "`adminPassword`, `token`, `phase`) values (?,?,?,?,?,?,?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId(), project.getPassword(), project.isActive(), + project.getTimecreated(), project.getAuthor(), project.getAdminPassword(), token, project.getPhase() + == null ? ProjectPhase.CourseCreation : project.getPhase()); + connect.close(); + } + + @Override + public void delete(Project project) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "DELETE FROM projects where id = (?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId()); + + // TODO: delete all groups of project? + + connect.close(); + } + + @Override + public void register(User user, Project project, UserInterests interests) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "INSERT INTO projectuser (`projectId`, `userId`) values (?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId(), user.getId()); + connect.close(); + } + + @Override + public void update(User user) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," + + "`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1"; + //TODO: maybe add handling if a line is actually updated + //TODO: if user is updated, it also must update all other tables which includes some information about the user, for example project user + + connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(), + user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail()); + connect.close(); + } + + @Override + public Boolean exists(User user) { + Boolean result; + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM users where email = ? and password = ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, user.getEmail(), user.getPassword()); + result = vereinfachtesResultSet.next(); + connect.close(); + return result; + } + + @Override + public Boolean exists(Project project) { + Boolean result; + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM projects where id = ? and adminPassword = ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, project.getId(), project.getAdminPassword()); + result = vereinfachtesResultSet.next(); + connect.close(); + return result; + } + + @Override + public List<User> getUsers(Project project) { + String query = + "SELECT * FROM users u " + + " JOIN projectuser pu ON u.email=pu.userId" + + " JOIN projects p ON pu.projectId = p.id" + + " WHERE pu.projectId = ?"; + + ArrayList<User> result = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(query, project.getId()); + while (!vereinfachtesResultSet.isLast()) { + Boolean next = vereinfachtesResultSet.next(); + if (next) { + User user = getUserFromResultSet(vereinfachtesResultSet); + String token = vereinfachtesResultSet.getString("token"); + user.setToken(token); + result.add(user); + } else { + break; + } + } + connect.close(); + return result; + } + + private User getUserFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) { + String name = vereinfachtesResultSet.getString("name"); + String password = vereinfachtesResultSet.getString("password"); + String email = vereinfachtesResultSet.getString("email"); + String token = vereinfachtesResultSet.getString("token"); + String rocketChatId = vereinfachtesResultSet.getString("rocketChatId"); + String rocketChatAuthToken = vereinfachtesResultSet.getString("rocketChatAuthToken"); + Boolean isStudent = vereinfachtesResultSet.getBoolean("isStudent"); + return new User(name, password, email, token, rocketChatId, rocketChatAuthToken, isStudent); + } + + private Project getProjectFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) { + String id = vereinfachtesResultSet.getString("id"); + String password = vereinfachtesResultSet.getString("password"); + boolean active = vereinfachtesResultSet.getBoolean("active"); + Timestamp timestamp = vereinfachtesResultSet.getTimestamp("timecreated"); + String author = vereinfachtesResultSet.getString("author"); + String adminPassword = vereinfachtesResultSet.getString("adminpassword"); + String token = vereinfachtesResultSet.getString("token"); + String phase = vereinfachtesResultSet.getString("phase"); +<<<<<<< HEAD + Project project = new Project(id, password, active, timestamp, author, adminPassword, token); + ProjectPhase projectPhase = ProjectPhase.valueOf(phase); + project.setPhase(projectPhase); + return project; +======= + + return new Project(id, password, active, timestamp, author, adminPassword, token, phase); +>>>>>>> origin/#40_dummyProjectCreation + } + + private void fillGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) { + int id = vereinfachtesResultSet.getInt("id"); + if (existingGroups.containsKey(id)) { + existingGroups.get(id).addMember(getUserFromResultSet(vereinfachtesResultSet)); + } else { + String projectId = vereinfachtesResultSet.getString("projectId"); + User user = getUserFromResultSet(vereinfachtesResultSet); + String chatRoomId = vereinfachtesResultSet.getString("chatRoomId"); + ArrayList<User> userList = new ArrayList<>(Collections.singletonList(user)); + Group group = new Group(userList, projectId, chatRoomId); + existingGroups.put(id, group); + } + } + + @Override + public String getUserToken(User user) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM users where email = ? and password = ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, user.getEmail(), user.getPassword()); + boolean next = vereinfachtesResultSet.next(); + if (!next) { + connect.close(); + return null; + } + String token = vereinfachtesResultSet.getString("token"); + connect.close(); + return token; + } + + @Override + public User getUserByToken(String token) { + return getUserByField("token", token); + } + + @Override + public User getUserByEmail(String email) { + return getUserByField("email", email); + } + + + /** +<<<<<<< HEAD + * + * @param field + * @param value + * @return + */ +======= + * TODO @Axel bitte in modules/asessment verschieben + * + * @param projectId + * @param quizId + * @return + */ + public Quiz getQuizByProjectGroupId(String projectId, String quizId) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM quiz where projectId=" + projectId + " , question=" + quizId; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, ""); + boolean next = vereinfachtesResultSet.next(); + String question = ""; + ArrayList<String> correctAnswers = new ArrayList<String>(); + ArrayList<String> incorrectAnswers = new ArrayList<String>(); + String answer = ""; + Boolean correct = false; + String mcType = ""; + while (next) { + mcType = vereinfachtesResultSet.getString("mcType"); + question = vereinfachtesResultSet.getString("question"); + answer = vereinfachtesResultSet.getString("answer"); + correct = vereinfachtesResultSet.getBoolean("correct"); + if (correct) { + correctAnswers.add(answer); + } else { + incorrectAnswers.add(answer); + } + next = vereinfachtesResultSet.next(); + } + Quiz quiz = new Quiz(mcType, question, correctAnswers, incorrectAnswers); + connect.close(); + return quiz; + } + +>>>>>>> origin/#40_dummyProjectCreation + private User getUserByField(String field, String value) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM users where " + field + " = ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, value); + boolean next = vereinfachtesResultSet.next(); + if (next) { + User user = getUserFromResultSet(vereinfachtesResultSet); + connect.close(); + return user; + } else { + connect.close(); + return null; + } + } + + @Override + public Project getProjectById(String id) { + if (id == null){ + return null; + } + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM projects where id = ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, id); + boolean next = vereinfachtesResultSet.next(); + if (next) { + Project project = getProjectFromResultSet(vereinfachtesResultSet); + connect.close(); + return project; + } else { + connect.close(); + return null; + } + } + + @Override + public void create(Group group) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + + String mysqlRequestGroup = "INSERT INTO groups (`projectId`,`chatRoomId`) values (?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequestGroup, group.getProjectId(), group.getChatRoomId()); + + for (User groupMember : group.getMembers()) { + String mysqlRequest2 = "INSERT INTO groupuser (`userEmail`, `groupId`) values (?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), group.getProjectId()); + } + connect.close(); + } + + @Override + public void addGroupMember(User groupMember, int groupId) { + // TODO: implement + } + + @Override + public void deleteGroupMember(User groupMember, int groupId) { + // TODO: implement + } + + @Override + public List<Group> getGroupsByProjectId(String projectId) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM groups g " + + "JOIN groupuser gu ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" + + "where g.projectId = ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, projectId); + HashMap<Integer, Group> groupHashMap = new HashMap<>(); + while (vereinfachtesResultSet.next()) { + fillGroupFromResultSet(vereinfachtesResultSet, groupHashMap); + } + ArrayList<Group> groups = new ArrayList<>(); + groupHashMap.forEach((key, group) -> groups.add(group)); + if (groups.isEmpty()) { + return null; + } + + return groups; + } + + @Override + public void create(ProjectConfiguration projectConfiguration, Project project) { + ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO(); + projectConfigurationDAO.persistProjectConfiguration(projectConfiguration, project); + } + + @Override + public ProjectConfiguration getProjectConfiguration(Project project) { + ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO(); + return projectConfigurationDAO.loadProjectConfiguration(project); + } + + public String saveProfilePicture(FileInputStream image, String studentId){ + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + Blob blobbedImage= (Blob) image; + String mysqlRequest = "INSERT INTO `profilepicture`(`studentId`, `image`) VALUES (?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, studentId, blobbedImage); + return "success"; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java index ea56b43196cd93b3c87518dfa55ab58e2840c8b9..d98a0d85649f9c2fd76ca978c592a6f03b0307ce 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java @@ -2,6 +2,7 @@ package unipotsdam.gf.core.management.group; import unipotsdam.gf.core.management.user.User; +import java.util.ArrayList; import java.util.List; public class Group { @@ -14,10 +15,12 @@ public class Group { public Group() { } + public Group(String projectId) { + this(new ArrayList<>(), projectId); + } + public Group(List<User> members, String projectId) { - this.members = members; - this.projectId = projectId; - this.chatRoomId = ""; + this(members, projectId, ""); } public Group(List<User> members, String projectId, String chatRoomId) { 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 similarity index 93% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java index 29d366cb5ad8af659610937da34707c4c70d6628..d517c79ebb58ca45a7df73d4430fe546c3e91722 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java @@ -1,7 +1,7 @@ package unipotsdam.gf.core.management.pageAppearance; import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspWriter; @@ -9,7 +9,7 @@ import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException; -public class footer extends SimpleTagSupport { +public class Footer extends SimpleTagSupport { public void doTag() throws IOException { PageContext pageContext = (PageContext) getJspContext(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); @@ -22,7 +22,7 @@ public class footer extends SimpleTagSupport { projectPhase = null; } JspWriter out = getJspContext().getOut(); - String footerString = "<footer>\n" + + String footerString = "<Footer>\n" + " <div class=\"container\">\n"; if (projectPhase != null) { footerString += " <div class=\"progress\">\n" + @@ -48,7 +48,7 @@ public class footer extends SimpleTagSupport { 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>"; + " </Footer>"; out.println(footerString); } } \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/HeadLine.java similarity index 98% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/HeadLine.java index 36f2e74bcc9ebd0708ee4225d60a6c54a0a22a52..ea026238ac67bffb444d4b2107ac4460f1a3f546 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/HeadLine.java @@ -9,7 +9,7 @@ import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException; -public class headLine extends SimpleTagSupport { +public class HeadLine extends SimpleTagSupport { public void doTag() throws IOException { PageContext pageContext = (PageContext) getJspContext(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); 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 index 894babb0db1b7e6ba876ae5f0c700a9a0065792a..22c4f0446dd9a34a7fbd2a9d8cbe22e3dd6a7ec8 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java @@ -2,7 +2,7 @@ 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 unipotsdam.gf.core.states.model.ProjectPhase; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspWriter; @@ -11,7 +11,10 @@ import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException; public class Menu extends SimpleTagSupport { + private Integer hierarchyLevel = 0; + public void doTag() throws IOException { + hierarchyLevel = getHierarchy(); PageContext pageContext = (PageContext) getJspContext(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); String token = request.getParameter("token"); @@ -30,31 +33,31 @@ public class Menu extends SimpleTagSupport { 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"; + " <li class=\"sidebar-brand\"><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" + + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"profile/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><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/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><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/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><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"researchReport/create-title.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" + + menuString += " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" + + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" + " <li><p>Bewertung</p></li>\n"; } if (projectPhase.equals(ProjectPhase.Assessment)){ @@ -74,16 +77,16 @@ public class Menu extends SimpleTagSupport { } 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"; + " <li class=\"sidebar-brand\"><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"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" + + menuString += "<li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/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"; + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"management/change-phase.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 href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" + + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"groupfinding/create-groups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" + + " <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n"; } } menuString +="<li><a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" + @@ -103,10 +106,17 @@ public class Menu extends SimpleTagSupport { User user = management.getUserByToken(token); if (user != null) out.println("<p id=\"user\" hidden>"+user.getName()+"</p>"); + out.println("<p id=\"hierarchyLevel\" hidden>"+hierarchyLevel.toString()+"</p>"); } + public Integer getHierarchy() { + return hierarchyLevel; + } + public void setHierarchy(Integer hierarchyLevel) { + this.hierarchyLevel = hierarchyLevel; + } } \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java new file mode 100644 index 0000000000000000000000000000000000000000..4d3527caa8292371981881f7f17c524ee92f09a8 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java @@ -0,0 +1,47 @@ +package unipotsdam.gf.core.management.pageAppearance; + +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.SimpleTagSupport; +import java.io.IOException; + +public class OmniDependencies extends SimpleTagSupport { + private Integer hierarchyLevel=0; + + public void doTag() throws IOException { + hierarchyLevel = getHierarchy(); + JspWriter out = getJspContext().getOut(); + out.println("<meta charset=\"utf-8\">\n" + + " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n" + + " <title>fltrail</title>\n" + + " <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\n" + + " <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/styles.css\">\n" + + " <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"core/footer.css\">\n" + + " <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n" + + " <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n" + + " <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/fonts/font-awesome.min.css\">\n" + + " <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/Sidebar-Menu-1.css\">\n" + + " <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/Sidebar-Menu.css\">\n" + + " <script src=\""+hierarchyToString(hierarchyLevel)+"core/utility.js\"></script>\n" + + " <script src=\""+hierarchyToString(hierarchyLevel)+"core/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\">"); + } + + static public String hierarchyToString(Integer hierarchyLevel){ + StringBuilder resultBuilder = new StringBuilder(); + String result; + for(Integer count=0; count<hierarchyLevel; count++){ + resultBuilder.append("../"); + } + result = resultBuilder.toString(); + return result; + } + + public Integer getHierarchy() { + return hierarchyLevel; + } + + public void setHierarchy(Integer hierarchyLevel) { + this.hierarchyLevel = hierarchyLevel; + } +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java deleted file mode 100644 index ac6ce6fcd31cfc5ae79f42c26bc644404077970d..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java +++ /dev/null @@ -1,27 +0,0 @@ -package unipotsdam.gf.core.management.pageAppearance; - -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.SimpleTagSupport; -import java.io.IOException; - -public class omniDependencies extends SimpleTagSupport { - 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" + - " <title>fltrail</title>\n" + - " <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\n" + - " <link rel=\"stylesheet\" href=\"../assets/css/styles.css\">\n" + - " <link rel=\"stylesheet\" href=\"../assets/css/footer.css\">\n" + - " <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n" + - " <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n" + - " <link rel=\"stylesheet\" href=\"../assets/fonts/font-awesome.min.css\">\n" + - " <link rel=\"stylesheet\" href=\"../assets/css/Sidebar-Menu-1.css\">\n" + - " <link rel=\"stylesheet\" href=\"../assets/css/Sidebar-Menu.css\">\n" + - " <script src=\"../assets/js/Sidebar-Menu.js\"></script>\n" + - " <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\">"); - } -} \ 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 b329533304fc335bc6c0ccf69d8d8d577e15ad09..3a11a8401c8fd2b60ecff8327076f3f541fda20f 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 @@ -1,6 +1,6 @@ package unipotsdam.gf.core.management.project; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import java.sql.Timestamp; import java.time.LocalDateTime; @@ -18,7 +18,6 @@ public class Project { private String author; private String adminPassword; private String token; - // using enum ProjectPhase private ProjectPhase phase; public Project() { @@ -35,31 +34,9 @@ public class Project { this.setPhase(ProjectPhase.CourseCreation); } - public ProjectPhase getPhase() { - return phase; - } - - /** - * setting phase only with enum - * @param phase - */ - public void setPhase(ProjectPhase phase) { - this.phase = phase; - } - - public Project(String id, String password, Boolean active, String author, String adminPassword, String token) { - this.id = id; - this.password = password; - this.active = active; - this.author = author; - this.adminPassword = adminPassword; - this.token = token; - - this.timecreated = Timestamp.valueOf(LocalDateTime.now(ZoneId.of("UTC"))); - } - - public Project(String id, String password, Boolean active, Timestamp timecreated, String author, - String adminPassword, String token) { + public Project(String id, String password, Boolean active, + Timestamp timecreated, String author, String adminPassword, + String token, ProjectPhase phase) { this.id = id; this.password = password; this.active = active; @@ -67,6 +44,7 @@ public class Project { this.author = author; this.adminPassword = adminPassword; this.token = token; + this.phase = phase; } public String getId() { @@ -117,11 +95,23 @@ public class Project { this.token = token; } - public Timestamp getTimecreated() { return timecreated; } + public ProjectPhase getPhase() { + return phase; + } + + /** + * setting phase only with enum + * + * @param phase + */ + public void setPhase(ProjectPhase phase) { + this.phase = phase; + } + @Override public String toString() { final StringBuilder sb = new StringBuilder("Project{"); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java index cc66f5634f1f05f969fcd423c24ce9134d21a653..1324034548c14f1cb9948d56d6d86b0481eed353 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java @@ -1,6 +1,6 @@ package unipotsdam.gf.core.management.project; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.AssessmentMechanism; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.peer2peerfeedback.Category; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java index 6a9f147857cc89528fa38a08e85c878b8d474cf3..ee57c4b4e0fd90df768c4093c1c7911f0e2de90f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java @@ -2,13 +2,11 @@ package unipotsdam.gf.core.management.project; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; -import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.AssessmentMechanism; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.peer2peerfeedback.Category; -import java.util.ArrayList; import java.util.HashMap; public class ProjectConfigurationDAO { 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 2c8ef86655468bdb480a69bdf52f9c8c8d24324c..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java +++ /dev/null @@ -1,67 +0,0 @@ -package unipotsdam.gf.core.management.user; - -import unipotsdam.gf.core.management.ManagementImpl; - -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=\"researchReportOverview.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" + - " <li><a href=\"finalAssessments.jsp?token="+token+"&projectId="+projectId+"\">Bewertung</a></li>\n" + - " <li><a href=\"../index.jsp\">Logout</a></li>\n" + - " </ul>\n" + - " </div>"); - } 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=\"#\">ePortfolio</a></li>\n" + - " <li><a href=\"#\">Beitrag</a></li>\n" + - " <li><a href=\"#\">Gruppen erstellen</a></li>\n" + - " <li><a href=\"#\">Projektphase ändern</a></li>\n" + - " <li><a href=\"finalAssessments.jsp?token="+token+"\">Bewertung</a></li>\n" + - " <li><a href=\"../index.jsp\">Logout</a></li>\n" + - " </ul>\n" + - " </div>"); - } - }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/User.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java index ef9531d231c70944f627ee6afbaeb26ee1eb5ac5..812cbe6c04522a18b5f469bbbf7fe1cc14e1a90f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java @@ -20,20 +20,20 @@ public class User { } public User(String name, String password, String email, Boolean isStudent) { - this.name = name; - this.password = password; - this.email = email; - this.isStudent = isStudent; - this.rocketChatAuthToken = ""; - this.rocketChatId = ""; + this(name, password, email, "", "", isStudent); } public User(String name, String password, String email, String rocketChatId, String rocketChatAuthToken, Boolean isStudent) { + this(name, password, email, "", rocketChatAuthToken, rocketChatId, isStudent); + } + + public User(String name, String password, String email, String token, String rocketChatAuthToken, String rocketChatId, Boolean isStudent) { this.name = name; this.password = password; this.email = email; - this.rocketChatId = rocketChatId; + this.token = token; this.rocketChatAuthToken = rocketChatAuthToken; + this.rocketChatId = rocketChatId; this.isStudent = isStudent; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java index d5ecb66497c7e4d5588e945c3bc04de7c69019ae..5df13ac921258e35e664cda7c8d12d37101a8e68 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java @@ -1,8 +1,6 @@ package unipotsdam.gf.core.management.user; -import org.glassfish.grizzly.streams.BufferedInput; import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.core.states.ProjectPhase; import unipotsdam.gf.interfaces.ICommunication; import unipotsdam.gf.modules.communication.service.CommunicationDummyService; @@ -11,8 +9,6 @@ import javax.inject.Inject; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.awt.image.BufferedImage; -import java.awt.image.BufferedImageOp; import java.io.File; import java.io.FileInputStream; import java.net.URI; @@ -154,9 +150,9 @@ public class UserService { private Response redirectToProjectPage(User user, ManagementImpl management) throws URISyntaxException { String successUrl; if (user.getStudent() != null && user.getStudent()) { - successUrl = "../pages/overview-student.jsp?token="; + successUrl = "../overview-student.jsp?token="; } else { - successUrl = "../pages/overview-docent.jsp?token="; + successUrl = "../overview-docent.jsp?token="; } successUrl += management.getUserToken(user); return forwardToLocation(successUrl); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java index bdbac9ae7b6b1171b82063e4d34f320fadf242fd..7c60869c4da95d680d35d780eefbc71d63e32550 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java @@ -2,7 +2,7 @@ package unipotsdam.gf.core.session; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.controller.model.Quiz; import unipotsdam.gf.modules.communication.model.chat.ChatRoom; 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 ed289b311cfa75b30f22102953bd3ea80d17b49e..685e6018bd27b08078e15765b3f52c1d92dac648 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java @@ -2,13 +2,19 @@ package unipotsdam.gf.core.states; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.states.model.Constraints; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.interfaces.*; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; +import unipotsdam.gf.modules.communication.service.CommunicationDummyService; +import unipotsdam.gf.modules.peer2peerfeedback.DummyFeedback; import unipotsdam.gf.view.Messages; import javax.annotation.ManagedBean; -import javax.annotation.Resource; import javax.inject.Inject; -import javax.inject.Singleton; +import java.util.HashMap; +import java.util.Map; /** * Created by dehne on 31.05.2018. @@ -19,11 +25,11 @@ import javax.inject.Singleton; @ManagedBean public class PhasesImpl implements IPhases { - private IPeerAssessment iPeerAssessment; + private IPeerAssessment iPeerAssessment = new PeerAssessmentDummy(); - private Feedback feedback; + private Feedback feedback = new DummyFeedback(); - private ICommunication iCommunication; + private ICommunication iCommunication = new CommunicationDummyService(); private IJournal iJournal; @@ -45,8 +51,31 @@ public class PhasesImpl implements IPhases { this.iJournal = iJournal; } + /*Optionen für die Constraints: + Gesucht ist ein Objekt, welches man an den Dozenten übergibt, in dem die fehlenden Abgaben codiert sind + + Als Map<StudentIdentifier, class Constraints> + + Immer wenn etwas nicht erfüllt wurde, speichert man es hier ab + - Jedes Interface bräuchte eine Funktion, die diese Datenstruktur bedient + - einige nutzlose Daten müssten mitgeschliffen werden + - Die variable wird immer wieder neu erzeugt und so sollte alles in der DB gespeichert sein!? + Constraints als Enum + + Die Funktionen der Interfaces checken ob dieser Constraint überall gilt + - Jedes Interface muss eine Funktion schreiben, die jeden Studenten untersucht. + Sinnvoller wäre nur die Studenten zurück zu geben, die die Constraint nicht erfüllen + - Enums können glaube keine Werte als Default tragen + Map<StudentIdentifier, String> + + Wenn Map keine Elemente trägt, ist alles erfüllt. + + zurück zu geben vom Interface wäre die Kennung (StudentIdentifier) und was fehlt (Constraint) + - Keine Default Werte + + + */ + @Override - public void endPhase(ProjectPhase changeToPhase, Project project) { + public void endPhase(ProjectPhase currentPhase, Project project) { + ProjectPhase changeToPhase = getNextPhase(currentPhase); + Map<StudentIdentifier, Constraints> tasks = new HashMap<>(); switch (changeToPhase) { case CourseCreation: // saving the state @@ -59,6 +88,7 @@ public class PhasesImpl implements IPhases { break; case DossierFeedback: // check if everybody has uploaded a dossier + Boolean feedbacksGiven = feedback.checkFeedbackConstraints(project); if (!feedbacksGiven) { feedback.assigningMissingFeedbackTasks(project); @@ -70,7 +100,8 @@ public class PhasesImpl implements IPhases { break; case Execution: // check if the portfolios have been prepared for evaluation (relevant entries selected) - Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project); + // todo: Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project); + Boolean portfoliosReady = true; if (portfoliosReady) { // inform users about the end of the phase iCommunication.sendMessageToUsers(project, Messages.AssessmentPhaseStarted(project)); @@ -80,6 +111,15 @@ public class PhasesImpl implements IPhases { } break; case Assessment: + Boolean allAssessmentsDone = iPeerAssessment.allAssessmentsDone(project.getId()); + if(allAssessmentsDone){ + iCommunication.sendMessageToUsers(project, Messages.CourseEnds(project)); + saveState(project, changeToPhase); + }else{ + iPeerAssessment.assignMissingAssessmentTasks(project); + } + break; + case Projectfinished: closeProject(); break; } 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 c0d45a7532c298206bfd8a3ef371cfd5ae4381a0..49a65404c45db5aab532b94f98eb1e7ef9f427f2 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java @@ -2,16 +2,15 @@ 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.core.states.model.ProjectPhase; import unipotsdam.gf.interfaces.IPhases; -import javax.inject.Inject; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; /** * REST API for switching phases - * In order to look up the possible phases @see unipotsdam.gf.core.states.ProjectPhase + * In order to look up the possible phases @see unipotsdam.gf.core.states.model.ProjectPhase */ @Path("/phases") public class PhasesService { diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java deleted file mode 100644 index b988f6f75f45b5bc04929a0cfe2d93b2fabd85a1..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java +++ /dev/null @@ -1,11 +0,0 @@ -package unipotsdam.gf.core.states; - -public class configPhaseShift { - Boolean DossierWritten; - Integer FeedbackCount =1; - Integer QuizCount =10; - Integer JournalCount=5; - Boolean DossierFinalized; - Boolean JournalFinalized; - Boolean AssessmentDone; -} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java new file mode 100644 index 0000000000000000000000000000000000000000..ac413e63a173d5a8dbbbffbebb90267c06bc984f --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java @@ -0,0 +1,34 @@ +package unipotsdam.gf.core.states.model; + +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + +public class Constraints { + + public static String DossierWritten(StudentIdentifier student){ + return student.getStudentId()+" hat noch kein Dossier hochgeladen."; + } + + public static String FeedbackCount(StudentIdentifier student){ + return student.getStudentId()+" hat noch nicht das erwartete Feedack gegeben."; + } + + public static String QuizCount(StudentIdentifier student){ + return student.getStudentId()+" hat noch kein Quiz erstellt."; + } + + public static String JournalCount(StudentIdentifier student){ + return student.getStudentId()+" hat noch nicht genug Tagebucheinträge verfasst."; + } + + public static String DossierFinalized(StudentIdentifier student){ + return student.getStudentId()+" hat sein Dossier noch nicht finalisiert."; + } + + public static String JournalFinalized(StudentIdentifier student){ + return student.getStudentId()+" hat sein Tagebuch noch nicht finalisiert"; + } + + public static String AssessmentDone(StudentIdentifier student){ + return student.getStudentId()+" hat die Bewertung noch nicht abgeschlossen."; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java similarity index 75% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java index ba8bffad7c29716ddfd9bbb5f049e3f19b0241c4..433ef0c96077d32bea6c4194a41fd32f765ce8f8 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java @@ -1,4 +1,4 @@ -package unipotsdam.gf.core.states; +package unipotsdam.gf.core.states.model; public enum ProjectPhase { CourseCreation, GroupFormation, DossierFeedback, Execution, Assessment, diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java index e53ddc887eac0127b51f629a31e14e7fc76586d6..6d28297f6abd51384a1cd68eeea02043e83948e4 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java @@ -10,6 +10,8 @@ import unipotsdam.gf.modules.researchreport.ResearchReport; import java.io.File; import java.util.List; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + /** * Interface for learning journal */ diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java index b07b990870b655615e72a1447eb09df9df642e98..1892ec3961260ec76a97bf0fa2aa0362fdad5070 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java @@ -1,5 +1,6 @@ package unipotsdam.gf.interfaces; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -42,6 +43,7 @@ public interface IPeerAssessment { * @param totalPerformance @return */ Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance); // calculates marks for every performance and writes it to an array + Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method); /** @@ -95,5 +97,8 @@ public interface IPeerAssessment { void deleteQuiz(String quizId); String whatToRate(StudentIdentifier student); - Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method); + + Boolean allAssessmentsDone(String projectId); + + void assignMissingAssessmentTasks(Project project); } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java index 976d67d13cdbb82a565b704b9213a8ac6677495e..5a11474e0842860a5063e06f2dcb13a7645d6f77 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java @@ -1,7 +1,7 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.core.management.project.Project; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; public interface IPhases { /** diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java index 7b269aa7f1059c0446d314714ffb38761f1d8e94..be42f1baa23fbece4fa842645201448c3fe0b6a9 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java @@ -1,35 +1,78 @@ package unipotsdam.gf.modules.assessment.controller.model; +import com.fasterxml.jackson.annotation.JsonIgnore; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; +import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.modules.assessment.controller.model.Performance; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + import javax.xml.bind.annotation.XmlRootElement; +import java.security.acl.Group; import java.util.ArrayList; + + +import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; +import java.util.Date; + @XmlRootElement public class Assessment { - private StudentIdentifier student; + private StudentIdentifier student;// gemeint als Ziel der Bewertung, kann auch gruppe sein + @JsonIgnore private Performance performance; + private StudentIdentifier bewertender; + private String projektId; + private int bewertung; + private boolean adressat; + private Date deadline; + public Assessment(StudentIdentifier student, Performance performance) { this.student = student; this.performance = performance; } - public Assessment(){} + public Assessment(boolean adressat,StudentIdentifier student, Date deadline, StudentIdentifier bewertender, String projektId, int bewertung) { + this.student = student; + this.deadline = deadline; + this.bewertender = bewertender; + this.projektId = projektId; + this.bewertung = bewertung; + this.adressat=adressat; + } + + public Assessment() { + } - public ArrayList<Performance> getTotalAssessment() { return null; } + public ArrayList<Performance> getTotalAssessment() { + return null; + } public StudentIdentifier getStudent() { return student; } + public StudentIdentifier getBewertender() { + return bewertender; + } + + public void setBewertender(StudentIdentifier bewertender) { + this.bewertender = bewertender; + } + public void setStudent(StudentIdentifier student) { this.student = student; } + @JsonIgnore public Performance getPerformance() { return performance; } - + @JsonIgnore public void setPerformance(Performance performance) { this.performance = performance; } @@ -41,4 +84,52 @@ public class Assessment { ", performance=" + performance + '}'; } -} + + public int getBewertung() { + return bewertung; + } + + public void setBewertung(int bewertung) { + this.bewertung = bewertung; + } + + public String getProjektId() { + return projektId; + } + + public void setProjektId(String projektId) { + this.projektId = projektId; + } + + + public void setAssessment(Assessment assessment) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "INSERT INTO assessments ( `adressat`, `deadline`, `erstellerId`,`empfaengerId`, `projektId`, `bewertung`) values (?,?,?,?,?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, + assessment.isAdressat(), + assessment.getDeadline(), + assessment.getBewertender().getStudentId(), + assessment.getStudent().getStudentId(), + assessment.getProjektId(), + assessment.getBewertung() + ); + connect.close(); + } + + public boolean isAdressat() { + return adressat; + } + + public void setAdressat(boolean adressat) { + this.adressat = adressat; + } + + public Date getDeadline() { + return deadline; + } + + public void setDeadline(Date deadline) { + this.deadline = deadline; + } +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java new file mode 100644 index 0000000000000000000000000000000000000000..17beba2eed381316a22488217073ebe04af84c4e --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java @@ -0,0 +1,73 @@ +package unipotsdam.gf.modules.assessment.controller.model; + + + +public class GroupEvalDataDatasets { + private String label; + private int[] data= new int[50]; + + private String borderColor= "rgba(0,255,0,0.2)"; + private String backgroundColor= "rgba(0,255,0,0.2)"; + private boolean fill=false; + + public GroupEvalDataDatasets(){} + + public GroupEvalDataDatasets(String label,int[] data, String backgroundColor, String borderColor, boolean fill){ + this.backgroundColor=backgroundColor; + this.borderColor=borderColor; + this.data=data; + this.fill=fill; + this.label=label; + } + public GroupEvalDataDatasets(String label, int[] data){ + + this.data=data; + this.label=label; + } + + public int[] getData() { + return data; + } + + public void setData(int[] data) { + this.data = data; + } +/* + public void appendData(int data) { + this.data.add(data); + } +*/ + public String getBorderColor() { + return borderColor; + } + + public void setBorderColor(String borderColor) { + this.borderColor = borderColor; + } + + public String getBackgroundColor() { + return backgroundColor; + } + + public void setBackgroundColor(String backgroundColor) { + this.backgroundColor = backgroundColor; + } + + public boolean isFill() { + return fill; + } + + public void setFill(boolean fill) { + this.fill = fill; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } +} + + diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java new file mode 100644 index 0000000000000000000000000000000000000000..05f44bce99da488ba3a1f29a3cb441031e88db20 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java @@ -0,0 +1,41 @@ +package unipotsdam.gf.modules.assessment.controller.model; +import java.util.*; + +public class GroupEvalDataList { + private String[] labels ; + + private List<GroupEvalDataDatasets> datasets = new ArrayList<>(); + + public GroupEvalDataList(){} + public GroupEvalDataList(String[] labels, List<GroupEvalDataDatasets> datasets){ + this.datasets=datasets; + this.labels=labels; + } + + public GroupEvalDataList(List<GroupEvalDataDatasets> datasets,String[] labels){ + this.labels=labels; + this.datasets=datasets; + } + + + public List<GroupEvalDataDatasets> getDatasets() { + return datasets; + } + + public void setDatasets(List<GroupEvalDataDatasets> dataset) { + this.datasets = dataset; + } + + public String[] getLabels() { + return labels; + } + + public void setLabels(String[] labels) { + this.labels = labels; + } + + public void appendDataSet(GroupEvalDataDatasets data) { + this.datasets.add(data); + + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java new file mode 100644 index 0000000000000000000000000000000000000000..67b8a15d28780375b88fa6e076b0c8c4814645c4 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java @@ -0,0 +1,123 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@Path("/assessments4") + +public class GroupEvalDiagrammData { + private String type; + private GroupEvalDataList data; + private GroupEvalOption option; + + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public GroupEvalDataList getData() { + return data; + } + + public void setData(GroupEvalDataList data) { + this.data = data; + } + public GroupEvalDiagrammData(){} + + public GroupEvalDiagrammData(String type, GroupEvalDataList data){ + this.type=type; + this.data=data; + } + + public GroupEvalOption getOption() { + return option; + } + + public void setOption(GroupEvalOption option) { + this.option = option; + } + + @POST + @Produces(MediaType.APPLICATION_JSON) + @Path("/diagramm1/{projectId}") + public GroupEvalDiagrammData getValuesFromDBByProjectID(@PathParam("projectId") String projectId) + { + + //GruppenID muss noch irgendwie aus der Seite ausgelesen werden, wenn die dann mal dynamisch gefüllt wurde + GroupEvalDiagrammData diagramm= new GroupEvalDiagrammData(); + GroupEvalOption option=new GroupEvalOption(); + GroupEvalDiagrammLegende legende =new GroupEvalDiagrammLegende(); + + diagramm.setType("line"); + diagramm.setOption(option); + legende.setDisplay(false); + option.setLegende(legende); + + + MysqlConnect connect = new MysqlConnect(); + List<String> userNamen=new ArrayList<>(); + + GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets(); + GroupEvalDataList datenDia = new GroupEvalDataList(); + + diagramm.setData(datenDia); + + + connect.connect(); + + String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? "; + VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3); + List<Integer> bewertungenZwischen = new ArrayList<Integer>(); + List<String> labelZwischen = new ArrayList<String>(); + + List<GroupEvalDataDatasets> hilfeBittefunktionierEndlich=new ArrayList<>(); + + while (namenDerUser.next()){ + userNamen.add(namenDerUser.getString("userEmail")); + } + for (String anUserNamen : userNamen) { + String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?"; + VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment, anUserNamen); + + while (bewertungDerUser.next()) { + bewertungenZwischen.add(bewertungDerUser.getInt("bewertung")); + labelZwischen.add(String.valueOf(bewertungDerUser.getTimestamp("deadline")).substring(0,10)); + } + int[] hilfeDaten = new int[bewertungenZwischen.size()]; + for (int z = 0; z < labelZwischen.size(); z++) { + hilfeDaten[z] = bewertungenZwischen.get(z); + } + + + + String[] hilfeLabel = new String[labelZwischen.size()]; + for (int z = 0; z < labelZwischen.size(); z++) { + hilfeLabel[z] = labelZwischen.get(z); + } + hilfeBittefunktionierEndlich.add(new GroupEvalDataDatasets(anUserNamen,hilfeDaten)); + datenSaetze.setData(hilfeDaten); + datenSaetze.setLabel(anUserNamen); + System.out.println(anUserNamen); + + bewertungenZwischen.clear(); + labelZwischen.clear(); + diagramm.setData(new GroupEvalDataList(hilfeLabel,hilfeBittefunktionierEndlich)); + } + + connect.close(); + + + + return diagramm; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java new file mode 100644 index 0000000000000000000000000000000000000000..3f33ecd5869920e59e002233711e3ef6bab2dea9 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java @@ -0,0 +1,14 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +public class GroupEvalDiagrammLegende { + private boolean display; + + + public boolean isDisplay() { + return display; + } + + public void setDisplay(boolean display) { + this.display = display; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java new file mode 100644 index 0000000000000000000000000000000000000000..95d0d15834c58758cbad722e801349f5e5a3bd53 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java @@ -0,0 +1,16 @@ +package unipotsdam.gf.modules.assessment.controller.model; + + + +public class GroupEvalOption { + private GroupEvalDiagrammLegende legende; + + public GroupEvalDiagrammLegende getLegende() { + return legende; + } + + public void setLegende(GroupEvalDiagrammLegende legende) { + this.legende = legende; + } + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java new file mode 100644 index 0000000000000000000000000000000000000000..fa81556965e51fa31c6112337ca8d9a111b38cf0 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java @@ -0,0 +1,40 @@ +package unipotsdam.gf.modules.assessment.controller.model; +import com.mysql.jdbc.Statement; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; + +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; + +public class PACalculate { + +public List<Double> meanOfAssessments(String name, String projekt){ + /* + Berechnet aus Namen und ProjektId das arithmetische Mittel der Bewertungen und gibt + eine Liste mit allen EInzelnoten und dem Mittel als letztem Eintrag zurück + */ + + double zwischenErgebnis=0.0; + double counter=0.0; + List<Double> results = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + + connect.connect(); + String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?"; + + String nameDesKandidaten = name; + String projektDesKandidaten = projekt; + VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,nameDesKandidaten, projektDesKandidaten); + + while (ausgabe.next()){ + counter++; + zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung"); + results.add((double) ausgabe.getInt("bewertung")); + } + results.add(zwischenErgebnis/counter); + connect.close(); + return results; + +} +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java index 8283f9a231c6c558032e108968a4386d379d9b8c..866d46be26992a8be17bd44f4b2cb6823ca60d37 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java @@ -1,5 +1,6 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -84,6 +85,16 @@ public class FBAssessement extends AssessmentDAO { return null; } + @Override + public Boolean allAssessmentsDone(String projectId) { + return null; + } + + @Override + public void assignMissingAssessmentTasks(Project project) { + + } + @Override public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) { return null; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java index d65c047ccced3756dd13292542eac5f58f09f901..871b3c94af79f47dc054d632240a8648ee0992af 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java @@ -1,5 +1,6 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; @@ -59,6 +60,16 @@ public class PeerAssessment implements IPeerAssessment { return "done"; } + @Override + public Boolean allAssessmentsDone(String projectId) { + return null; + } + + @Override + public void assignMissingAssessmentTasks(Project project) { + + } + @Override public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) { Map<StudentIdentifier, Double> quizMean = new HashMap<>(quizGrade(totalPerformance)); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java index 74bac433e2e831ea9fe23b6d18a754c66490e517..a5cb9fae5bdddcc98bf3b438665e17860e50a969 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java @@ -2,12 +2,14 @@ package unipotsdam.gf.modules.assessment.controller.service; import unipotsdam.gf.assignments.Assignee; import unipotsdam.gf.assignments.NotImplementedLogger; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.*; public class PeerAssessmentDummy implements IPeerAssessment { + @Override public void addAssessmentDataToDB(Assessment assessment) { } @@ -33,10 +35,8 @@ public class PeerAssessmentDummy implements IPeerAssessment { incorrectAnswers.add("alle beide"); sampleQuiz = new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, incorrectAnswers); } - return sampleQuiz; } - public ArrayList<Quiz> getQuiz(String projectId) { ArrayList<String> correctAnswers = new ArrayList<>(); ArrayList<String> incorrectAnswers = new ArrayList<>(); @@ -89,6 +89,16 @@ public class PeerAssessmentDummy implements IPeerAssessment { return null; } + @Override + public Boolean allAssessmentsDone(String projectId) { + return true; + } + + @Override + public void assignMissingAssessmentTasks(Project project) { + + } + @Override public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) { return null; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java new file mode 100644 index 0000000000000000000000000000000000000000..2a603937709464ce3e5d823c67d8628827c1bf59 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java @@ -0,0 +1,57 @@ +package unipotsdam.gf.modules.assessment.controller.view; + +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.Assessment; +import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; + + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Path("/assessments2") +public class AssessmentView{ + private static IPeerAssessment peer = new PeerAssessmentDummy(); + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + @Path("/calculate3") + public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) { + return peer.calculateAssessment(totalPerformance); + } + + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + @Path("/calculate2") + public String testDesReturn(Assessment assessment){ + Assessment shuttle = new Assessment(); //neues Objekt, dass dann bearbeitet werden kann + //System.out.println(assessment.getBewertung()); + shuttle.setAssessment(assessment); //inhalte werden in die DB geschrieben und es wird erfolg zurückgemeldet + return "1"; + } + + + + + + /*} + @GET + @Consumes(MediaType.APPLICATION_JSON) + @Path("dummy/calculate2") + public Assessment dummyAssessment(){ + StudentIdentifier student = new StudentIdentifier("projectID", "StudentId"); + Performance performance; + StudentIdentifier bewertender; + String projektId; + int bewertung; + boolean adressat; + Date deadline; + Assessment shuttle = new Assessment(student, ) + + return null; + }*/ +} 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 1a484981db9ba3e13241412482670db23acd32af..f897c2561574cf9d896ce445d6879d8bc74443f4 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 @@ -5,6 +5,7 @@ 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.Assessment; import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java index 5238e9530cee936020be2d577c172fffaba79e7c..09fba126c48b52b04893ac4d08a4f207ffe478a5 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java @@ -38,10 +38,8 @@ public class GroupCreationService { management.create(project); } - groups.forEach(group -> management.createGroup(group, project.getId())); - + groups.forEach(group -> management.create(group)); // TODO: read List<Group> of database to get Id for chatRoomName (Should be ProjectName - GroupId) - // TODO: add projectName as DatabaseEntry // TODO: implement sql service injection for, so connection is only done once in app diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java index 443ce212400945a30640d7b3213233a3ed4e6e1f..0bf9d071c9cdeed87676e3570771afc632324aca 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java @@ -16,11 +16,12 @@ import java.util.ArrayList; public class DummyFeedback implements Feedback { /** - * Utility to creaty dummy data for students + * Utility to create dummy data for students */ PodamFactory factory = new PodamFactoryImpl(); private static Boolean missingTaskAssigned = false; + private Boolean constraintsFulfilled = false; public DummyFeedback() { @@ -52,10 +53,11 @@ public class DummyFeedback implements Feedback { @Override public Boolean checkFeedbackConstraints(Project project) { - // TODO implement cornstaints + // TODO implement constraints NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints", "checking feedback constraints "); - return missingTaskAssigned; + constraintsFulfilled = true; + return constraintsFulfilled; } @Override diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java index 986c7d741e87d479673663e4afccd5d685bc2249..cffc1eae0018d01365f794eef5bc54ac21c69831 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java @@ -17,4 +17,9 @@ public class Messages { // TODO add link to site + markup return "Die Bewertungsphase hat begonnen. Bitte geht auf ... und macht ...."; } + + public static String CourseEnds(Project project) { + // TODO add link to site + markup + return "Die Bewertung ist abgeschlossen. Sie erhalten ihre Bewertung in Kürze."; + } } diff --git a/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp similarity index 90% rename from gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp rename to gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp index d8e499fe40ffe6c526d9785794e086efae0434a0..0e876cb6f11fbe73434b153a6ccb834b0bf61ada 100644 --- a/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp +++ b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp @@ -1,16 +1,17 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> + <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <!-- css - annotationStyle --> - <link rel="stylesheet" type="text/css" href="../assets/css/annotationStyle.css"> + <link rel="stylesheet" type="text/css" href="css/annotationStyle.css"> <!-- css - contextMenu --> <link href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" rel="stylesheet" type="text/css" /> @@ -26,21 +27,19 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-core.js" type="text/javascript"></script> <!-- js - rangy TextRange Module --> <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-textrange.js" type="text/javascript"></script> - <!-- js - utility --> - <script src="../assets/js/utility.js"></script> <!-- js - annotation websocket script --> - <script src="../assets/js/annotationWebsocket.js"></script> + <script src="js/annotationWebsocket.js"></script> <!-- js - annotation REST script --> - <script src="../assets/js/annotationRest.js"></script> + <script src="js/annotationRest.js"></script> <!-- js - unstructuredRest --> - <script src="../assets/js/unstructuredRest.js"></script> + <script src="js/unstructuredRest.js"></script> <!-- js - annotationScript --> - <script src="../assets/js/annotationScript.js"></script> + <script src="js/annotationScript.js"></script> </head> <body> <div id="wrapper" class="full-height"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper full-height"> <div class="container-fluid full-height"> <div class="container-fluid-content"> @@ -62,6 +61,7 @@ </div> </div> <div class="rightcolumn"> + <input type="text" id="annotation-search" onkeyup="searchAnnotation()" placeholder="Suchen..."> <div class="rightcontent"> <ol id="annotations"> </ol> diff --git a/gemeinsamforschen/src/main/webapp/pages/unstructured-annotation.jsp b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp similarity index 90% rename from gemeinsamforschen/src/main/webapp/pages/unstructured-annotation.jsp rename to gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp index 94b29c07de3adfa1681dd11423e4607e69700e7e..4d78a097050806769b7354d62dfb0e18fd2c7561 100644 --- a/gemeinsamforschen/src/main/webapp/pages/unstructured-annotation.jsp +++ b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp @@ -1,16 +1,16 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <!-- css - unstructured-annotation --> - <link rel="stylesheet" type="text/css" href="../assets/css/unstructured-annotation.css"> + <link rel="stylesheet" type="text/css" href="css/unstructured-annotation.css"> <!-- css - contextMenu --> <link href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" rel="stylesheet" type="text/css" /> @@ -25,16 +25,16 @@ <!-- js - rangy TextRange Module --> <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-textrange.js" type="text/javascript"></script> <!-- js - unstructuredRest --> - <script src="../assets/js/unstructuredRest.js"></script> + <script src="js/unstructuredRest.js"></script> <!-- js - unstructuredUpload --> - <script src="../assets/js/unstructuredAnnotation.js"></script> + <script src="js/unstructuredAnnotation.js"></script> </head> <body> <div id="wrapper" class="full-height"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper full-height"> <div class="container-fluid full-height"> <div class="container-fluid-content"> diff --git a/gemeinsamforschen/src/main/webapp/assets/css/annotationStyle.css b/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css similarity index 92% rename from gemeinsamforschen/src/main/webapp/assets/css/annotationStyle.css rename to gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css index a9ed0b540fd86a20c6375dfd3e602bd0d0f8a35b..9e618c7d558bef2e5e8c6e4adcfe93b92e8b7f54 100644 --- a/gemeinsamforschen/src/main/webapp/assets/css/annotationStyle.css +++ b/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css @@ -17,7 +17,8 @@ ol { .rightcolumn { float: right; width: 25%; - display: inline-block; + display: flex; + flex-flow: column; overflow: scroll; /* background-color: blue; */ } @@ -29,7 +30,9 @@ ol { /* background-color: yellow; */ } .rightcontent { - margin: 10px; + padding: 10px; + flex: 1; + overflow: scroll; } .leftcontent { max-height: 100%; @@ -51,7 +54,7 @@ ol { background-color: white; } .annotation-card:hover { - box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2); + box-shadow: 0 8px 12px 0 rgba(0,0,0,0.2); } .annotation-header { padding: 5px; @@ -164,4 +167,9 @@ ol { color: black; font-weight: bold; } +#annotation-search { + width: 100%; + padding: 5px; + font-size: 11px; +} diff --git a/gemeinsamforschen/src/main/webapp/assets/css/unstructured-annotation.css b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/unstructured-annotation.css rename to gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/unstructured-upload.css b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/unstructured-upload.css rename to gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css diff --git a/gemeinsamforschen/src/main/webapp/assets/js/annotationRest.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationRest.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/annotationRest.js rename to gemeinsamforschen/src/main/webapp/annotation/js/annotationRest.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/annotationScript.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js similarity index 92% rename from gemeinsamforschen/src/main/webapp/assets/js/annotationScript.js rename to gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js index b6f25d8c8adba325836a6a282a147429b155dd34..54470a0048359ab9324f489e4311aef213b834df 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/annotationScript.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js @@ -68,14 +68,14 @@ $(document).ready(function() { * continue button */ $('#btnContinue').click(function () { - location.href="givefeedback.jsp?token=" + getUserTokenFromUrl(); + location.href="../feedback/give-feedback.jsp?token=" + getUserTokenFromUrl(); }); /** * back button */ $('#btnBack').click(function () { - location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); }); /** @@ -267,10 +267,30 @@ function displayAnnotation(annotation) { dateIcon = "fas fa-clock"; } + // declare variables + let display, input, filter, user, title, comment; + input = $('#annotation-search'); + filter = input.val().toLowerCase(); + + user = annotation.userToken.toLowerCase(); + title = annotation.body.title.toLowerCase(); + comment = annotation.body.comment.toLowerCase(); + + // hiding based on user, title and comment + if (user.indexOf(filter) > -1 || + title.indexOf(filter) > -1 || + comment.indexOf(filter) > -1) { + display = '' + } + else { + display = 'none' + } + // insert annotation card list.prepend( // list element $('<li>') + .css('display', display) .attr('class', 'listelement') .append( // annotation card @@ -296,7 +316,7 @@ function displayAnnotation(annotation) { $('<i>').attr('class', 'fas fa-user') ) .append( - $('<span>').append(annotation.userToken) + $('<span>').attr('class', 'annotation-header-data-user').append(annotation.userToken) ) ) .append( @@ -371,11 +391,9 @@ function displayAnnotation(annotation) { .mouseleave(function () { deleteHighlightedText(); }) - .append(function () { - if ($('#annotations li').filter( ".listelement" ).length > 0) { - return $('<div>').attr('class', 'spacing') - } - }) + .append( + $('<div>').attr('class', 'spacing') + ) ); } @@ -791,3 +809,32 @@ function isAnnotationInRange(start, end) { } return false; } + +/** + * Display or hide annotations based on filter string + */ +function searchAnnotation() { + // declare variables + let input, filter; + input = $('#annotation-search'); + filter = input.val().toLowerCase(); + + // iterate over annotation card and hide those who don't match the search query + $('#annotations').find('li').each(function () { + let user, title, comment; + user = $(this).find('.annotation-header-data-user').text().toLowerCase(); + title = $(this).find('.annotation-header-data-title').text().toLowerCase(); + comment = $(this).find('.annotation-body-text').text().toLowerCase(); + + // hiding based on user, title and comment + if (user.indexOf(filter) > -1 || + title.indexOf(filter) > -1 || + comment.indexOf(filter) > -1) { + $(this).css('display', '') + } + else { + $(this).css('display', 'none') + } + }); + +} diff --git a/gemeinsamforschen/src/main/webapp/assets/js/annotationWebsocket.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js similarity index 96% rename from gemeinsamforschen/src/main/webapp/assets/js/annotationWebsocket.js rename to gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js index 5c3ced1b8d2017cf5e7365a17306d90c6ba37d49..585b09c007d0a3a28bf8c9a802fec7397fbe9974 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/annotationWebsocket.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js @@ -8,7 +8,6 @@ function connect(targetId, targetCategory) { ws.onmessage = function (e) { var message = JSON.parse(e.data); - console.log(message.from) if (message.type === "CREATE") { // get annotation from server diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createJournal.js b/gemeinsamforschen/src/main/webapp/annotation/js/createJournal.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createJournal.js rename to gemeinsamforschen/src/main/webapp/annotation/js/createJournal.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredAnnotation.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js similarity index 97% rename from gemeinsamforschen/src/main/webapp/assets/js/unstructuredAnnotation.js rename to gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js index f420bbbd12047f018cbba3c6c4d306e03b3cf3e3..a8ab85a55c8050287ac9228165ec1b0538659db7 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredAnnotation.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js @@ -26,7 +26,7 @@ $(document).ready(function() { }, function () { // jump to upload page on error - location.href="unstructured-upload.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + location.href="upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); }); // set click listener to save button @@ -285,7 +285,7 @@ function saveButtonHandler() { $.when.apply($, promises).then(function () { // redirect user to project page after saving - location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); }); // redirect user to project page after saving diff --git a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredRest.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/unstructuredRest.js rename to gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredUpload.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js similarity index 76% rename from gemeinsamforschen/src/main/webapp/assets/js/unstructuredUpload.js rename to gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js index 66ef3253fb067df445fa217227415361f9b0ed33..2148e5cb04d95a8280dc4af60579aa8f6bdfa2e8 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredUpload.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js @@ -23,7 +23,7 @@ $(document).ready(function() { $('#upload-textarea').val(""); // jump to next page - location.href="unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId") + "&submission=" + response.id; + location.href="create-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId") + "&submission=" + response.id; }); } }); @@ -37,15 +37,15 @@ $(document).ready(function() { $('#upload-textarea').val(""); // jump to previous page - window.history.back(); - //location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getProjectIdFromUrl(); + //window.history.back(); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); } } // nothing to check else { // jump to previous page - window.history.back(); - //location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getProjectIdFromUrl(); + //window.history.back(); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); } }); diff --git a/gemeinsamforschen/src/main/webapp/pages/unstructured-upload.jsp b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp similarity index 79% rename from gemeinsamforschen/src/main/webapp/pages/unstructured-upload.jsp rename to gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp index 083f71f4cd99bffc55a20c3f311eae53d1fd2bb9..43f3340fe7137b2a0dc3ba7ee03609bb9db273b1 100644 --- a/gemeinsamforschen/src/main/webapp/pages/unstructured-upload.jsp +++ b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp @@ -1,13 +1,14 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> + <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <!-- js - jQuery validation plugin --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script> @@ -15,17 +16,17 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" type="text/javascript"></script> <!-- css - upload-unstructured --> - <link rel="stylesheet" type="text/css" href="../assets/css/unstructured-upload.css"> + <link rel="stylesheet" type="text/css" href="css/unstructured-upload.css"> <!-- js - unstructuredUpload --> - <script src="../assets/js/unstructuredUpload.js"></script> + <script src="js/unstructuredUpload.js"></script> <!-- js - unstructuredRest --> - <script src="../assets/js/unstructuredRest.js"></script> + <script src="js/unstructuredRest.js"></script> </head> <body> <div id="wrapper" class="full-height"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper full-height"> <div class="container-fluid full-height"> <div class="container-fluid-content"> diff --git a/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp b/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp new file mode 100644 index 0000000000000000000000000000000000000000..65a0540c5cc36132f3a4bb84218fa850337d1b68 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp @@ -0,0 +1,29 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> + +<html> +<head> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/Quiz-docent.js"></script> +</head> + +<body> +<div id="wrapper"> + <menu:menu hierarchy="1"/> + <div class="page-content-wrapper"> + <headLine:headLine/> + <table class="table-striped"> + <tbody id="tableQuiz"> + + </tbody> + </table> + <button class="btn btn-primary" id="newQuiz">neues Quiz</button> + + </div> + <footer:footer/> +</div> +</body> +</html> diff --git a/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp similarity index 50% rename from gemeinsamforschen/src/main/webapp/pages/Quiz.jsp rename to gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp index 5e7341363506343927281caf860275bcb48080c6..79121dd6242affd0bfc0237f3b648599e9590cb9 100644 --- a/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp +++ b/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp @@ -1,18 +1,18 @@ <%@ page contentType="text/html;charset=UTF-8" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/Quiz.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/Quiz.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <table class="table-striped"> diff --git a/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp b/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp similarity index 98% rename from gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp rename to gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp index 4a6908591abadfecd0fcd915e9743637d29d0442..e8128b03638ac79a52a6868a2be672f7cff4cc75 100644 --- a/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp +++ b/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp @@ -1,21 +1,21 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/finalAssessment.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/assess-work.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div> diff --git a/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp new file mode 100644 index 0000000000000000000000000000000000000000..a8f39bfa961789996308eeddc58cae565ddbc82b --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> + +<!-- TODO refactor @Sven: bitte nutze einen Unterordner für dein Modul z.B. webapp/annotation/ --> + + +<!DOCTYPE html> +<html lang="en"> +<head> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/assessmentCalculator.js"></script> +</head> +<body> +<menu:menu hierarchy="1"/> +<button id="calculateNow">Post Performance</button> +<button id="giveItBack">Get TotalPerformance</button> +<headLine:headLine/> +</body> +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp similarity index 74% rename from gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp rename to gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp index 7601ff88f154ff2df7613bfc1c2f55a5de1a2c25..229b240942108f7e8fe8bf391bfa5272dba91395 100644 --- a/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp +++ b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp @@ -1,18 +1,18 @@ <%@ page contentType="text/html;charset=UTF-8" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/createQuiz.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/create-quiz.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js b/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js new file mode 100644 index 0000000000000000000000000000000000000000..c839478e287cb4652039897471ab07afecdb92cd --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js @@ -0,0 +1,401 @@ +$(document).ready(function () { + + + $('#DiaBlende').on('click',function () { + + + + $.ajax({ + url: "../rest/assessments4/diagramm1/"+getQueryVariable("projectId"), + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + + success: function (response) { + var ctx = document.getElementById("Diagramm").getContext('2d'); + var myChart = new Chart(ctx, response); + + }, + error: function (a,b,c) { + alert('some error' + b); + } + }); + + /* + var ctx = document.getElementById("Diagramm").getContext('2d'); + var myChart = new Chart(ctx, { + type: 'line', + data: { + labels: ["05.06.1009", "05.06.1009", "05.06.1009", "05.06.1009"], + datasets: [{ + label: "Note Student 1", + data: [ + 5,4,4,3], + borderColor: "rgba(255,0,3,0.2)", + backgroundColor: "rgba(255,0,3,0.2)", + fill:false + } + , + { + label:"Note Student 2", + data: [ + 1,2,3,4 ] + ,borderColor: 'rgba(0,255,0,0.2)' + , backgroundColor: 'rgba(0,255,3,0.2)' + ,fill:false + + }, + { + label:"Note Student 3", + data: [ + 5,2,4,6] + ,borderColor: 'rgba(0,255,0,0.2)' + , backgroundColor: 'rgba(0,255,3,0.2)' + ,fill:false + + }] + }, + + options: {legend:{display:false}} + });*/ + }); +}); + +// hier noch dynamik ergänzen, damit der Student und die Gruppe ausgelesen werden + +$(document).ready(function () { + $('#ProblemGrp1').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp1').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); + +$(document).ready(function () { + $('#ProblemGrp1S1').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp1S1').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp1S2').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp1S2').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp2').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp2').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp2S3').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp2S3').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp2S4').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp2S4').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp3').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp3').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp3S5').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp3S5').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp3S6').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp3S6').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Quiz-docent.js b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js similarity index 95% rename from gemeinsamforschen/src/main/webapp/assets/js/Quiz-docent.js rename to gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js index 2eedd8af5d6c4a7690ae11b782dcfe0fecb8c017..8ddea17c89cace4cdfe23ce433ea226da5cf64a3 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/Quiz-docent.js +++ b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js @@ -1,6 +1,6 @@ $(document).ready(function () { $('#newQuiz').on('click', function(){ - location.href="createQuiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); + location.href="create-quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); }); let loading = $('#loadbar').hide(); @@ -77,7 +77,7 @@ $(document).ready(function () { url: '../rest/assessments/quiz/' + encodeURIComponent(event.data.quizId), type: 'POST', success: function () { - document.location.href="Quiz-docent.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); + document.location.href="quiz-docent.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); }, error: function(a){ alert(a) diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js similarity index 87% rename from gemeinsamforschen/src/main/webapp/assets/js/Quiz.js rename to gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js index fcb6ea709458eddd262301776d4e3fde08ae4a84..f79b9de9519fdb8b78d10842685c12cd20cf54c7 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js +++ b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js @@ -12,7 +12,7 @@ $(document).ready(function(){ let trQuestion = document.createElement('TR'); trQuestion.className="pageChanger"; trQuestion.innerHTML = '<td colspan="' + colspan + '"><h3>' + - '<a href="viewQuiz.jsp' + + '<a href="view-quiz.jsp' + '?token='+getUserTokenFromUrl()+ '&projectId='+projectId+ '&quizId='+ encodeURIComponent(data[quiz].question)+'"</a>' + @@ -26,6 +26,6 @@ $(document).ready(function(){ }); $('#newQuiz').on('click', function(){ - location.href="createQuiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); + location.href="create-quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); }); }); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js b/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js similarity index 98% rename from gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js rename to gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js index 0f57c3bec407e642306c68bb0fed7651af94a53b..98a0a9765f2bf8bbecceddce58b99688b9260162 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js +++ b/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js @@ -172,7 +172,7 @@ function assessPeer() { }, data: JSON.stringify(dataP), success: function () { - location.href = "takeQuiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim(); + location.href = "take-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim(); }, error: function (a, b, c) { diff --git a/gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js b/gemeinsamforschen/src/main/webapp/assessment/js/assessmentCalculator.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js rename to gemeinsamforschen/src/main/webapp/assessment/js/assessmentCalculator.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js similarity index 97% rename from gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js rename to gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js index 37413173379a5a73600abf21938d1ef9be06dede..5353643dbcb0770b3aa7096c0011c6ac743c43f6 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js +++ b/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js @@ -61,7 +61,7 @@ $(document).ready(function () { }, type: 'POST', success: function(){ - location.href="Quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); + location.href="quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); }, error: function(a){ diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/grading.js b/gemeinsamforschen/src/main/webapp/assessment/js/grading.js new file mode 100644 index 0000000000000000000000000000000000000000..5f6823dab004b402bdb5e4eccbb87a88c8541f53 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assessment/js/grading.js @@ -0,0 +1,8 @@ +$(document).ready(function () { + $('#ProjektFinalisieren').on('click',function () { + + document.getElementById("ProjektFinalisieren").style.color="magenta"; + + + }); +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/rateContribution.js b/gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/rateContribution.js rename to gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js similarity index 97% rename from gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js rename to gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js index 7c293a1a125ccc891df523fd6a1ea415968a28c4..75cf2fa1bd8b2abc54bfbd04d4246cb0beccd985 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js +++ b/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js @@ -110,7 +110,7 @@ function safeQuizAnswers(){ }, data: JSON.stringify(dataP), success: function(){ - location.href="rateContribution.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); + location.href="rate-contribution.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); }, error: function(a,b,c){ diff --git a/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js similarity index 98% rename from gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js rename to gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js index a763697c7dd3fc87785125d29aabcc4e7978b715..8ebaac60bf99121d46d4fc6bc15bffb43b9e3ac7 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js +++ b/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js @@ -67,7 +67,7 @@ $(document).ready(function () { url: '../rest/assessments/quiz/' + encodeURIComponent(quizId), type: 'POST', success: function () { - document.location.href="Quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); + document.location.href="quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim(); }, error: function(a){ alert(a) diff --git a/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp new file mode 100644 index 0000000000000000000000000000000000000000..f8ec92fc5cf46c3cc272ce6b6cca5fe12b0266ba --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp @@ -0,0 +1,165 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> + +<!DOCTYPE html> +<html> + + +<head> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/AlertAssessmentOutlier.js"></script> + <script src="js/grading.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js"></script> +</head> + + + +<body> +<div id="wrapper"> + <menu:menu hierarchy="1"/> + + <div class="page-content-wrapper"> + <div class="container-fluid"> + <headLine:headLine/> + <button class="btn btn-default" type="button">Gruppen erstellen</button> + <button class="btn btn-default" type="button" id="ProjektFinalisieren">Projekt finalisieren</button> + <button class="btn btn-default" type="button">Exportiere Projektergebnisse</button> + </div> + <p hidden id="ProjektId">Projekt1</p> + <button + class="btn btn-default" type="button">Exportiere Zwischenstand</button><button class="btn btn-default" type="button">Quizfrage erstellen</button> + <div> + <div class="container"> + <div class="row"> + <div class="col-md-4"> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th id="testAjax">Gruppe1 </th> + <th>Beiträge </th> + <th> <button id="ProblemGrp1">!</button> </th> + </tr> + </thead> + <tbody> + <tr> + <td>student1 </td> + <td>Interfaces </td> + <th> <button id="ProblemGrp1S1">!</button> </th> + </tr> + <tr> + <td>student2 </td> + <td>Design </td> + <th> <button id="ProblemGrp1S2">!</button> </th> + </tr> + </tbody> + </table> + </div> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe2 </th> + <th>Beiträge </th> + <th> <button id="ProblemGrp2">!</button> </th> + </tr> + </thead> + <tbody> + <tr> + <td>student3 </td> + <td>Interfaces </td> + <th> <button id="ProblemGrp2S3">!</button> </th> + </tr> + <tr> + <td>student4 </td> + <td>Design </td> + <th> <button id="ProblemGrp2S4">!</button> </th> + </tr> + </tbody> + </table> + </div> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe3 </th> + <th>Beiträge </th> + <th> <button id="ProblemGrp3">!</button> </th> + </tr> + </thead> + <tbody> + <tr> + <td>student5 </td> + <td>Interfaces </td> + <th> <button id="ProblemGrp3S5">!</button> </th> + </tr> + <tr> + <td>student6 </td> + <td>Design </td> + <th> <button id="ProblemGrp3S6">!</button> </th> + </tr> + </tbody> + </table> + </div> + </div> + <div class="col-md-4"> + <button id="DiaBlende">Zeitlicher Verlauf</button> + <canvas height="480" width="480", id = "Diagramm" ></canvas> + </div> + <div class="col-md-4"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title">ProjektChat</h3> + </div> + <div class="panel-body" style="height:233px;"> + <ul class="list-group"> + <li class="list-group-item" style="margin-bottom:6px;"> + <div class="media"> + <div class="media-left"><a></a></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Sara Doe:</a> This guy has been going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am </small></p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + <li class="list-group-item" style="margin-bottom:6px;"> + <div class="media"> + <div class="media-left"><a></a></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Brennan Prill:</a> This guy has been going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am </small></p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + </ul><button class="btn btn-default" type="button" style="margin-left:601px;margin-top:-9px;">Add Comment</button></div> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<communication:chatWindow orientation="right"></communication:chatWindow> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/rateContribution.jsp b/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp similarity index 89% rename from gemeinsamforschen/src/main/webapp/pages/rateContribution.jsp rename to gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp index cfda957fd875e6dcc394162b2031fe301bf6ff53..0aca061705cb2590c3787d87c882b86332670268 100644 --- a/gemeinsamforschen/src/main/webapp/pages/rateContribution.jsp +++ b/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp @@ -1,22 +1,22 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script> <script src="https://cdn.rawgit.com/showdownjs/showdown/1.8.5/dist/showdown.min.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css"> - <script src="../assets/js/rateContribution.js"></script> + <script src="js/rateContribution.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <p id="groupId" hidden>Hier steht jetzt das richtige</p> <div class="page-content-wrapper"> <headLine:headLine/> diff --git a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp similarity index 67% rename from gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp rename to gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp index a0c99526f7d16fcef2a3473c6f5d5f098ed016de..78e164752a1ec941a29236c3764412ee3969779b 100644 --- a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp +++ b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp @@ -1,20 +1,20 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/takeQuiz.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/take-quiz.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div> diff --git a/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp similarity index 66% rename from gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp rename to gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp index 8cadd01e748a2be689f85d9fec370d4d97e2d4a6..4fc3d8b85736f8f2aea5b1bcb442acb85147094f 100644 --- a/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp +++ b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp @@ -1,14 +1,14 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/viewQuiz.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/view-quiz.js"></script> </head> @@ -16,7 +16,7 @@ <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div> diff --git a/gemeinsamforschen/src/main/webapp/assets/css/editDescription.css b/gemeinsamforschen/src/main/webapp/assets/css/editDescription.css deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css b/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css deleted file mode 100644 index c595e249f9fd8b449e8bbb725bf0805792135e43..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css +++ /dev/null @@ -1,7 +0,0 @@ -div.tagsinput { border:1px solid #CCC; background: #FFF; padding:5px; width:300px; height:100px; overflow-y: auto;} -div.tagsinput span.tag { border: 1px solid #a5d24a; -moz-border-radius:2px; -webkit-border-radius:2px; display: block; float: left; padding: 5px; text-decoration:none; background: #cde69c; color: #638421; margin-right: 5px; margin-bottom:5px;font-family: helvetica; font-size:13px;} -div.tagsinput span.tag a { font-weight: bold; color: #82ad2b; text-decoration:none; font-size: 11px; } -div.tagsinput input { width:80px; margin:0px; font-family: helvetica; font-size: 13px; border:1px solid transparent; padding:5px; background: transparent; color: #000; outline:0px; margin-right:5px; margin-bottom:5px; } -div.tagsinput div { display:block; float: left; } -.tags_clear { clear: both; width: 100%; height: 0px; } -.not_valid {background: #FBD8DB !important; color: #90111A !important;} diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js b/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js deleted file mode 100644 index 75d87e9ab3437b44784b97cf2e600b636f8b4257..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js +++ /dev/null @@ -1,4 +0,0 @@ -$("#menu-toggle").click(function(e) { - e.preventDefault(); - $("#wrapper").toggleClass("toggled"); -}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/footer.js b/gemeinsamforschen/src/main/webapp/assets/js/footer.js deleted file mode 100644 index 9407ef60d1a1c1af5d8bce6c5dc1e9c1835645bc..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/assets/js/footer.js +++ /dev/null @@ -1,3 +0,0 @@ -$(document).ready(function(){ - -}); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/jquery.tagsinput.js b/gemeinsamforschen/src/main/webapp/assets/js/jquery.tagsinput.js deleted file mode 100644 index b6c75e4dbb7cf0d91e67eb4ed9e4a35d0e058f80..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/assets/js/jquery.tagsinput.js +++ /dev/null @@ -1,390 +0,0 @@ -/* - - jQuery Tags Input Plugin 1.3.3 - - Copyright (c) 2011 XOXCO, Inc - - Documentation for this plugin lives here: - http://xoxco.com/clickable/jquery-tags-input - - Licensed under the MIT license: - http://www.opensource.org/licenses/mit-license.php - - ben@xoxco.com - -*/ - -(function($) { - - var delimiter = new Array(); - var tags_callbacks = new Array(); - $.fn.doAutosize = function(o){ - var minWidth = $(this).data('minwidth'), - maxWidth = $(this).data('maxwidth'), - val = '', - input = $(this), - testSubject = $('#'+$(this).data('tester_id')); - - if (val === (val = input.val())) {return;} - - // Enter new content into testSubject - var escaped = val.replace(/&/g, '&').replace(/\s/g,' ').replace(/</g, '<').replace(/>/g, '>'); - testSubject.html(escaped); - // Calculate new width + whether to change - var testerWidth = testSubject.width(), - newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth, - currentWidth = input.width(), - isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth) - || (newWidth > minWidth && newWidth < maxWidth); - - // Animate width - if (isValidWidthChange) { - input.width(newWidth); - } - - - }; - $.fn.resetAutosize = function(options){ - // alert(JSON.stringify(options)); - var minWidth = $(this).data('minwidth') || options.minInputWidth || $(this).width(), - maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.tagsinput').width() - options.inputPadding), - val = '', - input = $(this), - testSubject = $('<tester/>').css({ - position: 'absolute', - top: -9999, - left: -9999, - width: 'auto', - fontSize: input.css('fontSize'), - fontFamily: input.css('fontFamily'), - fontWeight: input.css('fontWeight'), - letterSpacing: input.css('letterSpacing'), - whiteSpace: 'nowrap' - }), - testerId = $(this).attr('id')+'_autosize_tester'; - if(! $('#'+testerId).length > 0){ - testSubject.attr('id', testerId); - testSubject.appendTo('body'); - } - - input.data('minwidth', minWidth); - input.data('maxwidth', maxWidth); - input.data('tester_id', testerId); - input.css('width', minWidth); - }; - - $.fn.addTag = function(value,options) { - options = jQuery.extend({focus:false,callback:true},options); - this.each(function() { - var id = $(this).attr('id'); - - var tagslist = $(this).val().split(delimiter[id]); - if (tagslist[0] == '') { - tagslist = new Array(); - } - - value = jQuery.trim(value); - - if (options.unique) { - var skipTag = $(this).tagExist(value); - if(skipTag == true) { - //Marks fake input as not_valid to let styling it - $('#'+id+'_tag').addClass('not_valid'); - } - } else { - var skipTag = false; - } - - if (value !='' && skipTag != true) { - $('<span>').addClass('tag').append( - $('<span>').text(value).append(' '), - $('<a>', { - href : '#', - title : 'Removing tag', - text : 'x' - }).click(function () { - return $('#' + id).removeTag(escape(value)); - }) - ).insertBefore('#' + id + '_addTag'); - - tagslist.push(value); - - $('#'+id+'_tag').val(''); - if (options.focus) { - $('#'+id+'_tag').focus(); - } else { - $('#'+id+'_tag').blur(); - } - - $.fn.tagsInput.updateTagsField(this,tagslist); - - if (options.callback && tags_callbacks[id] && tags_callbacks[id]['onAddTag']) { - var f = tags_callbacks[id]['onAddTag']; - f.call(this, value); - } - if(tags_callbacks[id] && tags_callbacks[id]['onChange']) - { - var i = tagslist.length; - var f = tags_callbacks[id]['onChange']; - f.call(this, $(this), tagslist[i-1]); - } - } - - }); - - return false; - }; - - $.fn.removeTag = function(value) { - value = unescape(value); - this.each(function() { - var id = $(this).attr('id'); - - var old = $(this).val().split(delimiter[id]); - - $('#'+id+'_tagsinput .tag').remove(); - str = ''; - for (i=0; i< old.length; i++) { - if (old[i]!=value) { - str = str + delimiter[id] +old[i]; - } - } - - $.fn.tagsInput.importTags(this,str); - - if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) { - var f = tags_callbacks[id]['onRemoveTag']; - f.call(this, value); - } - }); - - return false; - }; - - $.fn.tagExist = function(val) { - var id = $(this).attr('id'); - var tagslist = $(this).val().split(delimiter[id]); - return (jQuery.inArray(val, tagslist) >= 0); //true when tag exists, false when not - }; - - // clear all existing tags and import new ones from a string - $.fn.importTags = function(str) { - var id = $(this).attr('id'); - $('#'+id+'_tagsinput .tag').remove(); - $.fn.tagsInput.importTags(this,str); - } - - $.fn.tagsInput = function(options) { - var settings = jQuery.extend({ - interactive:true, - defaultText:'add a tag', - minChars:0, - width:'300px', - height:'100px', - autocomplete: {selectFirst: false }, - hide:true, - delimiter: ',', - unique:true, - removeWithBackspace:true, - placeholderColor:'#666666', - autosize: true, - comfortZone: 20, - inputPadding: 6*2 - },options); - - var uniqueIdCounter = 0; - - this.each(function() { - // If we have already initialized the field, do not do it again - if (typeof $(this).attr('data-tagsinput-init') !== 'undefined') { - return; - } - - // Mark the field as having been initialized - $(this).attr('data-tagsinput-init', true); - - if (settings.hide) { - $(this).hide(); - } - var id = $(this).attr('id'); - if (!id || delimiter[$(this).attr('id')]) { - id = $(this).attr('id', 'tags' + new Date().getTime() + (uniqueIdCounter++)).attr('id'); - } - - var data = jQuery.extend({ - pid:id, - real_input: '#'+id, - holder: '#'+id+'_tagsinput', - input_wrapper: '#'+id+'_addTag', - fake_input: '#'+id+'_tag' - },settings); - - delimiter[id] = data.delimiter; - - if (settings.onAddTag || settings.onRemoveTag || settings.onChange) { - tags_callbacks[id] = new Array(); - tags_callbacks[id]['onAddTag'] = settings.onAddTag; - tags_callbacks[id]['onRemoveTag'] = settings.onRemoveTag; - tags_callbacks[id]['onChange'] = settings.onChange; - } - - var markup = '<div id="'+id+'_tagsinput" class="tagsinput"><div id="'+id+'_addTag">'; - - if (settings.interactive) { - markup = markup + '<input id="'+id+'_tag" value="" data-default="'+settings.defaultText+'" />'; - } - - markup = markup + '</div><div class="tags_clear"></div></div>'; - - $(markup).insertAfter(this); - - $(data.holder).css('width',settings.width); - $(data.holder).css('min-height',settings.height); - $(data.holder).css('height',settings.height); - - if ($(data.real_input).val()!='') { - $.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val()); - } - if (settings.interactive) { - $(data.fake_input).val($(data.fake_input).attr('data-default')); - $(data.fake_input).css('color',settings.placeholderColor); - $(data.fake_input).resetAutosize(settings); - - $(data.holder).bind('click',data,function(event) { - $(event.data.fake_input).focus(); - }); - - $(data.fake_input).bind('focus',data,function(event) { - if ($(event.data.fake_input).val()==$(event.data.fake_input).attr('data-default')) { - $(event.data.fake_input).val(''); - } - $(event.data.fake_input).css('color','#000000'); - }); - - if (settings.autocomplete_url != undefined) { - autocomplete_options = {source: settings.autocomplete_url}; - for (attrname in settings.autocomplete) { - autocomplete_options[attrname] = settings.autocomplete[attrname]; - } - - if (jQuery.Autocompleter !== undefined) { - $(data.fake_input).autocomplete(settings.autocomplete_url, settings.autocomplete); - $(data.fake_input).bind('result',data,function(event,data,formatted) { - if (data) { - $('#'+id).addTag(data[0] + "",{focus:true,unique:(settings.unique)}); - } - }); - } else if (jQuery.ui.autocomplete !== undefined) { - $(data.fake_input).autocomplete(autocomplete_options); - $(data.fake_input).bind('autocompleteselect',data,function(event,ui) { - $(event.data.real_input).addTag(ui.item.value,{focus:true,unique:(settings.unique)}); - return false; - }); - } - - - } else { - // if a user tabs out of the field, create a new tag - // this is only available if autocomplete is not used. - $(data.fake_input).bind('blur',data,function(event) { - var d = $(this).attr('data-default'); - if ($(event.data.fake_input).val()!='' && $(event.data.fake_input).val()!=d) { - if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) ) - $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)}); - } else { - $(event.data.fake_input).val($(event.data.fake_input).attr('data-default')); - $(event.data.fake_input).css('color',settings.placeholderColor); - } - return false; - }); - - } - // if user types a default delimiter like comma,semicolon and then create a new tag - $(data.fake_input).bind('keypress',data,function(event) { - if (_checkDelimiter(event)) { - event.preventDefault(); - if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) ) - $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)}); - $(event.data.fake_input).resetAutosize(settings); - return false; - } else if (event.data.autosize) { - $(event.data.fake_input).doAutosize(settings); - - } - }); - //Delete last tag on backspace - data.removeWithBackspace && $(data.fake_input).bind('keydown', function(event) - { - if(event.keyCode == 8 && $(this).val() == '') - { - event.preventDefault(); - var last_tag = $(this).closest('.tagsinput').find('.tag:last').text(); - var id = $(this).attr('id').replace(/_tag$/, ''); - last_tag = last_tag.replace(/[\s]+x$/, ''); - $('#' + id).removeTag(escape(last_tag)); - $(this).trigger('focus'); - } - }); - $(data.fake_input).blur(); - - //Removes the not_valid class when user changes the value of the fake input - if(data.unique) { - $(data.fake_input).keydown(function(event){ - if(event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéÃóúÃÉÃÓÚñÑ,/]+/)) { - $(this).removeClass('not_valid'); - } - }); - } - } // if settings.interactive - }); - - return this; - - }; - - $.fn.tagsInput.updateTagsField = function(obj,tagslist) { - var id = $(obj).attr('id'); - $(obj).val(tagslist.join(delimiter[id])); - }; - - $.fn.tagsInput.importTags = function(obj,val) { - $(obj).val(''); - var id = $(obj).attr('id'); - var tags = val.split(delimiter[id]); - for (i=0; i<tags.length; i++) { - $(obj).addTag(tags[i],{focus:false,callback:false}); - } - if(tags_callbacks[id] && tags_callbacks[id]['onChange']) - { - var f = tags_callbacks[id]['onChange']; - f.call(obj, obj, tags[i]); - } - }; - - /** - * check delimiter Array - * @param event - * @returns {boolean} - * @private - */ - var _checkDelimiter = function(event){ - var found = false; - if (event.which == 13) { - return true; - } - - if (typeof event.data.delimiter === 'string') { - if (event.which == event.data.delimiter.charCodeAt(0)) { - found = true; - } - } else { - $.each(event.data.delimiter, function(index, delimiter) { - if (event.which == delimiter.charCodeAt(0)) { - found = true; - } - }); - } - - return found; - } -})(jQuery); diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css b/gemeinsamforschen/src/main/webapp/communication/css/Community-ChatComments.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css rename to gemeinsamforschen/src/main/webapp/communication/css/Community-ChatComments.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Team-Boxed.css b/gemeinsamforschen/src/main/webapp/communication/css/Team-Boxed.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Team-Boxed.css rename to gemeinsamforschen/src/main/webapp/communication/css/Team-Boxed.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/footer.css b/gemeinsamforschen/src/main/webapp/core/footer.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/footer.css rename to gemeinsamforschen/src/main/webapp/core/footer.css diff --git a/gemeinsamforschen/src/main/webapp/core/footer.js b/gemeinsamforschen/src/main/webapp/core/footer.js new file mode 100644 index 0000000000000000000000000000000000000000..6875866f0675741797ba62d75e5e2538556dfe19 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/core/footer.js @@ -0,0 +1,6 @@ +$(document).ready(function(){ + $('#btnUnstructuredUpload').click(function () { + location.href="annotation/upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + }); + +}); diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld similarity index 77% rename from gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld rename to gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld index b32f459cea3a6a036b622c85cb47749d45a1d3a0..75ee5e5eeb4c94f178e786d9b95ee3c079c21d34 100644 --- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld +++ b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld @@ -13,6 +13,11 @@ <name>menu</name> <tag-class>unipotsdam.gf.core.management.pageAppearance.Menu</tag-class> <body-content>empty</body-content> + <attribute> + <name>hierarchy</name> + <required>yes</required> + <rtexprvalue>no</rtexprvalue> + </attribute> </tag> <tag> @@ -23,19 +28,24 @@ <tag> <name>omniDependencies</name> - <tag-class>unipotsdam.gf.core.management.pageAppearance.omniDependencies</tag-class> + <tag-class>unipotsdam.gf.core.management.pageAppearance.OmniDependencies</tag-class> <body-content>empty</body-content> + <attribute> + <name>hierarchy</name> + <required>yes</required> + <rtexprvalue>no</rtexprvalue> + </attribute> </tag> <tag> <name>headLine</name> - <tag-class>unipotsdam.gf.core.management.pageAppearance.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.pageAppearance.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/assets/js/overview-docent.js b/gemeinsamforschen/src/main/webapp/core/overview-docent.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js rename to gemeinsamforschen/src/main/webapp/core/overview-docent.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/overview-student.js b/gemeinsamforschen/src/main/webapp/core/overview-student.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/overview-student.js rename to gemeinsamforschen/src/main/webapp/core/overview-student.js diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig deleted file mode 100644 index 24e3cda55c35f4136e26d14751eee2747723d997..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig +++ /dev/null @@ -1,40 +0,0 @@ -<taglib> - <tlib-version>1.0</tlib-version> - <jsp-version>2.0</jsp-version> - <short-name>hiddenUserTag</short-name> - - <tag> - <name>hiddenUserTag</name> - <tag-class>unipotsdam.gf.core.management.user.HiddenUserTag</tag-class> - <body-content>empty</body-content> - </tag> - - <tag> - <name>menu</name> - <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.pageAppearance.headLine</tag-class> -======= - <name>session</name> - <tag-class>unipotsdam.gf.core.session.SessionTag</tag-class> ->>>>>>> origin/session_management - <body-content>empty</body-content> - </tag> - - <tag> -<<<<<<< HEAD - <name>omniDependencies</name> - <tag-class>unipotsdam.gf.core.management.pageAppearance.omniDependencies</tag-class> -======= - <name>context</name> - <tag-class>unipotsdam.gf.core.session.ContextTag</tag-class> ->>>>>>> origin/session_management - <body-content>empty</body-content> - </tag> - -</taglib> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js.orig b/gemeinsamforschen/src/main/webapp/core/project-student.js similarity index 80% rename from gemeinsamforschen/src/main/webapp/assets/js/project-student.js.orig rename to gemeinsamforschen/src/main/webapp/core/project-student.js index 91e62e10ffcba41e1d9200d943e1ae662256b591..8c7642ebeff55680cc523f7e27005087a29082a6 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js.orig +++ b/gemeinsamforschen/src/main/webapp/core/project-student.js @@ -1,7 +1,7 @@ $(document).ready(function(){ // fetch all submission part project representations from database getSubmissionPartsByProjectId(getQueryVariable("projectId"), function (response) { - + // iterate over response and display each element for (let i = 0; i < response.length; i++) { displaySubmission(response[i].user, response[i].category, response[i].fullSubmissionId); @@ -11,12 +11,12 @@ $(document).ready(function(){ $('.annotationview').click(function () { let fullSubmissionId = $(this).closest("li").data("fullSubmissionId"); let category = $(this).closest("li").data("category"); - location.href="annotation-document.jsp?token=" + getUserTokenFromUrl() + + location.href="annotation/annotation-document.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId") + "&fullSubmissionId=" + fullSubmissionId + "&category=" + category; }); - + }, function () { // display empty view displayEmptyView() @@ -30,20 +30,16 @@ $(document).ready(function(){ }); */ $('.givefeedback').click(function () { - location.href="givefeedback.jsp?token="+getUserTokenFromUrl(); + location.href="feedback/give-feedback.jsp?token="+getUserTokenFromUrl(); }); $('.viewfeedback').click(function () { - location.href="viewfeedback.jsp?token="+getUserTokenFromUrl(); + location.href="feedback/view-feedback.jsp?token="+getUserTokenFromUrl(); }); $('.annotationview').click(function () { - location.href="annotation-document.jsp?token="+getUserTokenFromUrl(); + location.href="annotation/annotation-document.jsp?token="+getUserTokenFromUrl(); }); - $('#btnUnstructuredUpload').click(function () { - location.href="unstructured-upload.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); - }) - $('.viewprojectstudent').click(function () { location.href="project-student.jsp?token="+getUserTokenFromUrl(); }) @@ -62,10 +58,10 @@ function displaySubmission(user, category, fullSubmissionId) { $('<li>') .append($('<span>').append(category.toUpperCase() + " eingereicht")) .append($('<a>').attr("class", "annotationview").attr("role", "button") - .append($('<label>').css("font-size", "10px") - .append($('<i>').attr("class", "far fa-comments").css("font-size", "15px")) - .append("feedback") - ) + .append($('<label>').css("font-size", "10px") + .append($('<i>').attr("class", "far fa-comments").css("font-size", "15px")) + .append("feedback") + ) ) // add data to link .data("fullSubmissionId", fullSubmissionId) diff --git a/gemeinsamforschen/src/main/webapp/assets/js/utility.js b/gemeinsamforschen/src/main/webapp/core/utility.js similarity index 67% rename from gemeinsamforschen/src/main/webapp/assets/js/utility.js rename to gemeinsamforschen/src/main/webapp/core/utility.js index 3f21a38cd0eb8e61357a783869a2db3cc4e4f57d..334fdd7dbe9cace9e66a922b3e05773135a192d6 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/utility.js +++ b/gemeinsamforschen/src/main/webapp/core/utility.js @@ -2,7 +2,9 @@ $(document).ready(function(){ $('#headLineProject').html($('#projectId').html()); $('#logout').click(function(){ //todo: delete cookies / reset session - document.location="../index.jsp"; + let target = "index.jsp"; + let link = changeLocationTo(target); + document.location=link; }); $('#assessment').click(function(){ checkAssessementPhase(); @@ -12,6 +14,13 @@ $(document).ready(function(){ }); }); +function changeLocationTo(target) { + let level = $('#hierarchyLevel').html().trim(); + let link = calculateHierachy(level) + target; + return link; +} + + function goBack() { window.history.back(); } @@ -29,19 +38,19 @@ function checkAssessementPhase(){ success: function (phase) { switch (phase){ case "workRating":{ - document.location="finalAssessment.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim(); + changeLocationTo("finalAssessment.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim()); break; } case "quiz":{ - location.href = "takeQuiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim(); + changeLocationTo("take-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim()); break; } case "contributionRating":{ - location.href = "rateContribution.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim(); + changeLocationTo("rate-contribution.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim()); break; } case "done":{ - location.href = "project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim(); + changeLocationTo("project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim()); break; } } @@ -73,3 +82,19 @@ function getQueryVariable(variable) { } return (false); } + + + +function calculateHierachy(level) { + + if (level == 0) { + + return ""; + + } else { + + return calculateHierachy(level-1)+"../"; + + } + +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createProject.js b/gemeinsamforschen/src/main/webapp/course/js/createProject.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createProject.js rename to gemeinsamforschen/src/main/webapp/course/js/createProject.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/enrollProject.js b/gemeinsamforschen/src/main/webapp/course/js/enrollProject.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/enrollProject.js rename to gemeinsamforschen/src/main/webapp/course/js/enrollProject.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/showProjects.js b/gemeinsamforschen/src/main/webapp/course/js/showProjects.js similarity index 93% rename from gemeinsamforschen/src/main/webapp/assets/js/showProjects.js rename to gemeinsamforschen/src/main/webapp/course/js/showProjects.js index ec4771b77b5e0cad7aec62634f303cd254241f7e..ff687d3f310be2d92ae07cc89f27192ce1b194f5 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/showProjects.js +++ b/gemeinsamforschen/src/main/webapp/course/js/showProjects.js @@ -35,7 +35,7 @@ function seeProject(projectName) { $("#projectIsMissing").show(); } else { if (response !== "wrong password") { //if response !== project missing and not wrong password, its the projectToken - location.href="preferences.php?token="+getUserTokenFromUrl()+"&projectToken="+response; + location.href="enter-preferences.jsp?token="+getUserTokenFromUrl()+"&projectToken="+response; } else { $("#projectIsMissing").hide(); $('#projectWrongPassword').show(); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/specificRequirement.js b/gemeinsamforschen/src/main/webapp/course/js/specificRequirement.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/specificRequirement.js rename to gemeinsamforschen/src/main/webapp/course/js/specificRequirement.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/specificSkills.js b/gemeinsamforschen/src/main/webapp/course/js/specificSkills.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/specificSkills.js rename to gemeinsamforschen/src/main/webapp/course/js/specificSkills.js diff --git a/gemeinsamforschen/src/main/webapp/assets/css/viewfeedback.css b/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/viewfeedback.css rename to gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css diff --git a/gemeinsamforschen/src/main/webapp/pages/givefeedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp similarity index 85% rename from gemeinsamforschen/src/main/webapp/pages/givefeedback.jsp rename to gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp index 688a5df9105e5918f12ae6464bf5f483f868a37b..365f23b121e96b5df7443a4a4d105ef9e85cff92 100644 --- a/gemeinsamforschen/src/main/webapp/pages/givefeedback.jsp +++ b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp @@ -1,7 +1,8 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> @@ -22,27 +23,25 @@ <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script> <script src="https://cdn.rawgit.com/showdownjs/showdown/1.8.5/dist/showdown.min.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css"> - <script src="../assets/js/utility.js"></script> - <script src="../assets/js/project-student.js"></script> + <script src="js/utility.js"></script> + <script src="js/project-student.js"></script> <link rel="stylesheet" type="text/css" href="../assets/css/editDescription.css"> - <script src="../assets/js/jquery.min.js"></script> + <script src="js/jquery.min.js"></script> <script src="../assets/bootstrap/js/bootstrap.min.js"></script> - <script src="../assets/js/Sidebar-Menu.js"></script> - <script src="../assets/js/editDescription.js"></script> + <script src="js/Sidebar-Menu.js"></script> + <script src="js/create-journal.js"></script> --%> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css"> <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script> - <link rel="stylesheet" type="text/css" href="../assets/css/create-journal.css"> - <script src="../assets/js/utility.js"></script> - <script src="../assets/js/project-student.js"></script> - <script src="../assets/js/peerfeedback.js"></script> - <omniDependencies:omniDependencies/> + <link rel="stylesheet" type="text/css" href="../journal/css/create-journal.css"> + <script src="js/peerfeedback.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div> @@ -137,12 +136,8 @@ </table> </div> </div> + <footer:footer/> </div> - -<script src="../assets/js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="../assets/js/Sidebar-Menu.js"></script> -<script src="../assets/js/createJournal.js"></script> </body> </html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/givepeerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/givepeerfeedback.js rename to gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/peerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js similarity index 94% rename from gemeinsamforschen/src/main/webapp/assets/js/peerfeedback.js rename to gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js index beb297c9c329233a74183dbcd35034cd89be3106..05bf9979063190089e21d01a32965c6d9016fa71 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/peerfeedback.js +++ b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js @@ -49,7 +49,7 @@ $(document).ready(function() { });*/ //console.log(data); - location.href="givefeedback.jsp?token=" + getUserTokenFromUrl(); + location.href="give-feedback.jsp?token=" + getUserTokenFromUrl(); alert("Feedback wurde gesendet!"); }); }) \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/viewfeedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp similarity index 90% rename from gemeinsamforschen/src/main/webapp/pages/viewfeedback.jsp rename to gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp index d444f858ad4ac0803d6d99e233a90ed4e809144b..b50e9f8921415b4e5fa7a16715c054c34045166e 100644 --- a/gemeinsamforschen/src/main/webapp/pages/viewfeedback.jsp +++ b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp @@ -1,23 +1,22 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> <head> - <link rel="stylesheet" href="../assets/css/viewfeedback.css"> - <omniDependencies:omniDependencies/> - <script src="../assets/js/utility.js"></script> - <script src="../assets/js/project-student.js"></script> - <script src="../assets/js/givepeerfeedback.js"></script> + <link rel="stylesheet" href="css/viewfeedback.css"> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/givepeerfeedback.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div class="container-fluid"> @@ -115,7 +114,7 @@ <div></div> <div class="media-body"> <div class="media" style="overflow:visible;"> - <div><img src="../assets/img/1.jpg" class="mr-3" + <div><img src="../libs/img/1.jpg" class="mr-3" style="width: 25px; height:25px;"></div> <div class="media-body" style="overflow:visible;"> <div class="row"> @@ -137,7 +136,7 @@ <div></div> <div class="media-body"> <div class="media" style="overflow:visible;"> - <div><img src="../assets/img/2.jpg" class="mr-3" + <div><img src="../libs/img/2.jpg" class="mr-3" style="width: 25px; height:25px;"></div> <div class="media-body" style="overflow:visible;"> <div class="row"> @@ -165,11 +164,8 @@ </table> </div> </div> + <footer:footer/> </div> - -<script src="../assets/js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="../assets/js/Sidebar-Menu.js"></script> </body> </html> diff --git a/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp new file mode 100644 index 0000000000000000000000000000000000000000..2959e4b75e27810fe9d5a60dfcb722cb27916017 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp @@ -0,0 +1,24 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> + +<html> +<head> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/changePhase.js"></script> +</head> + +<body> +<div id="wrapper"> + <menu:menu hierarchy="1"/> + <div class="page-content-wrapper"> + <headLine:headLine/> + student1<br> + student2<br> + <br> + in Gruppe 1 2 3 + </div> +</div> +</body> +</html> diff --git a/gemeinsamforschen/src/main/webapp/pages/view_groupfinding_docent.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_groupfinding_docent.html similarity index 100% rename from gemeinsamforschen/src/main/webapp/pages/view_groupfinding_docent.html rename to gemeinsamforschen/src/main/webapp/groupfinding/view_groupfinding_docent.html diff --git a/gemeinsamforschen/src/main/webapp/pages/view_start_groupfinding.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_start_groupfinding.html similarity index 100% rename from gemeinsamforschen/src/main/webapp/pages/view_start_groupfinding.html rename to gemeinsamforschen/src/main/webapp/groupfinding/view_start_groupfinding.html diff --git a/gemeinsamforschen/src/main/webapp/pages/view_student_criteriachoice.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_student_criteriachoice.html similarity index 100% rename from gemeinsamforschen/src/main/webapp/pages/view_student_criteriachoice.html rename to gemeinsamforschen/src/main/webapp/groupfinding/view_student_criteriachoice.html diff --git a/gemeinsamforschen/src/main/webapp/index.jsp b/gemeinsamforschen/src/main/webapp/index.jsp index 9af1d0e1043f1f5eb65ebcf07875971e42da3cfa..106ee11fefa8b5cd15602d2959dae85c1caf36e2 100644 --- a/gemeinsamforschen/src/main/webapp/index.jsp +++ b/gemeinsamforschen/src/main/webapp/index.jsp @@ -6,22 +6,22 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>gemeinsam Forschen</title> - <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css"> + <link rel="stylesheet" href="libs/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700"> - <link rel="stylesheet" href="assets/css/Login-Form-Clean.css"> - <link rel="stylesheet" href="assets/css/Navigation-with-Button1.css"> - <link rel="stylesheet" href="assets/css/Sidebar-Menu.css"> - <link rel="stylesheet" href="assets/css/Sidebar-Menu1.css"> + <link rel="stylesheet" href="libs/css/Login-Form-Clean.css"> + <link rel="stylesheet" href="libs/css/Navigation-with-Button1.css"> + <link rel="stylesheet" href="libs/css/Sidebar-Menu.css"> + <link rel="stylesheet" href="libs/css/Sidebar-Menu1.css"> - <script src="assets/js/jquery.min.js"></script> - <script src="assets/bootstrap/js/bootstrap.min.js"></script> + <script src="libs/jquery/jquery.min.js"></script> + <script src="libs/bootstrap/js/bootstrap.min.js"></script> </head> <body> <div class="login-clean"> <form method="post" action="./rest/user/exists"> <h2 class="sr-only">Login Formular</h2> - <div class="illustration"><img src="assets/img/fides-logo.svg"></div> + <div class="illustration"><img src="libs/img/fides-logo.svg"></div> <div class="form-group"><input class="form-control" type="email" name="email" placeholder="Email" autofocus> </div> <div class="form-group"><input class="form-control" type="password" name="password" placeholder="Password"> diff --git a/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp similarity index 86% rename from gemeinsamforschen/src/main/webapp/pages/createJournal.jsp rename to gemeinsamforschen/src/main/webapp/journal/create-journal.jsp index 047334f69717c358580fb58b3fc6eeff0d370094..b0ef3c22a845dff010801d563acb9f4dcffd34e2 100644 --- a/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp +++ b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp @@ -1,5 +1,5 @@ -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> @@ -8,13 +8,14 @@ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css"> <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script> - <link rel="stylesheet" type="text/css" href="../assets/css/create-journal.css"> - <omniDependencies:omniDependencies/> + <link rel="stylesheet" type="text/css" href="css/create-journal.css"> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/create-journal.js"></script> </head> <body> <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <div class="container-fluid"> @@ -34,7 +35,7 @@ <td id="yourContent"> <h1> Tagebucheintrag erstellen </h1> - <form id="journalform" class="form-journal" method="POST" action="../rest/journal/save"> + <form id="journalform" class="form-journal" method="POST" action="rest/journal/save"> <input type="hidden" id="student" name="student"> <input type="hidden" id="project" name="project"> @@ -86,11 +87,6 @@ </div> </div> </div> - -<script src="../assets/js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="../assets/js/Sidebar-Menu.js"></script> -<script src="../assets/js/createJournal.js"></script> </body> </html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/css/create-journal.css b/gemeinsamforschen/src/main/webapp/journal/css/create-journal.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/create-journal.css rename to gemeinsamforschen/src/main/webapp/journal/css/create-journal.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/e-portfolio.css b/gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/e-portfolio.css rename to gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css diff --git a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp similarity index 92% rename from gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp rename to gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp index ee473b420b8267986da32c0ed60a0d5543578e02..a21688a5c34091aaac8ce8a104ac5072fab92fb3 100644 --- a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp +++ b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp @@ -1,19 +1,20 @@ -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <link rel="stylesheet" href="../assets/css/e-portfolio.css"> - <omniDependencies:omniDependencies/> + <link rel="stylesheet" href="css/eportfolio.css"> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/eportfolio.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <div class="container-fluid"> @@ -152,11 +153,6 @@ </div> </div> </div> - -<script src="../assets/js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="../assets/js/Sidebar-Menu.js"></script> -<script src="../assets/js/e-portfolio.js"></script> </body> </html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/editDescription.js b/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/editDescription.js rename to gemeinsamforschen/src/main/webapp/journal/js/create-journal.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js similarity index 92% rename from gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js rename to gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js index 7ec0e356f132d559afe80381f3bd10cd1f7f79fb..c62bb17492bd881c8c3647f7cb76ac1c444fe88c 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js +++ b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js @@ -38,11 +38,11 @@ $(document).ready(function() { }); $('#editDescriptionLink').on('click', function () { - location.href = "editDescription.jsp?project=" + project + "&token=" + student + "&projectId=" + project; + location.href = "edit-project.jsp?project=" + project + "&token=" + student + "&projectId=" + project; }); $('#createJournalLink').on('click', function () { - location.href = "createJournal.jsp?token=" + student + "&projectId=" + project; + location.href = "create-journal.jsp?token=" + student + "&projectId=" + project; }); }); @@ -95,7 +95,7 @@ function loadJournals(data) { //TODO userToken... if (data[journal].studentIdentifier.studentId == student && data[journal].open) { journalString = journalString + - '<a class="btn btn-default btn-sm" href="createJournal.jsp?token=' + student + '&projectId=' + project + '&journal=' + data[journal].id + '"><i class="fa fa-pencil"></i> Bearbeiten</a>' + + '<a class="btn btn-default btn-sm" href="create-journal.jsp?token=' + student + '&projectId=' + project + '&journal=' + data[journal].id + '"><i class="fa fa-pencil"></i> Bearbeiten</a>' + '<a class="open-CloseJournalDialog btn btn-default btn-sm" data-toggle="modal" data-id =' + data[journal].id + ' data-target ="#closeJournalModal" > <i class="fa fa-check-square" aria-hidden = "true" ></i> Abschließen</a> ' diff --git a/gemeinsamforschen/src/main/webapp/jsexample.html b/gemeinsamforschen/src/main/webapp/jsexample.html deleted file mode 100644 index 1446e1e77948e200b185b78fb8051afc0e40a6d6..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/jsexample.html +++ /dev/null @@ -1,17 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>JSexample</title> - - <script src="http://code.jquery.com/jquery-3.3.1.min.js" - integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" - crossorigin="anonymous"></script> - <script src="munchkin/js/munschkinloader.js" type="application/javascript"></script> -</head> -<body> -Hi Munschkinlieberhaber - -<div id="munschkin"></div> -</body> -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/bootstrap/css/bootstrap.min.css b/gemeinsamforschen/src/main/webapp/libs/bootstrap/css/bootstrap.min.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/bootstrap/css/bootstrap.min.css rename to gemeinsamforschen/src/main/webapp/libs/bootstrap/css/bootstrap.min.css diff --git a/gemeinsamforschen/src/main/webapp/assets/bootstrap/js/bootstrap.min.js b/gemeinsamforschen/src/main/webapp/libs/bootstrap/js/bootstrap.min.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/bootstrap/js/bootstrap.min.js rename to gemeinsamforschen/src/main/webapp/libs/bootstrap/js/bootstrap.min.js diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Customizable-Carousel-swipe-enabled.css b/gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Customizable-Carousel-swipe-enabled.css rename to gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.css diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Customizable-Carousel-swipe-enabled.js b/gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/Customizable-Carousel-swipe-enabled.js rename to gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.js diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Contact-Form-Clean.css b/gemeinsamforschen/src/main/webapp/libs/css/Contact-Form-Clean.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Contact-Form-Clean.css rename to gemeinsamforschen/src/main/webapp/libs/css/Contact-Form-Clean.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Login-Form-Clean.css b/gemeinsamforschen/src/main/webapp/libs/css/Login-Form-Clean.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Login-Form-Clean.css rename to gemeinsamforschen/src/main/webapp/libs/css/Login-Form-Clean.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table.css b/gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table.css rename to gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table1.css b/gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table1.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table1.css rename to gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table1.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Navigation-with-Button1.css b/gemeinsamforschen/src/main/webapp/libs/css/Navigation-with-Button1.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Navigation-with-Button1.css rename to gemeinsamforschen/src/main/webapp/libs/css/Navigation-with-Button1.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css b/gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu-1.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css rename to gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu-1.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu.css b/gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu.css rename to gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu1.css b/gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu1.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu1.css rename to gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu1.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/styles.css b/gemeinsamforschen/src/main/webapp/libs/css/styles.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/styles.css rename to gemeinsamforschen/src/main/webapp/libs/css/styles.css diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/FontAwesome.otf b/gemeinsamforschen/src/main/webapp/libs/fonts/FontAwesome.otf similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/FontAwesome.otf rename to gemeinsamforschen/src/main/webapp/libs/fonts/FontAwesome.otf diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/font-awesome.min.css b/gemeinsamforschen/src/main/webapp/libs/fonts/font-awesome.min.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/font-awesome.min.css rename to gemeinsamforschen/src/main/webapp/libs/fonts/font-awesome.min.css diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.eot b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.eot similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.eot rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.eot diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.svg b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.svg similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.svg rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.svg diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.ttf b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.ttf similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.ttf rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.ttf diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff2 b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff2 similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff2 rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff2 diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.eot b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.eot similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.eot rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.eot diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.min.css b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.min.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.min.css rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.min.css diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.svg b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.svg similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.svg rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.svg diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.ttf b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.ttf similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.ttf rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.ttf diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.woff b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.woff similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.woff rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.woff diff --git a/gemeinsamforschen/src/main/webapp/assets/img/1.jpg b/gemeinsamforschen/src/main/webapp/libs/img/1.jpg similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/img/1.jpg rename to gemeinsamforschen/src/main/webapp/libs/img/1.jpg diff --git a/gemeinsamforschen/src/main/webapp/assets/img/2.jpg b/gemeinsamforschen/src/main/webapp/libs/img/2.jpg similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/img/2.jpg rename to gemeinsamforschen/src/main/webapp/libs/img/2.jpg diff --git a/gemeinsamforschen/src/main/webapp/assets/img/3.jpg b/gemeinsamforschen/src/main/webapp/libs/img/3.jpg similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/img/3.jpg rename to gemeinsamforschen/src/main/webapp/libs/img/3.jpg diff --git a/gemeinsamforschen/src/main/webapp/assets/img/fides-logo.svg b/gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/img/fides-logo.svg rename to gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg diff --git a/gemeinsamforschen/src/main/webapp/assets/img/noImg.png b/gemeinsamforschen/src/main/webapp/libs/img/noImg.png similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/img/noImg.png rename to gemeinsamforschen/src/main/webapp/libs/img/noImg.png diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/.gitignore b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/.gitignore similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/.gitignore rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/.gitignore diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/Gruntfile.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/Gruntfile.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/Gruntfile.js rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/Gruntfile.js diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/README.md b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/README.md similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/README.md rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/README.md diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/bower.json b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/bower.json similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/bower.json rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/bower.json diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/example.html b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/example.html similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/example.html rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/example.html diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/assets_production.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/assets_production.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/assets_production.js rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/assets_production.js diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/package.json b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/package.json similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/package.json rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/package.json diff --git a/gemeinsamforschen/src/main/webapp/assets/css/jquery.tagsinput.css b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/jquery.tagsinput.css rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.css diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.js rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.js diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_json_endpoint.html b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_json_endpoint.html similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_json_endpoint.html rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_json_endpoint.html diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html diff --git a/gemeinsamforschen/src/main/webapp/assets/js/jquery.min.js b/gemeinsamforschen/src/main/webapp/libs/jquery/jquery.min.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/jquery.min.js rename to gemeinsamforschen/src/main/webapp/libs/jquery/jquery.min.js diff --git a/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp similarity index 70% rename from gemeinsamforschen/src/main/webapp/pages/changePhase.jsp rename to gemeinsamforschen/src/main/webapp/management/change-phase.jsp index c3d7c07a1f47ed3e1a855ef454dca240d92fb8c7..33d0d5a0b53caa9ce310020bd409c48771c49b0d 100644 --- a/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp +++ b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp @@ -1,22 +1,22 @@ <%@ page contentType="text/html;charset=UTF-8" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/changePhase.js"></script> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/changePhase.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> - <div class="alert"id="CourseCreation"> + <div class="alert" id="CourseCreation"> <button id="btnCourseCreation" class="btn btn-secondary">Projekterstellungsphase</button> </div> <div class="alert" id="GroupFormation"> diff --git a/gemeinsamforschen/src/main/webapp/management/create-project.jsp b/gemeinsamforschen/src/main/webapp/management/create-project.jsp new file mode 100644 index 0000000000000000000000000000000000000000..25502138aedc9b9c27cbc79de1aa93347ea12bac --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/create-project.jsp @@ -0,0 +1,86 @@ +<%-- + Created by IntelliJ IDEA. + User: dehne + Date: 12.09.2018 + Time: 12:06 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<!DOCTYPE html> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> + +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Projekterstellung</title> + <script src="js/config.js"></script> + <script src="js/newProject.js"></script> +</head> + +<body> +<p id="user" hidden><?php echo $userName; ?></p> + +<div class="loader-inactive" id="loader"> + <div class="sk-cube1 sk-cube"></div> + <div class="sk-cube2 sk-cube"></div> + <div class="sk-cube4 sk-cube"></div> + <div class="sk-cube3 sk-cube"></div> +</div> + +<div id="wrapper"> + <menu:menu hierarchy="1"/> + <div class="page-content-wrapper"> + <div class="container-fluid"> + <div class="row"> + <div class="col-md-12"> + <div> + <p></p> + <h3> Erstellen Sie ein neues Projekt.</h3> + </div> + </div> + </div> + </div> + </div> + <div class="contact-clean"> + <p>Name des Projekts</p> + <div class="alert alert-danger" role="alert" style="width:475px" id="projectNameExists"> + Dieser Projektname exisitiert bereits. + </div> + <div class="alert alert-danger" role="alert" style="width:475px" id="exactNumberOfTags"> + Es müssen genau 5 Tags eingegeben werden. + </div> + <div class="alert alert-danger" role="alert" style="width:475px" id="specialChars"> + Der Projektname darf keine Sonderzeichen enthalten. + </div> + <div class="alert alert-danger" role="alert" style="width:475px" id="projectIsMissing"> + Tragen sie einen Projektnamen ein. + </div> + <div class="form-group"><input class="form-control" name="name" placeholder="Name" + style="width:286px;margin-left:50px;" id="nameProject"></div> + <p> Passwort zum Teilnehmen (optional) </p> + <div class="form-group"><input class="form-control" name="password" placeholder="Passwort" + style="width:287px;margin-left:51px;" id="passwordProject"></div> + <p> Passwort zum Löschen (sonst: 1234) </p> + <div class="form-group"><input class="form-control" name="adminpassword" placeholder="Passwort" + style="width:287px;margin-left:51px;" id="adminPassword"></div> + <p>Tags </p> + <div id="tagHelper" class="alert alert-warning" style="width:475px;"> + Fügen sie zudem 5 Tags zu ihrem Projekt hinzu, welche ihr Projekt inhaltlich umreißen. + </div> + <div class="form-group"><input class="tags" data-role="tags" name="Tags" placeholder="Tags" + id="tagsProject"> + </div> + <label>An Kurs selbst teilnehmen <input type="checkbox" id="Teilnehmer"></label> + + <div class="form-group"> + <button class="btn btn-primary" style="margin-left:129px;" id="sendProject">erstellen</button> + </div> + </div> +</div> + +</body> + +</html> diff --git a/gemeinsamforschen/src/main/webapp/assets/css/projects.css b/gemeinsamforschen/src/main/webapp/management/css/projects.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/projects.css rename to gemeinsamforschen/src/main/webapp/management/css/projects.css diff --git a/gemeinsamforschen/src/main/webapp/management/delete-project.jsp b/gemeinsamforschen/src/main/webapp/management/delete-project.jsp new file mode 100644 index 0000000000000000000000000000000000000000..d3cdd4cd3007f94d77cd5e1fa913d67a1fb816f3 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/delete-project.jsp @@ -0,0 +1,60 @@ +<%-- + Created by IntelliJ IDEA. + User: dehne + Date: 12.09.2018 + Time: 12:06 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" %> +<!DOCTYPE html> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> +<html> +<head> + <omniDependencies:omniDependencies hierarchy="1"/> + <script src="js/config.js"></script> + <script src="js/deleteProject.js"></script> + +</head> + +<body> +<div class="loader-inactive" id="loader"></div> +<div id="wrapper" class="wrapper"> + <menu:menu hierarchy="1"/> + <div class="page-content-wrapper"> + <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a> + <div class="row"> + <div class="col-md-12"> + <h3>Projekt löschen! </h3> + <div class="page-header"></div> + </div> + </div> + </div> + </div> + <fieldset> + <legend style="margin-left:13px;">Projektnamen</legend> + <input class="form-control" type="text" id="projectName" name="Project" required="" + placeholder="Projekt1" autofocus="" + style="max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;"> + <div class="alert alert-warning" role="alert" id="projectIsMissing"> + Dieser Projektname existiert nicht oder das Passwort ist falsch. + </div> + + </fieldset> + <fieldset> + <legend style="margin-left:13px;">Passwort zum löschen</legend> + <input class="form-control" type="password" id="projectPassword" name="Password" required="" + placeholder="******" + style="max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;"> + <div class="alert alert-warning" role="alert" id="projectWrongPassword"> + Falsches Passwort. + </div> + </fieldset> + <button id="deleteProject" class="btn btn-danger">löschen</button> + <footer:footer/> +</div> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp b/gemeinsamforschen/src/main/webapp/management/edit-project.jsp similarity index 79% rename from gemeinsamforschen/src/main/webapp/pages/editDescription.jsp rename to gemeinsamforschen/src/main/webapp/management/edit-project.jsp index 5a5bd034793617af707358b3a968d004002cfec1..3e585224e3c6229b6c96f9f8a5172ac52dac98ea 100644 --- a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp +++ b/gemeinsamforschen/src/main/webapp/management/edit-project.jsp @@ -1,5 +1,5 @@ -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> @@ -9,13 +9,13 @@ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css"> <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script> <link rel="stylesheet" type="text/css" href="../assets/css/editDescription.css"> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> </head> <body> <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <div class="container-fluid"> @@ -34,7 +34,7 @@ <td id="yourContent"> <h1> Projektbeschreibung bearbeiten </h1> - <form id="descriptionform" class="form-journal" method="POST" action="../rest/projectdescription/saveText"> + <form id="descriptionform" class="form-journal" method="POST" action="rest/projectdescription/saveText"> <input type="hidden" id="student" name="student"> <input type="hidden" id="project" name="project"> @@ -59,11 +59,7 @@ </div> </div> </div> - -<script src="../assets/js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="../assets/js/Sidebar-Menu.js"></script> -<script src="../assets/js/editDescription.js"></script> +<script src="js/editDescription.js"></script> </body> </html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp b/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp new file mode 100644 index 0000000000000000000000000000000000000000..f5aaa888d4c2664f520a8b6e8ce37ba7b45e41b4 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp @@ -0,0 +1,93 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Gruppenmatcher</title> + <script src="js/config.js"></script> + <script src="js/createPreferences.js"></script> +</head> +<body> + + +<p id="user" hidden><?php echo $userName; ?></p> +<p id="projectName" hidden><?php echo $projectName; ?></p> +<div class="loader-inactive" id="loader"> + <div class="sk-cube1 sk-cube"></div> + <div class="sk-cube2 sk-cube"></div> + <div class="sk-cube4 sk-cube"></div> + <div class="sk-cube3 sk-cube"></div> +</div> +<div id="wrapper" class="wrapper"> + <?php + include_once 'menu.php' + ?> + <div class="page-content-wrapper"> + <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a> + <div class="row"> + <div class="col-md-12"> + <h3>Geben Sie hier ihre Präferenzen für das Projekt <?php echo $projectName; ?> ein!</h3> + <div class="page-header"></div> + </div> + </div> + </div> + </div> + + <fieldset> + <legend style="margin-left:13px;">Lernziele</legend> + <div id="competencies"> + <input class="form-control" type="text" id="competencies0" name="competencies" required="" + placeholder="Ich möchte folgendes lernen:" + style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;"> + </div> + <button + class="btn btn-default" type="button" + style="margin-left:443px;margin-top:-88px;height:36px;width:33px;" + id="addCompetenceButton">+ + </button> + <button + class="btn btn-default" type="button" + style="margin-left:10px;margin-top:-88px;height:36px;width:33px;" + id="subtractCompetenceButton">- + </button> + + </fieldset> + <fieldset style="margin-bottom:-3px;"> + <legend style="margin-left:13px;">Forschungsfrage</legend> + <div id="researchQuestion"> + <input class="form-control" id="researchQuestion0" type="text" name="researchQuestion" required="" + placeholder="Meine Forschungsfrage(n): " + style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;"> + </div> + <button class="btn btn-default" type="button" + style="margin-left:443px;margin-top:-88px;height:36px;width:33px;" + id="addResearchQuestionButton">+ + </button> + <button + class="btn btn-default" type="button" + style="margin-left:10px;margin-top:-88px;height:36px;width:33px;" + id="subtractCResearchQuestionButton">- + </button> + </fieldset> + <fieldset> + <legend style="margin-left:13px;">Tags</legend> + <p class="alert alert-warning" style="width:520px;">Wähle 2 der hier angegebenen Tags aus, die am ehesten zu deiner Forschungsfrage passen.</p> + <div id="tags"> + + </div> + </fieldset> + <button class="btn btn-primary" id="studentFormSubmit" style="width:90px;margin-left:169px;margin-top:13px;"> + eintragen + </button> + <div class="alert alert-warning" style="width:520px" role="alert"> + Das Verarbeiten der Lernziele und das Gruppenmatching kann einen Moment dauern! + </div> +</div> + +</body> + + + + diff --git a/gemeinsamforschen/src/main/webapp/management/groups.jsp b/gemeinsamforschen/src/main/webapp/management/groups.jsp new file mode 100644 index 0000000000000000000000000000000000000000..ce3bbf59c16fd39a6a6d79cfd832b21d600a2ecd --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/groups.jsp @@ -0,0 +1,91 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>student-form-design</title> + <link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css"> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700"> + <link rel="stylesheet" href="../assets/css/Login-Form-Clean.css"> + <link rel="stylesheet" href="../assets/css/Navigation-with-Button1.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu1.css"> + + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> + <script src="js/config.js"></script> + <script src="js/myGroupsInit.js"></script> + <script src="js/getProjects.js"></script> + <script src="../assets/bootstrap/js/bootstrap.min.js"></script> + <script src="js/Sidebar-Menu.js"></script> + + + +</head> + +<body> +<p id="user" hidden><?php echo $userName; ?></p> + +<div id="wrapper"> + <?php + include_once 'menu.php' + ?> + <div class="page-content-wrapper"> + <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a> + <div class="row"> + <div class="col-md-12"> + + <div class="page-header"></div> + </div> + </div> + </div> + </div> + + <div> + <div class="container"> + <div class="row"> + <div class="col-md-offset-3 col-sm-8 col-xs-1"> + <h3>Projekt</h3> + <div class="dropdown"> + <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" + id="projectDropdown">Projekt auswählen + <span class="caret"></span></button> + <ul class="dropdown-menu" id="dropdownOptions"> + </ul> + </div> + </div> + </div> + <div id="tablesHolder"></div> + <!-- <table class="table table-striped table-bordered table-list" style="width: 40%;margin-top: 10px;"> + <thead id="tableHead"> + <tr> + <th class="hidden-xs">Student</th> + <th>E-Mail</th> + </tr> + </thead> + <tbody> + <tr id="student2"> + + </tr> + <tr id="student3"> + + </tr> + <tr id="student4"> + + </tr> + <tr id="student5"> + + </tr> + + </tbody> + + </table>--> + <!--<p>Hier können sie ihre Gruppen zu allen Projekten einsehen. Klicken sie dafür auf das Dropdownmenü + um ihren Kurs auszuwählen.</p>--> + </div> + </div> +</div> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/join-project.jsp b/gemeinsamforschen/src/main/webapp/management/join-project.jsp new file mode 100644 index 0000000000000000000000000000000000000000..3dca2a077cdc5db5207f37e067e5b91d2d6a460e --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/join-project.jsp @@ -0,0 +1,66 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Gruppenmatcher</title> + <link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css"> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700"> + <link rel="stylesheet" href="../assets/css/Login-Form-Clean.css"> + <link rel="stylesheet" href="../assets/css/Navigation-with-Button1.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu1.css"> + <link rel="stylesheet" href="../assets/css/styles.css"> + <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> + <script src="js/config.js"></script> + <script src="js/utility.js"></script> + <script src="js/showProjects.js"></script> + <script src="js/GETfile.js"></script> + <script src="../assets/bootstrap/js/bootstrap.min.js"></script> + <script src="js/Sidebar-Menu.js"></script> + +</head> + +<body> +<p id="user" hidden><?php echo $userName; ?></p> +<div class="loader-inactive" id="loader"></div> +<div id="wrapper" class="wrapper" style="margin:0px;"> + <?php + include_once 'menu.php' + ?> + <div class="page-content-wrapper"> + <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a> + <div class="row"> + <div class="col-md-12"> + <h3>Tragen sie sich in ein neues Projekt ein. </h3> + <div class="page-header"></div> + </div> + </div> + </div> + </div> + <fieldset> + <legend style="margin-left:13px;">Projektnamen</legend> + <input class="form-control" type="text" id="projectName" name="Project" required="" + placeholder="Projekt1" autofocus="" + style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;"> + <div class="alert alert-warning" role="alert" id="projectIsMissing"> + Dieser Projektname existiert nicht. + </div> + + </fieldset> + <fieldset> + <legend style="margin-left:13px;">Passwort</legend> + <input class="form-control" type="password" id="projectPassword" name="Password" required="" + placeholder="******" + style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;"> + <div class="alert alert-warning" role="alert" id="projectWrongPassword"> + Falsches Passwort. + </div> + </fieldset> + <button id="seeProject" class="btn btn-primary">Einsehen</button> +</div> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/changePhase.js b/gemeinsamforschen/src/main/webapp/management/js/changePhase.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/changePhase.js rename to gemeinsamforschen/src/main/webapp/management/js/changePhase.js diff --git a/gemeinsamforschen/src/main/webapp/management/js/config.js b/gemeinsamforschen/src/main/webapp/management/js/config.js new file mode 100644 index 0000000000000000000000000000000000000000..af79dfc9d5b448c751e0f1bf6ef47fc2b0e569b8 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/config.js @@ -0,0 +1,3 @@ +//var compbaseUrl = "https://esb.uni-potsdam.de:8243/services/competenceBase"; +//var compbaseUrl = "http://fleckenroller.cs.uni-potsdam.de/app/competence-database-prod"; +var compbaseUrl = "https://apiup.uni-potsdam.de/endpoints/competenceAPI"; diff --git a/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js b/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js new file mode 100644 index 0000000000000000000000000000000000000000..90b4243fbcaf44130bdc34b880fa01bedde101e3 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js @@ -0,0 +1,148 @@ +/** + * Created by fides-WHK on 15.03.2018. + */ + + +$(document).ready(function () { +var projectName = getProjectByToken(); + getTags(projectName); + $("#competencies0").focus(); + $("#studentFormSubmit").on("click", function () { + 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 + }); + $("#subtractCompetenceButton").on("click", function () { + deletInput("competencies"); //deletes latest input-Field with the ID 'competenciesX' where X is number of elements with 'competencies' as ID + }); + $("#addResearchQuestionButton").on("click", function () { + addInput("researchQuestion"); //creates a new input-Field with the ID 'researchQuestionX' where X is number of elements with 'researchQuestion' as ID + }); + $("#subtractCResearchQuestionButton").on("click", function () { + deletInput("researchQuestion"); //deletes the latest input-Field with ID 'researchQuestionX' where X is number of elements with 'researchQuestion' as ID + }); + +}); + +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; + var newInput = document.createElement("span"); + newInput.innerHTML = "<input class='form-control' " + + "type='text' " + + "name='" + name + "' " + + "id='" + name + i + "' " + + "style='max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;'>"; + var div = document.getElementById(name); + div.appendChild(newInput); +} + +function deletInput(name) { //deletes latest input-Field with the ID 'nameX' where X is number of elements with 'name' as ID + var i = document.getElementsByName(name).length; + if (i > 1) { + var lastEntry = document.getElementById(name + "" + (i - 1)); + lastEntry.parentNode.removeChild(lastEntry); + } +} + +function getTags(projectName) { + var url = "../database/getTags.php?project=" + projectName; + $.ajax({ + url: url, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + response = JSON.parse(response); + var tagList = []; + var i = 0; + for (i = 0; i < response.length; i++) + tagList.push(response[i].tag); + for (i = 0; i < tagList.length; i++) { + var newInput = document.createElement("label"); + newInput.innerHTML = + "<div class='checkbox checkbox-primary' >" + + "<input id='tag" + i + "' " + " class='styled' " + "name='tag'" + "type='checkbox' " + ">" + + "<label for='tag" + i + "' "+ ">" + tagList[i] + "</label>" + + "</div>"; + var div = document.getElementById('tags'); + div.appendChild(newInput); + } + }, + error: function (a, b, c) { + console.log(a); + } + }); +} + +function takesPartInProject() { + var userID = $("#user").text().trim(); + var projectID = $("#projectName").text().trim(); + document.getElementById('loader').className = "loader"; + document.getElementById('wrapper').className = "wrapper-inactive"; + + var allTheTags = []; + var allTheCompetencies = []; + var allTheResearchQuestions = []; + for (i = 0; i < document.getElementsByName("competencies").length; i++) { //goes through all competencies and adds them to allTheCompetencies + allTheCompetencies.push(document.getElementsByName("competencies")[i].value); + } + 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 + if (document.getElementById("tag" + i).checked) { + allTheTags.push(document.getElementById("tag" + i).value); + } + if ($("#tag"+i).prop("checked")) + allTheCompetencies.push("Die Studierenden interessieren sich für " + $("#tag" + i).val()); //todo: Die Tags werden hinter der Schnittstelle noch nicht verwertet, daher diese schnelle Lösung + } + if (allTheTags.length > 2) { + //alert('Sie haben zu viele Tags ausgewählt'); + $(".alert").css('background-color', 'lightcoral'); + allTheTags = []; + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + return false; + } + if (allTheTags.length < 2) { + //alert('Sie haben zu wenig Tags ausgewählt'); + $(".alert").css('background-color', 'lightcoral'); + allTheTags = []; + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + return false; + } + var data = { //JSON object 'data' collects everything to send + "competences": allTheCompetencies, + "researchQuestions": allTheResearchQuestions, + "tagsSelected": allTheTags + }; + var dataString = JSON.stringify(data); //to send correctly, data needs to be stringified + var url = compbaseUrl + "/api2/user/" + userID + "/projects/" + projectID + "/preferences"; + $.ajax({ + url: url, + type: 'PUT', + Accept: "text/plain; charset=utf-8", + contentType: "application/json", + data: dataString, + success: function (response) { + 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']; + }, + error: function (a, b, c) { + console.log(a); + } + }); +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js b/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js new file mode 100644 index 0000000000000000000000000000000000000000..c3b488def69f02e9e13f1c3adfb79e43a5ea38d8 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js @@ -0,0 +1,57 @@ +/** + * Created by dehne on 28.03.2018. + */ +$(document).ready(function () { + $("#projectWrongPassword").hide(); + $("#projectIsMissing").hide(); + + $("#deleteProject").on('click', function () { + deleteProject($('#projectName').val().trim()); + }); +}); + +function deleteProject(projectName) { + var token = getUserTokenFromUrl(); + var url = "../database/delete-project.jsp?project=" + projectName + "&password=" + document.getElementById('projectPassword').value.trim() + "&token=" + token; + if (projectName === "") { + return false; + } else { + $.ajax({ + url: url, + projectName: projectName, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + if (response === "project missing") { + $("#projectIsMissing").show(); + } else { + if (response !== "wrong password") { //if response !== project missing and not wrong password, its the projectToken + $.ajax({ + url: compbaseUrl+"/api1/courses/"+projectName, + Accept: "text/plain; charset=utf-8", + type: 'DELETE', + contentType: "text/plain", + async: false, + success: function (response) { + + }, + error: function (a, b, c) { + console.log(a); + } + }); + window.location.href = " ../pages/projects.php?token="+getUserTokenFromUrl(); + } else { + $("#projectIsMissing").hide(); + $('#projectWrongPassword').show(); + } + } + }, + error: function (a, b, c) { + console.log(a); + } + }); + + + } + +} diff --git a/gemeinsamforschen/src/main/webapp/management/js/getProjects.js b/gemeinsamforschen/src/main/webapp/management/js/getProjects.js new file mode 100644 index 0000000000000000000000000000000000000000..6c2c507836b67795160bfd77471b164b65f68ead --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/getProjects.js @@ -0,0 +1,31 @@ +/** + * Created by dehne on 28.03.2018. + */ + +function getProjectsOfAuthor(author, printedProjects, handleProjects) { + var url = "../database/getProjectsOfAuthor.php?author=" + author; + $.ajax({ + url: url, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + var authoredProjects = JSON.parse(response); + if (authoredProjects != null) { + if (printedProjects != null) { + for (var i = 0; i < printedProjects.length; i++) { + authoredProjects = authoredProjects.filter(function (el) { + return el !== printedProjects[i]; + }); + } + handleProjects(authoredProjects, printedProjects.length); + } else { + handleProjects(authoredProjects, 0); + } + + } + }, + error: function (a, b, c) { + console.log(a); + } + }); +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js b/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js new file mode 100644 index 0000000000000000000000000000000000000000..11d871a4c901abf49866f35f480bf574c3606fa6 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js @@ -0,0 +1,125 @@ +/** + * Created by fides-WHK on 22.01.2018. + */ +$(document).ready(function () { + //todo: Buttons im Eventhandler steuern und nicht auf der HTML-Seite. + getProjects(document.getElementById('user').innerHTML); + //getMembers($('#projectDropdown').innerHTML,$('#user').innerHTML); +}); + +function printProjectDropdown(projects, numberOfProjectsPrinted) { + var menu = document.getElementById("dropdownOptions"); //the unordered list of buttons called by the dropdown button + var limit = projects.length; + for (var i = 0; i < limit; i++) { //show every project a student takes + // part in + var option = document.createElement("SPAN"); //and create a span, containing a button with it + option.innerHTML = "<button class='dropdown-item' " + //which carries the event onClick, the name of the group and a design + "onClick=" + + '"showProject(' + "'" + projects[i] + "',document.getElementById('user').innerHTML);" + '"' + ">" + + projects[i] + + "</button>"; + menu.appendChild(option); + } +} +function getProjects(user) { + var url = compbaseUrl + "/api2/user/" + user + "/projects"; + $.ajax({ + url: url, + user: user, + type: 'GET', + contentType: "application/json", + dataType: "json", + success: function (data) { + if (data.length !== 0) { + var projects = []; + if (data.data != null) { + projects = data.data; + printProjectDropdown(projects, 0); + } + getProjectsOfAuthor(user, projects, printProjectDropdown) + } else { + document.getElementById("projectDropdown").innerHTML = "keine Projekte verfügbar"; //no projects of the students where found + } + } + }); +} + + +function printGroupTable(student1, student2, student3, student4) { + var innerurl = "../database/getAdresses.php?student1=" + student1 + "&student2=" + student2 + "&student3=" + student3 + "&student4=" + student4; + /*if (student4) { + innerurl = innerurl + "&student4=" + student4; + }*/ + $.ajax({ //get email adresses in this ajax. + student1: "" + student1, + student2: "" + student2, + student3: "" + student3, + student4: "" + student4, + url: innerurl, + type: 'GET', + contentType: "application/json", + dataType: "json", + success: function (innerData) { + var tableStart = '<table class="table table-striped table-bordered table-list"' + + ' style="width: 40%;margin-top:' + + ' 10px;"> <thead id="tableHead"> ' + + ' <tr>' + + ' <th class="hidden-xs">Student</th>' + + ' <th>E-Mail</th>' + + ' </tr>'; + var tableFinish = '</thead>' + '</table>'; + for (var k2 = 0; k2 < innerData.length; k2++) { + if (innerData[k2].name === student1) { + tableStart = tableStart + ("<tr><td>" + student1 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } else if (innerData[k2].name === student2) { + tableStart = tableStart + ("<tr><td>" + student2 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } else if (innerData[k2].name === student3) { + tableStart = tableStart + ("<tr><td>" + student3 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } else if (innerData[k2].name === student4 && (student4 != null)) { + tableStart = tableStart + ("<tr><td>" + student4 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } + } + + var tableString = tableStart + tableFinish; + $("#tablesHolder").append(tableString); + } + }); + return innerurl; +} +function getMembers(project, user) { //gets all Members in the chosen Project user is a part of with email adresses + + $("#tablesHolder").empty(); + var url = compbaseUrl + "/api2/groups/" + project; //this API is used, since fleckenroller has security issues + // with CORS + // and stuff + $.ajax({ + url: url, + user: user, + type: 'GET', + contentType: "application/json", + dataType: "json", //{groups: [id, users:[]] } + success: function (data) { + for (var i = 0; i < data.groups.length; i++) { + + var student1 = data.groups[i].users[0]; + var student2 = data.groups[i].users[1]; + var student3 = data.groups[i].users[2]; + var student4 = data.groups[i].users[3]; + printGroupTable(student1, student2, student3, student4); + } + }, + error: function(data) { + $("#tablesHolder").append("<p>Es wurden keine Gruppen gefunden. Das Projekt muss mehr als 5 Teilnehmer haben!</p>") + } + + }); +} + +function showProject(project, user) { //will display the chosen option in the dropdown button and show all students in a unordered list + $("#projectDropdown").text(project); //the dropdown button + getMembers(project, user); //the students +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/js/newProject.js b/gemeinsamforschen/src/main/webapp/management/js/newProject.js new file mode 100644 index 0000000000000000000000000000000000000000..be07b3fead5a21b1ba8d1703d8f5688f01facc53 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/newProject.js @@ -0,0 +1,162 @@ +/** + * Created by fides-WHK on 19.02.2018. + */ +$(document).ready(function () { + var allTheTags = []; + $("#nameProject").focus(); + $('#projectNameExists').hide(); + $('#projectIsMissing').hide(); + $('#exactNumberOfTags').hide(); + $('#specialChars').hide(); + $(function () { + $('#tagsProject').tagsInput({ + width: '475px', + onAddTag: function (tag) { + allTheTags.push(tag); + }, + onRemoveTag: function (tag) { + allTheTags.pop(); //todo: löscht noch nicht den gewählten tag sondern den letzten + } + }); + }); + $('#sendProject').on('click', function () { + var activ = "1"; + createNewProject(allTheTags, activ); + }); + + +}); + + +function createNewProject(allTheTags, activ) { + $("#nameProject").focus(); + $('#projectNameExists').hide(); + $('#projectIsMissing').hide(); + $('#exactNumberOfTags').hide(); + $('#specialChars').hide(); + + var projectName = $("#nameProject").val().trim(); + var password = $("#passwordProject").val().trim(); + var adminPassword = $("#adminPassword").val().trim(); + if (adminPassword == "") { + adminPassword = "1234"; + } + + var reguexp = /^[a-zA-Z0-9äüöÄÜÖ\ ]+$/; + if (!reguexp.test(projectName)) { + $('#specialChars').show(); + return false; + } + if (projectName === "") { //project has no name, so abort function + $('#projectIsMissing').show(); + return false; + } + + document.getElementById('loader').className = "loader"; + document.getElementById('wrapper').className = "wrapper-inactive"; + var localurl = "../database/getProjects.php?project=" + projectName; + if (allTheTags.length !== 5) { + document.getElementById('tagHelper').className = "alert alert-warning"; + } else { + document.getElementById('tagHelper').className = ""; + } + + + $('#projectIsMissing').hide(); + $.ajax({ //check local DB for existence of projectName + url: localurl, + projectName: projectName, + activ: activ, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + if (response !== "project missing") { + $('#projectNameExists').show(); + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + return true; + } else { + $('#projectNameExists').hide(); + if (allTheTags.length !== 5) { + document.getElementById('tagHelper').className = "alert alert-warning"; + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + $('#exactNumberOfTags').show(); + return false; + } + document.getElementById('tagHelper').className = ""; + var obj = { + "courseId": projectName, + "printableName": projectName, + "competences": allTheTags + }; + var url = compbaseUrl + "/api1/courses/" + $("#nameProject").val(); + var dataString = JSON.stringify(obj); + var addProjectNeo4j = $.ajax({ + url: url, + contentType: 'application/json', + activ: activ, + type: 'PUT', + data: dataString, + success: function (response) { + console.log(response); + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + }, + error: function (a, b, c) { + console.log(a); + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + return false; + } + }); + $.when(addProjectNeo4j, addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword)).done(function () { + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + if ($('#Teilnehmer').prop("checked")) { //if author wants to join the course, he needs to be redirected to enter-preferences.jsp + var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('passwordProject').value; + $.ajax({ + url: url, + projectName: projectName, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + location.href = "enter-preferences.jsp?token=" + getUserTokenFromUrl() + "&projectToken=" + response; + }, + error: function (a, b, c) { + console.log(a); + } + }); + } else { //if author is just author and not member, he will be directed to projects.php + location.href = "projects.php?token=" + getUserTokenFromUrl(); + } + }); + } + }, + error: function (a, b, c) { + console.log(a); + document.getElementById('loader').className = "loader-inactive"; + document.getElementById('wrapper').className = "wrapper"; + return true; + } + }); + +} + +function addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword) { + var tags = JSON.stringify(allTheTags); + var author = $("#user").text().trim(); + var url = "../database/putProject.php?project=" + projectName + "&password=" + password + "&activ=" + activ + "&token=" + getUserTokenFromUrl() + "&adminpassword=" + adminPassword + "&author=" + author; + return $.ajax({ + url: url, + //contentType: 'application/json', + type: 'POST', + data: tags, + success: function (response) { + console.log("Tags were added to local DB"); + }, + error: function (a, b, c) { + console.log(a); + } + }); +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js b/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js new file mode 100644 index 0000000000000000000000000000000000000000..57444d11682ab734826fd91d6b29f3619847520a --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js @@ -0,0 +1,14 @@ +$(document).ready(function(){ + $('#project1Link').on('click', function(){ + window.location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl(); + location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen'; + }); + $('#project2Link').on('click', function(){ + window.location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl(); + location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo'; + }); + $('#createProject').on('click', function(){ + location.href="createProject.jsp?token="+getUserTokenFromUrl(); + }); + +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview-student.js b/gemeinsamforschen/src/main/webapp/management/js/overview-student.js new file mode 100644 index 0000000000000000000000000000000000000000..898f3f5e00183d9549a84cb5c3028be9aa7f5bd6 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/overview-student.js @@ -0,0 +1,11 @@ +$(document).ready(function(){ + $('#project1Link').on('click', function(){ + location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen'; + }); + $('#project2Link').on('click', function(){ + location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo'; + }); + $('#enrollProject').on('click', function(){ + location.href="enrollProject.jsp?token="+getUserTokenFromUrl(); + }); +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview.js b/gemeinsamforschen/src/main/webapp/management/js/overview.js new file mode 100644 index 0000000000000000000000000000000000000000..a78bb0cda5635640c87505b6e1e0e218a965bf96 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/overview.js @@ -0,0 +1,176 @@ +/** + * Created by fides-WHK on 02.03.2018. + */ + +$(document).ready(function () { + getProjectOverview(document.getElementById('user').innerHTML); + //getMembers($('#projectDropdown').innerHTML,$('#user').innerHTML); + +}); + + +function printProjects(projects, offset) { + var table = document.getElementById("projectTable"); + var i = 0; + if (projects != null) { + for (i = 0; i < projects.length; i++) { + var project = projects[i]; + var content = document.createElement("TR"); + content.role = "button"; + content.style = "cursor:pointer;"; + content.id = project; + + //'<a class="btn btn-default"><em class="fa fa-pencil" ></em></a>' + + //'<button id="deleteButton' +i+ '" class="btn btn-danger fa fa-trash deleteButton"></button>' + + content.innerHTML = '<td align="center">' + + '<a href="delete-project.jsp?token='+getUserTokenFromUrl()+'" class="btn btn-danger fa fa-trash"></a>' + + '</td>' + + '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">' + projects[i] + '</td>' + + '<td id="projectTags' + (i + offset) + '" href="#Div_Promo_Carousel" data-slide="next"></td>'; + table.appendChild(content); + getTags(project, i + offset); + $('#' + project).click(function () { + getGroups(this.id); + }); + } + } + + + //$('#deleteModal').modal('show'); + +} +function getProjectOverview(user) { + var url = compbaseUrl + "/api2/user/" + user + "/projects"; + $.ajax({ + url: url, + user: user, + type: 'GET', + contentType: "application/json", + dataType: "json", + success: function (data) { + var projects = data.data; + printProjects(projects, 0); + getProjectsOfAuthor(user, projects, printProjects); + }, + error: function (a, b, c) { + console.log(a); + } + }); +} + +function getTags(projectName, number) { + var url = "../database/getTags.php?project=" + projectName; + $.ajax({ + url: url, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + response = JSON.parse(response); + var tagString = ""; + var i = 0; + var table = document.getElementById("projectTags" + number); + for (i = 0; i < response.length; i++) { + tagString += "<label class=\"tagLabel\">" + response[i].tag + "</label>"; + ; + //tagString += response[i].tag + " "; + } + + table.innerHTML = tagString; + //table.innerHTML = tagHtml; + }, + error: function (a, b, c) { + console.log(a); + } + }); +} + + + + +function getGroups(projectName) { + var pathName = document.getElementsByName("pathProject"); + pathName[0].innerHTML = projectName; + pathName[1].innerHTML = projectName; + var url = compbaseUrl + "/api2/groups/" + projectName; //this API is used, since fleckenroller has security + // issues with + // CORS and stuff + $.ajax({ + url: url, + type: 'GET', + contentType: "application/json", + dataType: "json", + success: function (data) { + var table = document.getElementById("groupTable"); + table.innerHTML = ''; + for (var i = 0; i < data.groups.length; i++) { + var content = document.createElement("TR"); + content.role = "button"; + content.style = "cursor:pointer;"; + content.id = 'Gruppe' + data.groups[i].id; + var groupMembers = '<td align="center">' + + '<a class="btn btn-default"><em class="fa fa-pencil"></em></a>' + + '<a class="btn btn-danger"><em class="fa fa-trash"></em></a>' + + '</td>' + + '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">Gruppe' + data.groups[i].id + '</td>' + + '<td id="memberOf' + content.id + '" href="#Div_Promo_Carousel" data-slide="next">'; + for (var j = 0; j < data.groups[i].users.length; j++) { + groupMembers += data.groups[i].users[j] + " "; + } + groupMembers += '</td>'; + content.innerHTML = groupMembers; + table.appendChild(content); + $('#Gruppe' + data.groups[i].id).click(function () { + var memberString = $('#memberOf' + this.id).html(); + getDetailsOfMembers(this.id, memberString); + }); + } + }, + error: function (a, b, c) { + console.log(a); + var table = document.getElementById("groupTable"); + table.innerHTML = ''; + var content = document.createElement("TR"); + content.innerHTML = '<td align="center">' + + '</td>' + + '<td class="hidden-xs">Es liegen noch keine Gruppen vor</td>' + + '<td></td>'; + table.appendChild(content); + } + }); +} + +function getDetailsOfMembers(group, studentString) { + var pathName = document.getElementsByName("pathGruppe"); + pathName[0].innerHTML = group; + var students = studentString.split(" "); + var innerurl = "../database/getAdresses.php?student1=" + students[0] + "&student2=" + students[1] + "&student3=" + students[2] + "&student4=" + students[3] + "&student5=" + students[4]; + $.ajax({ + student1: "" + students[0], + student2: "" + students[1], + student3: "" + students[2], + student4: "" + students[3], + student5: "" + students[4], + url: innerurl, + type: 'GET', + contentType: "application/json", + dataType: "json", + success: function (response) { + var table = document.getElementById("studentTable"); + table.innerHTML = ''; + var k; + for (k = 0; k < response.length; k++) { + var content = document.createElement("TR"); + content.innerHTML = '<td align="center">' + + '<a class="btn btn-default"><em class="fa fa-pencil"></em></a>' + + '<a class="btn btn-danger"><em class="fa fa-trash"></em></a>' + + '</td>' + + '<td class="hidden-xs">' + response[k].name + '</td>' + + '<td> <a href="mailto:' + response[k].email + '">' + response[k].email + '</a></td>'; + table.appendChild(content); + } + }, + error: function (a, b, c) { + console.log(a); + } + }); +} diff --git a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js b/gemeinsamforschen/src/main/webapp/management/js/project-student.js similarity index 92% rename from gemeinsamforschen/src/main/webapp/assets/js/project-student.js rename to gemeinsamforschen/src/main/webapp/management/js/project-student.js index 91e62e10ffcba41e1d9200d943e1ae662256b591..83f391e0292fd8826edcb26564892f71b496ca52 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js +++ b/gemeinsamforschen/src/main/webapp/management/js/project-student.js @@ -30,10 +30,10 @@ $(document).ready(function(){ }); */ $('.givefeedback').click(function () { - location.href="givefeedback.jsp?token="+getUserTokenFromUrl(); + location.href="give-feedback.jsp?token="+getUserTokenFromUrl(); }); $('.viewfeedback').click(function () { - location.href="viewfeedback.jsp?token="+getUserTokenFromUrl(); + location.href="view-feedback.jsp?token="+getUserTokenFromUrl(); }); $('.annotationview').click(function () { @@ -41,7 +41,7 @@ $(document).ready(function(){ }); $('#btnUnstructuredUpload').click(function () { - location.href="unstructured-upload.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + location.href="upload-unstructured-annotation.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); }) $('.viewprojectstudent').click(function () { diff --git a/gemeinsamforschen/src/main/webapp/assets/js/register.js b/gemeinsamforschen/src/main/webapp/management/js/register.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/register.js rename to gemeinsamforschen/src/main/webapp/management/js/register.js diff --git a/gemeinsamforschen/src/main/webapp/management/js/showProjects.js b/gemeinsamforschen/src/main/webapp/management/js/showProjects.js new file mode 100644 index 0000000000000000000000000000000000000000..ff687d3f310be2d92ae07cc89f27192ce1b194f5 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/management/js/showProjects.js @@ -0,0 +1,50 @@ +/** + * Created by fides-WHK on 09.01.2018. + */ +$(document).ready(function () { + $("#projectWrongPassword").hide(); + $("#projectIsMissing").hide(); + + $("#projectName").keypress(function (e) { + if (e.which == 13) { + document.getElementById("projectPassword").focus(); + } + }); + $("#projectPassword").keypress(function (e) { + if (e.which == 13) { + seeProject($('#projectName').val()); + } + }); + $("#seeProject").on('click', function () { + seeProject($('#projectName').val()); + }); +}); + +function seeProject(projectName) { + var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('projectPassword').value; + if (projectName === "") { + return false; + } else { + $.ajax({ + url: url, + projectName: projectName, + Accept: "text/plain; charset=utf-8", + contentType: "text/plain", + success: function (response) { + if (response === "project missing") { + $("#projectIsMissing").show(); + } else { + if (response !== "wrong password") { //if response !== project missing and not wrong password, its the projectToken + location.href="enter-preferences.jsp?token="+getUserTokenFromUrl()+"&projectToken="+response; + } else { + $("#projectIsMissing").hide(); + $('#projectWrongPassword').show(); + } + } + }, + error: function (a, b, c) { + console.log(a); + } + }); + } +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js b/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js deleted file mode 100644 index 205c0005b665424d0e2ed31a26d702db8c079e51..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Created by dehne on 25.04.2018. - */ - -function xmlToString(xmlData) { - - var xmlString; - //IE - if (window.ActiveXObject) { - xmlString = xmlData.xml; - } - // code for Mozilla, Firefox, Opera, etc. - else { - xmlString = (new XMLSerializer()).serializeToString(xmlData); - } - return xmlString; -} - - -$(document).ready(function () { - $.ajax({ - type: "get", - url: "http://localhost:8080/gemeinsamforschen/rest/api/munschkin/1", - dataType: "xml", - success: function (data) { - /* handle data here */ - //var munschkin = $.parseXML(data) - $("#munschkin").append(xmlToString(data)); - }, - error: function (xhr, status) { - alert("Server down .... ogottogottogottt") - } - }); - -}); - diff --git a/gemeinsamforschen/src/main/webapp/pages/overview-docent.jsp b/gemeinsamforschen/src/main/webapp/overview-docent.jsp similarity index 91% rename from gemeinsamforschen/src/main/webapp/pages/overview-docent.jsp rename to gemeinsamforschen/src/main/webapp/overview-docent.jsp index 736db5bd3aa5a1ca53a86b1694994e78ef880631..b90362fcfb6f42c332b75cc2ad9f6957014ab30e 100644 --- a/gemeinsamforschen/src/main/webapp/pages/overview-docent.jsp +++ b/gemeinsamforschen/src/main/webapp/overview-docent.jsp @@ -1,19 +1,19 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/overview-docent.js"></script> + <omniDependencies:omniDependencies hierarchy="0"/> + <script src="core/overview-docent.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="0"/> <div class="page-content-wrapper"> <headLine:headLine/> diff --git a/gemeinsamforschen/src/main/webapp/pages/overview-student.jsp b/gemeinsamforschen/src/main/webapp/overview-student.jsp similarity index 91% rename from gemeinsamforschen/src/main/webapp/pages/overview-student.jsp rename to gemeinsamforschen/src/main/webapp/overview-student.jsp index 8feef4d6d1bda9b41939b4bd5c2b386d070bbfec..03e6ca87f771827f985ce44ff7827809e5146282 100644 --- a/gemeinsamforschen/src/main/webapp/pages/overview-student.jsp +++ b/gemeinsamforschen/src/main/webapp/overview-student.jsp @@ -1,20 +1,20 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/overview-student.js"></script> + <omniDependencies:omniDependencies hierarchy="0"/> + <script src="core/overview-student.js"></script> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="0"/> <div class="page-content-wrapper"> <headLine:headLine/> <div> diff --git a/gemeinsamforschen/src/main/webapp/pages/Quiz-docent.jsp b/gemeinsamforschen/src/main/webapp/pages/Quiz-docent.jsp deleted file mode 100644 index 6d693e27525436354f12e04005d2f59850d4e3e0..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/Quiz-docent.jsp +++ /dev/null @@ -1,29 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" %> -<%@ 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="footer" %> - -<html> -<head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/Quiz-docent.js"></script> -</head> - -<body> -<div id="wrapper"> - <menu:menu/> - <div class="page-content-wrapper"> - <headLine:headLine/> - <table class="table-striped"> - <tbody id="tableQuiz"> - - </tbody> - </table> - <button class="btn btn-primary" id="newQuiz">neues Quiz</button> - - </div> - <footer:footer/> -</div> -</body> -</html> diff --git a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp b/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp deleted file mode 100644 index 67b2861e38ad3e55fc6f0dd2db9acbab315608c6..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp +++ /dev/null @@ -1,18 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> - -<!DOCTYPE html> -<html lang="en"> -<head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/assessmentCalculator.js"></script> -</head> -<body> -<menu:menu/> -<button id="calculateNow">Post Performance</button> -<button id="giveItBack">Get TotalPerformance</button> -<headLine:headLine/> -</body> -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/createGroups.jsp b/gemeinsamforschen/src/main/webapp/pages/createGroups.jsp deleted file mode 100644 index 4b22ba4e92ae53aeaf9abfc1a7a2ebdd16469a75..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/createGroups.jsp +++ /dev/null @@ -1,24 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> - -<html> -<head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/changePhase.js"></script> -</head> - -<body> -<div id="wrapper"> - <menu:menu/> - <div class="page-content-wrapper"> - <headLine:headLine/> - student1<br> - student2<br> - <br> - in Gruppe 1 2 3 - </div> -</div> -</body> -</html> diff --git a/gemeinsamforschen/src/main/webapp/pages/createProject.jsp b/gemeinsamforschen/src/main/webapp/pages/createProject.jsp deleted file mode 100644 index 84f529a57f133988191875eac3c9f327d3217b23..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/createProject.jsp +++ /dev/null @@ -1,34 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ 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" %> - - -<!DOCTYPE html> -<html> - -<head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/createProject.js"></script> - -</head> - -<body> -<div id="wrapper"> - <menu:menu/> - <div class="page-content-wrapper"> - <headLine:headLine/> - <div style="margin-left: 2%;"> - <br><br> - <label>Projektname: <input placeholder="Projektname"></label> - <label>Passwort: <input placeholder="Passwort"></label> - </div> - <button class="btn btn-default" type="button" id="submit">beitreten</button> - </div> -</div> - -<footer:footer/> -</body> - -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/enrollProject.jsp b/gemeinsamforschen/src/main/webapp/pages/enrollProject.jsp deleted file mode 100644 index 4de718d37303e1c498deb9b562be7b2826f68a4b..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/enrollProject.jsp +++ /dev/null @@ -1,47 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> - -<!DOCTYPE html> -<html> - -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>fltrail</title> - <link rel="stylesheet" href="../assets/css/styles.css"> - <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> - <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css"> - <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> - <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css"> - <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> - <script src="../assets/js/utility.js"></script> - <script src="../assets/js/enrollProject.js"></script> - -</head> - -<body> -<div id="wrapper"> - <menu:menu></menu:menu> - <div class="page-content-wrapper"> - <div class="container-fluid"> - - <h1>Einschreiben in einen Kurs</h1> - <a href="#"><span class="glyphicon glyphicon-envelope" - style="font-size:27px;margin-top:-17px;margin-left:600px;"></span></a> - <a href="#"><span class="glyphicon glyphicon-cog" - style="font-size:29px;margin-left:5px;margin-top:-25px;"></span></a> - </div> - <div style="margin-left: 2%;"> - <br><br> - <label>Projektname: <input placeholder="Projektname"></label> - <label>Passwort: <input placeholder="Passwort"></label> - </div> - <button class="btn btn-default" type="button" id="submit">beitreten</button> - </div> -</div> - - -</body> - -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp.orig b/gemeinsamforschen/src/main/webapp/pages/project-student.jsp.orig deleted file mode 100644 index a5671b8ada831eeef0162fca442adfced0d10762..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp.orig +++ /dev/null @@ -1,187 +0,0 @@ -<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%--suppress XmlDuplicatedId --%> -<%@ 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="footer" %> - - - -<!--todo: E-mail an Studenten als Notifikation für Phasenwechsel --> - - -<!DOCTYPE html> -<html> - -<head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/project-student.js"></script> - <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> - -</head> - -<body> -<div id="wrapper"> - <menu:menu/> - - <div class="page-content-wrapper"> - <headLine:headLine/> - <div> - <table> - <tr> - <td id="yourContent"> - <h1>Feedbackable Students</h1> - <!-- here will be all the content --> - <table id="myGroupMembers"> - <tr> - - <td width="100px" valign="top"> - <h3>student1</h3> - <img src="../assets/img/1.jpg"> - <a href="#">student1@uni.de</a> - <hr> - <ul> - - <li> - Projektübersicht hochgeladen - <a class="annotationview" role="button"> - <label style="font-size:10px;"><i class="far fa-comments" - style="font-size:15px;"></i>feedback</label> - </a> - </li> - <li> - Blumen ins Hausaufgabenheft geklebt - <a class="annotationview" role="button"> - <label style="font-size:10px;"><i class="far fa-comments" - style="font-size:15px;"></i>feedback</label> - </a> - </li> - </ul> - </td> - <td></td> - - <td width="100px" valign="top"> - <h3>student2</h3> - <img src="../assets/img/2.jpg"> - <a href="#">student2@uni.de</a> - <hr> - <ul> - <li> - Blumen an Vegetarier verfüttert - <a class="annotationview" role="button"> - <label style="font-size:10px;"><i class="far fa-comments" - style="font-size:15px;"></i>feedback</label> - </a> - </li> - <li> - Literaturverzeichnis hochgeladen - <a class="annotationview" role="button"> - <label style="font-size:10px;"><i class="far fa-comments" - style="font-size:15px;"></i>feedback</label> - </a> - </li> - <li> - Die armen Vegetarier - <a class="annotationview" role="button"> - <label style="font-size:10px;"><i class="far fa-comments" - style="font-size:15px;"></i>feedback</label> - </a> - </li> - </ul> - </td> - <td></td> - - <td width="100px" valign="top"> - <h3>student3</h3> - <img src="../assets/img/3.jpg"> - <a href="#">student3@uni.de</a> - <hr> - <ul id="submissionUpload"> - </ul> - </td> - - </tr> - </table> - -<<<<<<< HEAD - <button onclick="goBack()" class="btn btn-secondary">Zurück</button> - - <script> - function goBack() { - window.history.back(); - } - </script> - - </td> - <td id="chat"> - <div class="card"> - <div class="card-header"> - <h6 class="mb-0">Gruppen+Projekt Chat</h6> - </div> - <div class="card-body"> - <ul class="list-group"> - <li class="list-group-item"> - <div class="media"> - <div></div> - <div class="media-body"> - <div class="media" style="overflow:visible;"> - <div><img src="../assets/img/1.jpg" class="mr-3" - style="width: 25px; height:25px;"></div> - <div class="media-body" style="overflow:visible;"> - <div class="row"> - <div class="col-md-12"> - <p><a href="#">Sara Doe:</a> This guy has been going - 100+ MPH on side streets. <br> - <small class="text-muted">August 6, 2016 @ 10:35am - </small> - </p> - </div> - </div> - </div> - </div> - </div> - </div> - </li> - <li class="list-group-item"> - <div class="media"> - <div></div> - <div class="media-body"> - <div class="media" style="overflow:visible;"> - <div><img src="../assets/img/2.jpg" class="mr-3" - style="width: 25px; height:25px;"></div> - <div class="media-body" style="overflow:visible;"> - <div class="row"> - <div class="col-md-12"> - <p><a href="#">Brennan Prill:</a> This guy has been - going 100+ MPH on side streets. <br> - <small class="text-muted">August 6, 2016 @ 10:35am - </small> - </p> - </div> - </div> - </div> - </div> - </div> - </div> - </li> - </ul> - <button class="btn btn-light"> - Add Comment - </button> - </div> - </div> -======= - <button onclick="goBack()" class="btn btn-secondary">Zurueck</button> ->>>>>>> development_master - </td> - </tr> - </table> - </div> - </div> - <footer:footer/> - -</div> - -</body> - -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/specificRequirement.jsp b/gemeinsamforschen/src/main/webapp/pages/specificRequirement.jsp deleted file mode 100644 index 7c2a043255ef4e1e23096946f9daedf3cea2ae79..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/specificRequirement.jsp +++ /dev/null @@ -1,61 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> - -<!DOCTYPE html> -<html> - -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>fltrail</title> - <link rel="stylesheet" href="../assets/css/styles.css"> - <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> - <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css"> - <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> - <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css"> - <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> - <script src="../assets/js/utility.js"></script> - <script src="../assets/js/specificSkills.js"></script> - -</head> - -<body> -<div id="wrapper"> - <menu:menu></menu:menu> - <div class="page-content-wrapper"> - <div class="container-fluid"> - - <h1>Einschreiben in einen Kurs</h1> - <a href="#"><span class="glyphicon glyphicon-envelope" - style="font-size:27px;margin-top:-17px;margin-left:600px;"></span></a> - <a href="#"><span class="glyphicon glyphicon-cog" - style="font-size:29px;margin-left:5px;margin-top:-25px;"></span></a> - </div> - <div align="center"> - <h2>Wie schätzen Sie sich in folgenden Kategorien ein?</h2> - <br><br> - <p><input placeholder="Kriterium1"> - <label>stark<input type="radio" name="groupCriterion1"></label> - <input type="radio" name="groupCriterion1"> - <input type="radio" name="groupCriterion1"> - <input type="radio" name="groupCriterion1"> - <label><input type="radio" name="groupCriterion1">schwach</label> - </p> - <p><input placeholder="Kriterium2"> - <label>stark<input type="radio" name="groupCriterion2"></label> - <input type="radio" name="groupCriterion2"> - <input type="radio" name="groupCriterion2"> - <input type="radio" name="groupCriterion2"> - <label><input type="radio" name="groupCriterion2">schwach</label> - </p> - <button type="button" class="btn btn-light"> + </button> - </div> - <button class="btn btn-default" type="button" id="submit">beitreten</button> - </div> -</div> - - -</body> - -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/specificSkills.jsp b/gemeinsamforschen/src/main/webapp/pages/specificSkills.jsp deleted file mode 100644 index 1f5f24e2d64e948b3cf5873352c35be7a892a02e..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/specificSkills.jsp +++ /dev/null @@ -1,51 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> - -<!DOCTYPE html> -<html> - -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>fltrail</title> - <link rel="stylesheet" href="../assets/css/styles.css"> - <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> - <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css"> - <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> - <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css"> - <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> - <script src="../assets/js/utility.js"></script> - <script src="../assets/js/specificSkills.js"></script> - -</head> - -<body> -<div id="wrapper"> - <menu:menu></menu:menu> - <div class="page-content-wrapper"> - <div class="container-fluid"> - - <h1>Einschreiben in einen Kurs</h1> - <a href="#"><span class="glyphicon glyphicon-envelope" - style="font-size:27px;margin-top:-17px;margin-left:600px;"></span></a> - <a href="#"><span class="glyphicon glyphicon-cog" - style="font-size:29px;margin-left:5px;margin-top:-25px;"></span></a> - </div> - <div align="center"> - <h2>Wie schätzen Sie sich in folgenden Kategorien ein?</h2> - <br><br> - <p>groupCriterion1 - </p> - <p>groupCriterion2 - </p> - - </div> - <button class="btn btn-default" type="button" id="submit">beitreten</button> - </div> -</div> - - -</body> - -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/profile.js b/gemeinsamforschen/src/main/webapp/profile/js/profile.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/profile.js rename to gemeinsamforschen/src/main/webapp/profile/js/profile.js diff --git a/gemeinsamforschen/src/main/webapp/pages/profile.jsp b/gemeinsamforschen/src/main/webapp/profile/profile.jsp similarity index 89% rename from gemeinsamforschen/src/main/webapp/pages/profile.jsp rename to gemeinsamforschen/src/main/webapp/profile/profile.jsp index 18dfc349ff5b1a81f358595049b136b573734040..3304224efeba919ade02152bac8df561c3cb530a 100644 --- a/gemeinsamforschen/src/main/webapp/pages/profile.jsp +++ b/gemeinsamforschen/src/main/webapp/profile/profile.jsp @@ -1,18 +1,18 @@ <%@ page import="unipotsdam.gf.core.management.ManagementImpl" %> <%@ page import="unipotsdam.gf.core.management.user.User" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <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> + <script src="js/profile.js"></script> </head> @@ -25,7 +25,7 @@ <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> @@ -41,8 +41,8 @@ </li> <li class="list-group-item"> <p>Sonstiges:</p> - <form id="uploadimage" method="post" action="../rest/user/student/wiepke"> - <div id="image_preview"><img id="previewing" src="../assets/img/noImg.png" /></div> + <form id="uploadimage" method="post" action="rest/user/student/wiepke"> + <div id="image_preview"><img id="previewing" src="../libs/img/noImg.png" /></div> <hr id="line"> <div id="selectImage"> <label>Select Your Image</label><br/> diff --git a/gemeinsamforschen/src/main/webapp/pages/project-docent.jsp b/gemeinsamforschen/src/main/webapp/project-docent.jsp similarity index 90% rename from gemeinsamforschen/src/main/webapp/pages/project-docent.jsp rename to gemeinsamforschen/src/main/webapp/project-docent.jsp index 5aafa19554988dc0438d51b9bd5fe573390cc479..1533c0d4b5cd540f5c00cc006df3735b55d49b0e 100644 --- a/gemeinsamforschen/src/main/webapp/pages/project-docent.jsp +++ b/gemeinsamforschen/src/main/webapp/project-docent.jsp @@ -1,9 +1,9 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib prefix="communication" uri="/communication/chatWindow.tld" %> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> @@ -11,12 +11,12 @@ <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="0"/> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="0"/> <div class="page-content-wrapper"> <headLine:headLine/> <button @@ -92,9 +92,9 @@ </div> </div> </div> + <footer:footer/> </div> <communication:chatWindow orientation="right" /> -<footer:footer/> </body> </html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp b/gemeinsamforschen/src/main/webapp/project-student.jsp similarity index 85% rename from gemeinsamforschen/src/main/webapp/pages/project-student.jsp rename to gemeinsamforschen/src/main/webapp/project-student.jsp index ddb3cae7992b5aa6647c19e7386f54ffef99c2ed..63562e8b66fa2b753455eb8d8b703094a1687d89 100644 --- a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp +++ b/gemeinsamforschen/src/main/webapp/project-student.jsp @@ -1,9 +1,9 @@ <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%--suppress XmlDuplicatedId --%> -<%@ 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="footer" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> @@ -14,15 +14,15 @@ <html> <head> - <omniDependencies:omniDependencies/> - <script src="../assets/js/project-student.js"></script> - <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> + <omniDependencies:omniDependencies hierarchy="0"/> + <script src="core/project-student.js"></script> + <link rel="stylesheet" href="../libs/css/Community-ChatComments.css"> </head> <body> <div id="wrapper"> - <menu:menu/> + <menu:menu hierarchy="0"/> <div class="page-content-wrapper"> <headLine:headLine/> @@ -37,7 +37,7 @@ <td width="100px" valign="top"> <h3>student1</h3> - <img src="../assets/img/1.jpg"> + <img src="libs/img/1.jpg"> <a href="#">student1@uni.de</a> <hr> <ul> @@ -62,7 +62,7 @@ <td width="100px" valign="top"> <h3>student2</h3> - <img src="../assets/img/2.jpg"> + <img src="libs/img/2.jpg"> <a href="#">student2@uni.de</a> <hr> <ul> @@ -93,7 +93,7 @@ <td width="100px" valign="top"> <h3>student3</h3> - <img src="../assets/img/3.jpg"> + <img src="libs/img/3.jpg"> <a href="#">student3@uni.de</a> <hr> <ul id="submissionUpload"> @@ -102,8 +102,6 @@ </tr> </table> - - <button onclick="goBack()" class="btn btn-secondary">Zurück</button> </td> </tr> </table> diff --git a/gemeinsamforschen/src/main/webapp/register.jsp b/gemeinsamforschen/src/main/webapp/register.jsp index 0396159dbb413f1b82940e19458f550474e000bc..6cc51b088ff3c79435f4d5554c6e1904de78fce8 100644 --- a/gemeinsamforschen/src/main/webapp/register.jsp +++ b/gemeinsamforschen/src/main/webapp/register.jsp @@ -5,18 +5,15 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Gruppenmatcher</title> - <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css"> + <title>flTrail</title> + <link rel="stylesheet" href="libs/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700"> - <link rel="stylesheet" href="assets/css/Login-Form-Clean.css"> - <link rel="stylesheet" href="assets/css/Navigation-with-Button1.css"> - <link rel="stylesheet" href="assets/css/Sidebar-Menu.css"> - <link rel="stylesheet" href="assets/css/Sidebar-Menu1.css"> - <link rel="stylesheet" href="assets/css/styles.css"> - - <script src="assets/js/jquery.min.js"></script> - <script src="assets/bootstrap/js/bootstrap.min.js"></script> - <script src="assets/js/Sidebar-Menu.js"></script> + <link rel="stylesheet" href="libs/css/Login-Form-Clean.css"> + <link rel="stylesheet" href="libs/css/Navigation-with-Button1.css"> + <link rel="stylesheet" href="libs/css/Sidebar-Menu.css"> + <link rel="stylesheet" href="libs/css/Sidebar-Menu1.css"> + <script src="libs/jquery/jquery.min.js"></script> + <script src="libs/bootstrap/js/bootstrap.min.js"></script> </head> <body> @@ -24,7 +21,7 @@ <%--<form method="post" action="./servlet/createUser">--%> <form method="post" action="./rest/user/create"> <h2 class="sr-only">Login Formular</h2> - <div class="illustration"><img src="assets/img/fides-logo.svg"></div> + <div class="illustration"><img src="libs/img/fides-logo.svg"></div> <div class="form-group"><input class="form-control" name="name" placeholder="Name"></div> <div class="form-group"><input class="form-control" type="email" name="email" placeholder="Email"></div> <div class="form-group"><input class="form-control" type="password" name="password" placeholder="Password"> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportBibo.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp similarity index 74% rename from gemeinsamforschen/src/main/webapp/pages/researchReportBibo.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp index edda05a84cad978cd2f722ce55a37f38ca9c0d06..c873d1f9dc3079141f0e1eac0ca9797c1f0faeed 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportBibo.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp @@ -1,23 +1,27 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> + +<!-- Tipp @Johannes_: du kannst eine jsp verwenden anstatt 10, die immer wieder auf sich selber verweist und dabei +den Zustand ändert +--> + <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> - <title>Forschungsbericht erstellen</title> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> </head> <body> <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -37,8 +41,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="researchReportQuestion.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportRecherche.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="create-question.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-research.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> <input type="file" class="filepond" name="filepond"> </input> @@ -68,8 +72,8 @@ </div> -<script src="../assets/js/createReportBibo.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportBibo.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportConcept.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp similarity index 72% rename from gemeinsamforschen/src/main/webapp/pages/researchReportConcept.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp index 7e1516822394fcb490e0ebfc49a065b658cfd6e4..015039086e8b24597ff833aefc3293c2091270eb 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportConcept.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp @@ -1,16 +1,15 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> - <title>Forschungsbericht erstellen</title> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> </head> <body> @@ -30,8 +29,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="researchReportMethod.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportQuestion.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="create-method.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-question.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> <input type="file" class="filepond" name="filepond"> </input> @@ -55,8 +54,8 @@ </form> -<script src="../assets/js/createReportConcept.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportConcept.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportEvaluation.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp similarity index 76% rename from gemeinsamforschen/src/main/webapp/pages/researchReportEvaluation.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp index 14e034a250e36e161926ccc873a9c08727e7fc9c..51d848e9c4749257a603efb2ed67b09b90e912b7 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportEvaluation.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp @@ -1,15 +1,15 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> <title>Forschungsbericht erstellen</title> </head> <body> @@ -17,7 +17,7 @@ <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -36,8 +36,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="project-student.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportDo.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="../project-student.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-process-description.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> <input type="file" class="filepond" name="filepond"> </input> @@ -67,8 +67,8 @@ </div> -<script src="../assets/js/createReportEvaluation.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportEvaluation.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportMethod.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp similarity index 76% rename from gemeinsamforschen/src/main/webapp/pages/researchReportMethod.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp index 1722e68b7d6ff471c3f4843d5dd3f843e47d9561..1749e97343ff3c0c34fd7f7df96682c864f6a2ef 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportMethod.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp @@ -1,15 +1,15 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> <title>Forschungsbericht erstellen</title> </head> <body> @@ -17,7 +17,7 @@ <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -37,8 +37,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="researchReportDo.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportConcept.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="create-process-description.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-concept.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> <input type="file" class="filepond" name="filepond"> </input> @@ -68,8 +68,8 @@ </div> -<script src="../assets/js/createReportMethod.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportMethod.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportOverview.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp similarity index 89% rename from gemeinsamforschen/src/main/webapp/pages/researchReportOverview.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp index 014075eee00ae3a74cb07577d1df4d61ad550ea1..46f297f0a22681a3cb96257c4cb12cbe7e51a00b 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportOverview.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp @@ -1,17 +1,17 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1", charset="utf-8"> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReportOverview.css"> - <script src="../assets/js/createReportOverview.js"></script> + <link rel="stylesheet" type="text/css" href="css/researchReportOverview.css"> + <script src="js/createReportOverview.js"></script> <title>Forschungsbericht Ãœbersicht</title> @@ -20,7 +20,7 @@ <body> <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportDo.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp similarity index 76% rename from gemeinsamforschen/src/main/webapp/pages/researchReportDo.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp index 8fe4788e758133981ca9f02ff0345f100e2de69a..1e8d3e7d149d57276b63cb66bd21073a8dd1d948 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportDo.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp @@ -1,15 +1,15 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> <title>Forschungsbericht erstellen</title> </head> <body> @@ -17,7 +17,7 @@ <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -36,8 +36,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="researchReportEvaluation.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportMethod.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="create-evaluation.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-method.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> <input type="file" class="filepond" name="filepond"> </input> @@ -67,8 +67,8 @@ </div> -<script src="../assets/js/createReportDo.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportDo.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportQuestion.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp similarity index 76% rename from gemeinsamforschen/src/main/webapp/pages/researchReportQuestion.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp index 8b69897fa00c07c0042cd6b0e645272351ce9576..f70436ce9d8fe57fe4d2d390f8469e67d5d7805d 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportQuestion.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp @@ -1,16 +1,16 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> <title>Forschungsbericht erstellen</title> </head> <body> @@ -19,7 +19,7 @@ <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -39,8 +39,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="researchReportConcept.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportBibo.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="create-concept.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-bibliography.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> <input type="file" class="filepond" name="filepond"> </input> @@ -69,8 +69,8 @@ </div> -<script src="../assets/js/createReportQuestion.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportQuestion.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportRecherche.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp similarity index 76% rename from gemeinsamforschen/src/main/webapp/pages/researchReportRecherche.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp index 4dcecad36722f6527192a266331b945cbe566ab9..ce4f3d40be427955726ed528c12cd4dc15bcaf1d 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportRecherche.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp @@ -1,22 +1,22 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu"%> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> <title>Forschungsbericht erstellen</title> </head> <body> <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -37,8 +37,8 @@ </textarea> </div> <div class="ResearchReportButtons"> - <button class="researchReportButtons"><a href="researchReportBibo.jsp">Speichern & weiter</a></button> - <button class="researchReportButtons"><a href="researchReportTitle.jsp"> Zurück </a></button> + <button class="researchReportButtons"><a href="create-bibliography.jsp">Speichern & weiter</a></button> + <button class="researchReportButtons"><a href="create-title.jsp"> Zurück </a></button> </div> <div class="ResearchReportUpload"> @@ -71,8 +71,8 @@ -<script src="../assets/js/createReportRecherche.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportRecherche.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportTitle.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp similarity index 86% rename from gemeinsamforschen/src/main/webapp/pages/researchReportTitle.jsp rename to gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp index 87a24067f088992a897f101860c5b647c167885a..d2b1a0a5ebe444fbf6f4b569352fb3398b577089 100644 --- a/gemeinsamforschen/src/main/webapp/pages/researchReportTitle.jsp +++ b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp @@ -1,22 +1,22 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ 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/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> <!DOCTYPE html> <html> <head> - <omniDependencies:omniDependencies/> + <omniDependencies:omniDependencies hierarchy="1"/> <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond --> <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond --> - <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css"> + <link rel="stylesheet" type="text/css" href="css/researchReport.css"> <title>Forschungsbericht erstellen</title> </head> <body> <div id="wrapper"> - <menu:menu></menu:menu> + <menu:menu hierarchy="1"/> <div class="page-content-wrapper"> <headLine:headLine/> <div style="margin-left:50px;"> @@ -80,8 +80,8 @@ </div> -<script src="../assets/js/createReportTitle.js"></script> -<script src="../assets/js/createReportProgress.js"></script> +<script src="js/createReportTitle.js"></script> +<script src="js/createReportProgress.js"></script> <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond --> <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond --> <script>FilePond.parse(document.body);</script> <!--FilePond --> diff --git a/gemeinsamforschen/src/main/webapp/assets/css/researchReport.css b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/researchReport.css rename to gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css diff --git a/gemeinsamforschen/src/main/webapp/assets/css/researchReportOverview.css b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/css/researchReportOverview.css rename to gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportBibo.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportBibo.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportConcept.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportConcept.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportDo.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportDo.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportEvaluation.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportEvaluation.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportMethod.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportMethod.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportOverview.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js similarity index 74% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportOverview.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js index 1c28d5e60c9e92d28fa0955d73310f5f63fb10c3..46d02dfecb3a3a02f7c83a92611f50696339229e 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/createReportOverview.js +++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js @@ -5,7 +5,7 @@ $(document).ready(function() { $('#student').val(student); $('#project').val(project); $('#uploader').on('click', function(){ - //location.href="researchReportTitle.jsp?token="+getUserTokenFromUrl(); + //location.href="create-title.jsp?token="+getUserTokenFromUrl(); //boolean uploaded=true; }); $('#backLink').on('click', function(){ @@ -14,7 +14,7 @@ $(document).ready(function() { }); $('#forwardLink').on('click', function(){ - location.href = "researchReportTitle.jsp?token=" + student + "&projectId=" + project; + location.href = "create-title.jsp?token=" + student + "&projectId=" + project; return false; }); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportProgress.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js similarity index 51% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportProgress.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js index 943d90fccab49e3b57a87cbfca5382cc6e6cf68f..b578bcfe01c1988fa1eb4db9653bc2eaf94ebe2f 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/createReportProgress.js +++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js @@ -6,35 +6,35 @@ $(document).ready(function() { $('#project').val(project); $('#title').on('click', function(){ - location.href = "researchReportTitle.jsp?token=" + student + "&projectId=" + project; + location.href = "create-title.jsp?token=" + student + "&projectId=" + project; return false; }); $('#recherche').on('click', function(){ - location.href = "researchReportRecherche.jsp?token=" + student + "&projectId=" + project; + location.href = "create-research.jsp?token=" + student + "&projectId=" + project; return false; }); $('#bibo').on('click', function(){ - location.href = "researchReportBibo.jsp?token=" + student + "&projectId=" + project; + location.href = "create-bibliography.jsp?token=" + student + "&projectId=" + project; return false; }); $('#question').on('click', function(){ - location.href = "researchReportQuestion.jsp?token=" + student + "&projectId=" + project; + location.href = "create-question.jsp?token=" + student + "&projectId=" + project; return false; }); $('#concept').on('click', function(){ - location.href = "researchReportConcept.jsp?token=" + student + "&projectId=" + project; + location.href = "create-concept.jsp?token=" + student + "&projectId=" + project; return false; }); $('#method').on('click', function(){ - location.href = "researchReportMethod.jsp?token=" + student + "&projectId=" + project; + location.href = "create-method.jsp?token=" + student + "&projectId=" + project; return false; }); $('#reportDo').on('click', function(){ - location.href = "researchReportDo.jsp?token=" + student + "&projectId=" + project; + location.href = "create-process-description.jsp?token=" + student + "&projectId=" + project; return false; }); $('#evaluation').on('click', function(){ - location.href = "researchReportEvaluation.jsp?token=" + student + "&projectId=" + project; + location.href = "create-evaluation.jsp?token=" + student + "&projectId=" + project; return false; }); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportQuestion.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportQuestion.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportRecherche.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportRecherche.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportTitle.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/createReportTitle.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js diff --git a/gemeinsamforschen/src/main/webapp/assets/js/researchReportUpload.js b/gemeinsamforschen/src/main/webapp/researchReport/js/researchReportUpload.js similarity index 100% rename from gemeinsamforschen/src/main/webapp/assets/js/researchReportUpload.js rename to gemeinsamforschen/src/main/webapp/researchReport/js/researchReportUpload.js diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp b/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp index 4f2ddf97366c1617b8aad74c34fe72937b36fea1..e1b81b465b971d6f33be838634b9a1f0a484f192 100644 --- a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp +++ b/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp @@ -6,7 +6,7 @@ To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ taglib prefix="gf" uri="../core/pages/gemeinsamForschen.tld" %> +<%@ taglib prefix="gf" uri="../core/gemeinsamForschen.tld" %> <html> <head> <title>Title</title> diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp b/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp index a6e570bc3814fac53418a447f95854fe729a2224..4e58d95d9b1c81aa9c3345c323c39e0f5f82d01e 100644 --- a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp +++ b/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp @@ -6,7 +6,7 @@ To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ taglib prefix="gf" uri="../core/pages/gemeinsamForschen.tld" %> +<%@ taglib prefix="gf" uri="../core/gemeinsamForschen.tld" %> <html> <head> <title>Big Deal</title> diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql new file mode 100644 index 0000000000000000000000000000000000000000..873c6a89affc378b88bb7c2bf2bbbb438ac0f770 --- /dev/null +++ b/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql @@ -0,0 +1,4 @@ +INSERT INTO `projects` (`id`, `password`, `active`, `timecreated`, `author`, `adminPassword`, `token`, `phase`) VALUES +('Kaleo', 'password', 1, '2018-09-07 12:13:21', 'axel', '1234', '4pingsfelmf4', 'CourseCreation'), +('gemeinsamForschen', 'password', 1, '2018-09-13 08:55:02', 'axel', '1234', '32ptng45g9', 'Execution'); +COMMIT; \ No newline at end of file diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql index e578511f6f5df1bf7e62c2c23bcb2a2ec8c01bca..c68466c5976964bcda06d67682119bd561593a50 100644 --- a/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql +++ b/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql @@ -1,34 +1,26 @@ drop TABLE `users`; -CREATE TABLE `users` ( - `name` varchar(400) NOT NULL, - `password` varchar(200) NOT NULL, - `email` varchar(400) NOT NULL, - `token` varchar(800) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE if not exists `users` ( + `name` varchar(100) NOT NULL, + `password` varchar(200) NOT NULL, + `email` varchar(255) NOT NULL, + `token` varchar(800) NOT NULL, + `rocketChatId` varchar(400) NOT NULL, + `rocketChatAuthToken` varchar(800) NOT NULL, + UNIQUE (email) +)ENGINE = InnoDB DEFAULT CHARSET = utf8; -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent1', 'egal', 'test1@uni.de', 'test1'); -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent1', 'egal', 'test1@uni.de', 'test1'); +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent1', 'egal', 'test1@uni.de', 'test1','1','abc'); -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent2', 'egal', 'test2@uni.de', 'test2'); +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent1', 'egal', 'test2@uni.de', 'test1','1','abc'); -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent3', 'egal', 'test3@uni.de', 'test3'); +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent1', 'egal', 'test3@uni.de', 'test1','1','abc'); -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent4', 'egal', 'test4@uni.de', 'test4'); - -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent5', 'egal', 'test5@uni.de', 'test5'); - -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent6', 'egal', 'test6@uni.de', 'test6'); - -INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES - ('teststudent7', 'egal', 'test7@uni.de', 'test7'); +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent1', 'egal', 'test4@uni.de', 'test1','1','abc'); \ No newline at end of file diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql new file mode 100644 index 0000000000000000000000000000000000000000..3e5d984640d2942ef1754f7c01c6a38af115c7e4 --- /dev/null +++ b/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql @@ -0,0 +1,54 @@ +/* + Make sure all tables are created with fltrail.sql + Functions with empty grouptable only (because of autoincrement id of group) + */ + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent1', 'egal', 'test1@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent2', 'egal', 'test2@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent3', 'egal', 'test3@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent4', 'egal', 'test4@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent5', 'egal', 'test5@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent6', 'egal', 'test6@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent7', 'egal', 'test7@uni.de', 'test1','1','abc'); + +INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES + ('teststudent8', 'egal', 'test8@uni.de', 'test1','1','abc'); + +INSERT INTO `projects` (`id`, `password`,`active`,`timecreated`,`author`,`adminpassword`,`token`,`phase`) VALUES + ('1','123',1,current_timestamp,'Julian','123','abc','CourseCreation'); + +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test1@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test2@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test3@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test4@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test5@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test6@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test7@uni.de'); +INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test8@uni.de'); + +INSERT INTO groups (projectId, chatRoomId) VALUES ('1','1'); +INSERT INTO groups (projectId, chatRoomId) VALUES ('1','2'); +INSERT INTO groups (projectId, chatRoomId) VALUES ('1','3'); +INSERT INTO groups (projectId, chatRoomId) VALUES ('1','4'); + +INSERT INTO groupuser (userEmail, groupId) VALUES ('test1@uni.de','1'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test2@uni.de','2'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test3@uni.de','3'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test4@uni.de','4'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test5@uni.de','1'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test6@uni.de','2'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test7@uni.de','3'); +INSERT INTO groupuser (userEmail, groupId) VALUES ('test8@uni.de','4'); \ No newline at end of file diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql index 1e6c8d247aeaf038a61c50d910effc7168f1aa4a..062476e03983706cdbc49fa9fd997c1f5a6534bf 100644 --- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql +++ b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql @@ -9,58 +9,79 @@ SET time_zone = "+00:00"; /*!40101 SET NAMES utf8mb4 */; -CREATE TABLE `annotations` ( +CREATE TABLE if not exists `annotations` ( `id` varchar(120) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `userId` int(11) DEFAULT NULL, - `targetId` int(11) DEFAULT NULL, - `body` varchar(280) DEFAULT NULL, + `userToken` varchar(120) DEFAULT NULL, + `targetId` varchar(120) DEFAULT NULL, + `targetCategory` VARCHAR(30) NOT NULL, + `title` varchar(120) DEFAULT NULL, + `comment` varchar(400) DEFAULT NULL, `startCharacter` int(11) DEFAULT NULL, - `endCharacter` int(11) DEFAULT NULL + `endCharacter` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE if not exists `fullsubmissions` ( + `id` VARCHAR(120) NOT NULL, + `timestamp` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + `user` VARCHAR(120) NOT NULL, + `text` MEDIUMTEXT NOT NULL, + `projectId` VARCHAR(120) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE if not exists `submissionparts` ( + `timestamp` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + `userId` VARCHAR(120) NOT NULL, + `fullSubmissionId` VARCHAR(120) NOT NULL, + `category` VARCHAR(30) NOT NULL, + PRIMARY KEY (`fullSubmissionId`, `category`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE if not exists `submissionpartbodyelements` ( + `fullSubmissionId` VARCHAR(120) NOT NULL, + `category` VARCHAR(30) NOT NULL, + `startCharacter` int(11) NOT NULL, + `endCharacter` int(11) NOT NULL, + PRIMARY KEY (`fullSubmissionId`, `category`, `startCharacter`, `endCharacter`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + CREATE TABLE `answeredquiz` ( `projectId` varchar(400) NOT NULL, `studentId` varchar(400) NOT NULL, `question` varchar(400) NOT NULL, `correct` tinyint(4) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - CREATE TABLE `contributionrating` ( `groupId` int(11) NOT NULL, `fromPeer` varchar(400) NOT NULL, `dossier` int(11) NOT NULL, `research` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - CREATE TABLE `grades` ( `projectId` varchar(400) NOT NULL, `studentId` varchar(400) NOT NULL, `grade` double NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - CREATE TABLE `groups` ( `id` int(11) NOT NULL, `projectId` varchar(400) NOT NULL, `chatRoomId` varchar(400) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE `groupuser` ( `studentId` varchar(400) NOT NULL, `projectId` varchar(400) NOT NULL, `groupId` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE `phasesselected` ( `projectId` varchar(100) NOT NULL, `phaseSelected` varchar(200) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - CREATE TABLE `profilepicture` ( `studentId` varchar(200) NOT NULL, `image` longblob NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - CREATE TABLE `projects` ( `id` varchar(400) NOT NULL, `password` varchar(400) NOT NULL, @@ -85,12 +106,10 @@ CREATE TABLE `quiz` ( `answer` varchar(400) NOT NULL, `correct` tinyint(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE `tags` ( `projectId` varchar(400) NOT NULL, `tag` varchar(400) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE `tasks` ( `userId` varchar(400) NOT NULL, `projectId` varchar(400) NOT NULL, @@ -105,7 +124,9 @@ CREATE TABLE `users` ( `rocketChatId` varchar(400) NOT NULL, `rocketChatAuthToken` varchar(800) NOT NULL, `isStudent` tinyint(1) DEFAULT '1' -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) + ENGINE = InnoDB + DEFAULT CHARSET = utf8; CREATE TABLE `workrating` ( `projectId` varchar(400) NOT NULL, @@ -118,10 +139,6 @@ CREATE TABLE `workrating` ( `autonomous` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -ALTER TABLE `annotations` - ADD PRIMARY KEY (`id`); - ALTER TABLE `groups` ADD PRIMARY KEY (`id`); diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig index 0a4cf820cd2c5dae6d31fc8cb069ef2a37005018..503b1b82eada5064c0b20cb238f5b9ee6540cdfc 100644 --- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig +++ b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig @@ -1,218 +1,260 @@ -CREATE DATABASE IF NOT EXISTS `fltrail` +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; - DEFAULT CHARACTER SET utf8 +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; - COLLATE utf8_general_ci; +<<<<<<< HEAD +CREATE TABLE `annotations` ( + `id` varchar(120) NOT NULL, + `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `userId` int(11) DEFAULT NULL, + `targetId` int(11) DEFAULT NULL, + `body` varchar(280) DEFAULT NULL, + `startCharacter` int(11) DEFAULT NULL, + `endCharacter` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `answeredquiz` ( + `projectId` varchar(400) NOT NULL, + `studentId` varchar(400) NOT NULL, + `question` varchar(400) NOT NULL, + `correct` tinyint(4) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE `contributionrating` ( + `groupId` int(11) NOT NULL, + `fromPeer` varchar(400) NOT NULL, + `dossier` int(11) NOT NULL, + `research` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE `grades` ( + `projectId` varchar(400) NOT NULL, + `studentId` varchar(400) NOT NULL, + `grade` double NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE `groups` ( + `id` int(11) NOT NULL, + `projectId` varchar(400) NOT NULL, + `chatRoomId` varchar(400) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `groupuser` ( + `studentId` varchar(400) NOT NULL, + `projectId` varchar(400) NOT NULL, + `groupId` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `phasesselected` ( + `projectId` varchar(100) NOT NULL, + `phaseSelected` varchar(200) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE `profilepicture` ( + `studentId` varchar(200) NOT NULL, + `image` longblob NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE `projects` ( + `id` varchar(400) NOT NULL, + `password` varchar(400) NOT NULL, + `active` tinyint(1) NOT NULL, + `timecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `author` varchar(400) NOT NULL, + `adminPassword` varchar(400) NOT NULL, + `token` varchar(400) NOT NULL, + `phase` varchar(400) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `projectuser` ( + `projectId` varchar(400) NOT NULL, + `userId` varchar(400) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `quiz` ( + `studentId` varchar(400) NOT NULL, + `projectId` varchar(400) NOT NULL, + `question` varchar(400) NOT NULL, + `mcType` varchar(400) NOT NULL, + `answer` varchar(400) NOT NULL, + `correct` tinyint(1) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tags` ( + `projectId` varchar(400) NOT NULL, + `tag` varchar(400) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `tasks` ( + `userId` varchar(400) NOT NULL, + `projectId` varchar(400) NOT NULL, + `taskUrl` varchar(400) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `users` ( + `name` varchar(400) NOT NULL, + `password` varchar(200) NOT NULL, + `email` varchar(255) NOT NULL, + `token` varchar(800) NOT NULL, + `rocketChatId` varchar(400) NOT NULL, + `rocketChatAuthToken` varchar(800) NOT NULL, + `isStudent` tinyint(1) DEFAULT '1' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `workrating` ( + `projectId` varchar(400) NOT NULL, + `studentId` varchar(400) NOT NULL, + `fromPeer` varchar(400) NOT NULL, + `responsibility` int(11) NOT NULL, + `partOfWork` int(11) NOT NULL, + `cooperation` int(11) NOT NULL, + `communication` int(11) NOT NULL, + `autonomous` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +======= USE `fltrail`; CREATE TABLE if not exists `projects` ( - `id` varchar(100) NOT NULL, - `password` varchar(400) NOT NULL, - `active` tinyint(1) NOT NULL, - `timecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `author` varchar(400) NOT NULL, - `adminPassword` varchar(400) NOT NULL, - `token` varchar(400) NOT NULL, - `phase` varchar(400) NOT NULL -) - - ENGINE = InnoDB - - DEFAULT CHARSET = utf8; +)ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE if not exists `groups` ( - `id` int NOT NULL AUTO_INCREMENT, - `projectId` varchar(400) NOT NULL, - `chatRoomId` varchar(400) NOT NULL, - PRIMARY KEY (id) +) ENGINE = InnoDB DEFAULT CHARSET = utf8; -) - - ENGINE = InnoDB - - DEFAULT CHARSET = utf8; - -CREATE TABLE if not exists groupuser - -( - +CREATE TABLE if not exists groupuser ( userEmail varchar(400) NOT NULL, - groupId int NOT NULL - -) - - ENGINE = InnoDB - - DEFAULT CHARSET = utf8; +) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE if not exists `tags` ( - `projectId` varchar(100) NOT NULL, - `tag` varchar(400) NOT NULL - -) - - ENGINE = InnoDB - +) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE if not exists `users` ( - `name` varchar(100) NOT NULL, - `password` varchar(200) NOT NULL, - `email` varchar(255) NOT NULL, - `token` varchar(800) NOT NULL, - `rocketChatId` varchar(400) NOT NULL, - `rocketChatAuthToken` varchar(800) NOT NULL, - + `isStudent` TINYINT(1), UNIQUE (email) ) - ENGINE = InnoDB - DEFAULT CHARSET = utf8; -CREATE TABLE if not exists projectuser - -( - +CREATE TABLE if not exists projectuser ( projectId varchar(100) NOT NULL, - userId varchar(100) NOT NULL - ) - ENGINE = InnoDB - DEFAULT CHARSET = utf8; CREATE TABLE if not exists `annotations` ( - `id` varchar(120) NOT NULL, - `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `userToken` varchar(120) DEFAULT NULL, - `targetId` int(11) DEFAULT NULL, - `title` varchar(120) DEFAULT NULL, - `comment` varchar(400) DEFAULT NULL, - `startCharacter` int(11) DEFAULT NULL, - `endCharacter` int(11) DEFAULT NULL, + `id` varchar(120) NOT NULL, + `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, + `userToken` varchar(120) DEFAULT NULL, + `targetId` int(11) DEFAULT NULL, + `title` varchar(120) DEFAULT NULL, + `comment` varchar(400) DEFAULT NULL, + `startCharacter` int(11) DEFAULT NULL, + `endCharacter` int(11) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) + ENGINE = InnoDB + DEFAULT CHARSET = utf8; alter table users - add isStudent tinyint(1) default '1' null; -CREATE TABLE if not exists quiz - -( - +CREATE TABLE if not exists quiz ( author varchar(400) NOT NULL, - projectId varchar(400) NOT NULL, - question varchar(400) NOT NULL, - mcType varchar(400) NOT NULL, - answer varchar(400) NOT NULL, - correct tinyint(1) NOT NULL - ) - ENGINE = InnoDB - DEFAULT CHARSET = utf8; -CREATE TABLE if not exists tasks - -( - +CREATE TABLE if not exists tasks ( userId varchar(400) NOT NULL, - projectId varchar(400) NOT NULL, - taskUrl varchar(400) NOT NULL ) - ENGINE = InnoDB - DEFAULT CHARSET = utf8; +>>>>>>> origin/#40_dummyProjectCreation +ALTER TABLE `annotations` + ADD PRIMARY KEY (`id`); +<<<<<<< HEAD +ALTER TABLE `groups` + ADD PRIMARY KEY (`id`); + +ALTER TABLE `projectuser` + ADD KEY `projectId` (`projectId`(255),`userId`(255)); + +ALTER TABLE `users` + ADD UNIQUE KEY `email` (`email`); + +======= CREATE TABLE if not exists phasesSelected ( - `projectId` varchar(100) NOT NULL, + `projectId` varchar(100) NOT NULL, phaseSelected varchar(200) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE if not exists categoriesSelected ( - `projectId` varchar(100) NOT NULL, - categorySelected varchar(200) NOT NULL + `projectId` varchar(100) NOT NULL, + categorySelected varchar(200) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE if not exists groupfindingMechanismSelected ( - `projectId` varchar(100) NOT NULL, - gfmSelected varchar(200) NOT NULL + `projectId` varchar(100) NOT NULL, + gfmSelected varchar(200) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE if not exists assessmentMechanismSelected ( - `projectId` varchar(100) NOT NULL, - amSelected varchar(200) NOT NULL + `projectId` varchar(100) NOT NULL, + amSelected varchar(200) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8; +>>>>>>> origin/#40_dummyProjectCreation -<<<<<<< HEAD - DEFAULT CHARSET = utf8; - -CREATE TABLE if not exists grades - -( - - projectId varchar(400) NOT NULL, - - studentId varchar(400) NOT NULL, - - grade double NOT NULL -) - - ENGINE = InnoDB - - DEFAULT CHARSET = utf8; -======= -ALTER TABLE `projectuser` - ADD INDEX (`projectId`, `userId`); -ALTER TABLE `projectuser` - ADD UNIQUE (`projectId`, `userId`); -ALTER TABLE `projects` - ADD UNIQUE (`id`); ->>>>>>> origin/session_management +ALTER TABLE `groups` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; +COMMIT; \ No newline at end of file diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java index 2022098901c1d33133d46ffa6ebe1268e8b960d9..284258c144cf54efabc89250533c0573edcd4e43 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java @@ -17,7 +17,7 @@ import unipotsdam.gf.core.management.Management; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.ProjectConfiguration; import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria; import unipotsdam.gf.modules.journal.model.Journal; diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java index 9d59d39a89bade2431dee22455ef1bcc457c1f2a..fa948cc8054747957ec225561db6bcf8e2ecea1e 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java @@ -10,7 +10,7 @@ import unipotsdam.gf.core.management.ManagementImpl; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import javax.inject.Inject; public class PhaseTest { diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java index cb7e6b830ee9af24b2b7f60c99e7a1bb45fc0cf2..1b13a03bcf124f3a2edb682104bce1e56a19bd7b 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java @@ -1,6 +1,8 @@ package unipotsdam.gf.modules.assessment; import org.junit.Test; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.service.FBAssessement; @@ -9,6 +11,8 @@ import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; import java.util.ArrayList; import java.util.HashMap; import java.util.List; + +import static javax.swing.UIManager.getString; import java.util.Map; public class TestAddAssessment { @@ -86,5 +90,61 @@ public class TestAddAssessment { //Assessment assessment = new Assessment(student, performance); //iPeerAssessment.addAssessmentDataToDB(assessment); } + @Test + public void meanOfAssessments(){ + double Ergebnis=0.0; + double zwischenErgebnis=0.0; + double counter=0.0; + List<Double> results = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + + connect.connect(); + String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?"; + String test = "fgnxn"; + String test2 = "projekt"; + VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,test, test2); + while (ausgabe.next()){ + counter++; + zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung"); + results.add((double) ausgabe.getInt("bewertung")); + } + results.add(zwischenErgebnis/counter); + System.out.println(results); + //Integer bewertung = ausgabe.getInt("bewertung"); + connect.close(); + } + @Test + public void groupDatafromDB(){ + MysqlConnect connect = new MysqlConnect(); + List<String> userNamen=new ArrayList<>(); + GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets(); + GroupEvalDataList datenDia = new GroupEvalDataList(); + connect.connect(); + + String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? "; + + VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3); + int[] bewertungenZwischen=new int[10]; + while (namenDerUser.next()){ + userNamen.add(namenDerUser.getString("userEmail")); + } + for (int i=0;i<userNamen.size();i++){ + String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?"; + VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i)); + + while (bewertungDerUser.next()) { + //bewertungenZwischen.add(bewertungDerUser.getInt("bewertung")); + System.out.println("Hass"); + } + datenSaetze.setData(bewertungenZwischen); + //datenSaetze.setLabel(userNamen.get(i)); + datenDia.appendDataSet(datenSaetze); + System.out.println(datenSaetze.getData()); + System.out.println(datenSaetze.getLabel()); + + } + connect.close(); + } + } diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig new file mode 100644 index 0000000000000000000000000000000000000000..9551fecdd8a1ff851d2613269ab51347f7b791cc --- /dev/null +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig @@ -0,0 +1,156 @@ +package unipotsdam.gf.modules.assessment; + +import org.junit.Test; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.modules.assessment.controller.service.FBAssessement; +<<<<<<< HEAD +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +======= + +import java.util.ArrayList; +import java.util.List; + +import static javax.swing.UIManager.getString; +>>>>>>> origin/PeerAssessmentChristian_2 + +public class TestAddAssessment { + + private IPeerAssessment peer = new PeerAssessment(); + private String studentId = "Kevin"; + private String projectId = "test a la test"; + private String quizId = "Whats a good Test?"; + + @Test + public void createQuiz(){ + StudentAndQuiz studentAndQuiz = new StudentAndQuiz(); + StudentIdentifier student = new StudentIdentifier(projectId, studentId); + studentAndQuiz.setStudentIdentifier(student); + Quiz quiz = new Quiz(); + ArrayList<String> correctAnswers = new ArrayList<>(); + correctAnswers.add("1"); + correctAnswers.add("2"); + correctAnswers.add("3"); + ArrayList<String> incorrectAnswers = new ArrayList<>(); + incorrectAnswers.add("4"); + incorrectAnswers.add("5"); + incorrectAnswers.add("6"); + quiz.setQuestion(quizId); + quiz.setIncorrectAnswers(incorrectAnswers); + quiz.setType("mc"); + quiz.setCorrectAnswers(correctAnswers); + studentAndQuiz.setQuiz(quiz); + peer.createQuiz(studentAndQuiz); + } + + @Test + public void getAllQuizzesInProject(){ + peer.getQuiz(projectId); + } + + @Test + public void getQuiz(){ + peer.getQuiz(projectId, quizId, studentId); + } + + @Test + public void answerQuiz(){ + Map<String, List<String>> questions = new HashMap<>(); + StudentIdentifier student = new StudentIdentifier(projectId, studentId); + List<String> answers = new ArrayList<>(); + answers.add("1"); + answers.add("2"); + answers.add("3"); + questions.put(quizId, answers); + peer.answerQuiz(questions, student); + } + + @Test + public void deleteQuiz(){ + peer.deleteQuiz(quizId); + } + + @Test + public void addTestAssessment() { + IPeerAssessment iPeerAssessment = new FBAssessement(); + int [] quizAnswers = new int[5]; + quizAnswers[0] = 0; + quizAnswers[1] = 1; + quizAnswers[2] = 0; + quizAnswers[3] = 1; + quizAnswers[4] = 1; + int [] workRating = new int[3]; + workRating[0] = 5; //Führungsqualität + workRating[1] = 1; //Pünktlichkeit + workRating[2] = 4; //Hilfsbereitschaft oder so + + StudentIdentifier student = new StudentIdentifier("Spaß", "Haralf"); + //Performance performance = new Performance(student, quizAnswers,"so ein toller Typ", workRating); + //Assessment assessment = new Assessment(student, performance); + //iPeerAssessment.addAssessmentDataToDB(assessment); + } + @Test + public void meanOfAssessments(){ + double Ergebnis=0.0; + double zwischenErgebnis=0.0; + double counter=0.0; + List<Double> results = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + + connect.connect(); + String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?"; + String test = "fgnxn"; + String test2 = "projekt"; + VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,test, test2); + while (ausgabe.next()){ + counter++; + zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung"); + results.add((double) ausgabe.getInt("bewertung")); + } + results.add(zwischenErgebnis/counter); + System.out.println(results); + //Integer bewertung = ausgabe.getInt("bewertung"); + connect.close(); + } + @Test + public void groupDatafromDB(){ + MysqlConnect connect = new MysqlConnect(); + List<String> userNamen=new ArrayList<>(); + GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets(); + GroupEvalDataList datenDia = new GroupEvalDataList(); + connect.connect(); + + String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? "; + + VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3); + int[] bewertungenZwischen=new int[10]; + while (namenDerUser.next()){ + userNamen.add(namenDerUser.getString("userEmail")); + } + for (int i=0;i<userNamen.size();i++){ + String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?"; + VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i)); + + while (bewertungDerUser.next()) { + //bewertungenZwischen.add(bewertungDerUser.getInt("bewertung")); + System.out.println("Hass"); + } + datenSaetze.setData(bewertungenZwischen); + //datenSaetze.setLabel(userNamen.get(i)); + datenDia.appendDataSet(datenSaetze); + System.out.println(datenSaetze.getData()); + System.out.println(datenSaetze.getLabel()); + + } + connect.close(); + } + + +} diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java deleted file mode 100644 index d9bbfc17d3e19b4b5d5a737134c5b90c445a13a8..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java +++ /dev/null @@ -1,128 +0,0 @@ -package unipotsdam.gf.modules.communication.view; - -import org.glassfish.jersey.test.JerseyTest; -import org.glassfish.jersey.test.util.runner.ConcurrentRunner; -import org.junit.Test; -import org.junit.runner.RunWith; -import unipotsdam.gf.config.GFResourceConfig; -import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.modules.communication.model.Message; -import unipotsdam.gf.modules.communication.model.chat.ChatRoom; - -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Response; -import java.util.ArrayList; -import java.util.List; - -import static javax.ws.rs.core.Response.Status.BAD_REQUEST; -import static javax.ws.rs.core.Response.Status.CREATED; -import static javax.ws.rs.core.Response.Status.NOT_FOUND; -import static javax.ws.rs.core.Response.Status.OK; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; - -@RunWith(ConcurrentRunner.class) -public class CommunicationViewTest extends JerseyTest { - - private final static String ENDPOINT = "chat/"; - - @Override - protected Application configure() { - CommunicationView communicationView = new CommunicationView(); - GFResourceConfig gfResourceConfig = new GFResourceConfig(); - gfResourceConfig.register(communicationView); - return gfResourceConfig; - } - - @Test - public void getChatRoomInformation() { - String path = ENDPOINT + "info/"; - Response responseOk = target().path(path + "1").request().get(); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(ChatRoom.class)); - - Response responseNotFound = target().path(path).request().get(); - assertThat(responseNotFound.getStatus(), is(NOT_FOUND.getStatusCode())); - } - - @Test - public void getChatHistory() { - String path = ENDPOINT + "history/"; - Response responseOk = target().path(path + "1").request().get(); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(List.class)); - - Response responseNotFound = target().path(path).request().get(); - assertThat(responseNotFound.getStatus(), is(NOT_FOUND.getStatusCode())); - } - - @Test - public void createChatRoom() { - String path = ENDPOINT + "create"; - Response responseOk = target().path(path).queryParam("name", "test").request().post(null); - assertThat(responseOk.getStatus(), is(CREATED.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - ArrayList<User> users = new ArrayList<>(); - users.add(new User("test", "test", "test", true)); - Response responseOk2 = target().path(path).queryParam("name", "test").request().post(Entity.json(users)); - assertThat(responseOk2.getStatus(), is(CREATED.getStatusCode())); - assertNotNull(responseOk2.readEntity(String.class)); - - Response responseBadRequest = target().path(path).request().post(Entity.json(users)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void sendMessage() { - String path = ENDPOINT + "send"; - Message message = new Message(); - message.setMessage("test"); - message.setRoomIdOrChannel("1"); - Response responseOk = target().path(path + "/1").request().post(Entity.json(message)); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(path + "/1").request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void addUserToChatRoom() { - String fullPath = ENDPOINT + "addUser" + "/1"; - - User user = new User("test", "test", "test", true); - Response responseOk = target().path(fullPath).request().post(Entity.json(user)); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void removeUserFromChatRoom() { - String fullPath = ENDPOINT + "removeUser" + "/1"; - - User user = new User("test2", "test2", "test", true); - Response responseOk = target().path(fullPath).request().post(Entity.json(user)); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void setChatRoomTopic() { - String fullPath = ENDPOINT + "setTopic" + "/1"; - Response responseOk = target().path(fullPath).queryParam("topic", "test").request().post(null); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } -}