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

bugfixing: fixed feedbackassignment

parent f47a9e89
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ import unipotsdam.gf.modules.annotation.controller.AnnotationController; ...@@ -6,6 +6,7 @@ import unipotsdam.gf.modules.annotation.controller.AnnotationController;
import unipotsdam.gf.modules.assessment.controller.service.AssessmentDBCommunication; import unipotsdam.gf.modules.assessment.controller.service.AssessmentDBCommunication;
import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
import unipotsdam.gf.modules.communication.service.CommunicationDummyService; import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
import unipotsdam.gf.modules.feedback.FeedbackImpl;
import unipotsdam.gf.modules.group.DummyProjectCreationService; import unipotsdam.gf.modules.group.DummyProjectCreationService;
import unipotsdam.gf.modules.group.GroupDAO; import unipotsdam.gf.modules.group.GroupDAO;
import unipotsdam.gf.modules.group.GroupfindingImpl; import unipotsdam.gf.modules.group.GroupfindingImpl;
...@@ -55,6 +56,7 @@ public class GFApplicationBinder extends AbstractBinder { ...@@ -55,6 +56,7 @@ public class GFApplicationBinder extends AbstractBinder {
bind(ProjectDAO.class).to(ProjectDAO.class); bind(ProjectDAO.class).to(ProjectDAO.class);
bind(GroupDAO.class).to(GroupDAO.class); bind(GroupDAO.class).to(GroupDAO.class);
bind(TaskDAO.class).to(TaskDAO.class); bind(TaskDAO.class).to(TaskDAO.class);
bind(FeedbackImpl.class).to(Feedback.class);
bindMore(); bindMore();
} }
......
...@@ -43,11 +43,11 @@ public class FeedbackImpl implements Feedback { ...@@ -43,11 +43,11 @@ public class FeedbackImpl implements Feedback {
case SingleUser: case SingleUser:
List<User> usersByProjectName = userDAO.getUsersByProjectName(project.getName()); List<User> usersByProjectName = userDAO.getUsersByProjectName(project.getName());
User firstUser = usersByProjectName.get(0); User firstUser = usersByProjectName.get(0);
User lastUser = usersByProjectName.get(usersByProjectName.size()); User lastUser = usersByProjectName.get(usersByProjectName.size()-1);
submissionController.updateFullSubmission(firstUser, lastUser); submissionController.updateFullSubmission(firstUser, lastUser);
for (int i = 0; i<usersByProjectName.size()-1;i++) { for (int i = 0; i <= usersByProjectName.size()-2;i++) {
User submissionOwner = usersByProjectName.get(i+1);
User feedbackGiver =usersByProjectName.get(i); User feedbackGiver =usersByProjectName.get(i);
User submissionOwner = usersByProjectName.get(i+1);
submissionController.updateFullSubmission(submissionOwner, feedbackGiver); submissionController.updateFullSubmission(submissionOwner, feedbackGiver);
} }
break; break;
......
...@@ -585,14 +585,14 @@ public class SubmissionController implements ISubmission, HasProgress { ...@@ -585,14 +585,14 @@ public class SubmissionController implements ISubmission, HasProgress {
* link the full submission with a user who is supposed to give feedback to it. * link the full submission with a user who is supposed to give feedback to it.
* this creates a 1:1 relationship between user and submissions * this creates a 1:1 relationship between user and submissions
* in case gorup work is selected the relationship should be with a group instead * in case gorup work is selected the relationship should be with a group instead
*
* @param submissionOwner * @param submissionOwner
* @param feedbackGiver * @param feedbackGiver
*/ */
public void updateFullSubmission(User submissionOwner, User feedbackGiver) { public void updateFullSubmission(User submissionOwner, User feedbackGiver) {
connection.connect(); connection.connect();
String query = "update fullsubmissions set feedbackUser = ? where user = ?"; String query = "update fullsubmissions set feedbackUser = ? where user = ?";
connection.issueUpdateStatement(query, feedbackGiver.getEmail(), connection.issueUpdateStatement(query, feedbackGiver.getEmail(), submissionOwner.getEmail());
submissionOwner.getEmail());
connection.close(); connection.close();
// TODO implement linking submission with group // TODO implement linking submission with group
} }
...@@ -601,20 +601,22 @@ public class SubmissionController implements ISubmission, HasProgress { ...@@ -601,20 +601,22 @@ public class SubmissionController implements ISubmission, HasProgress {
* @param target * @param target
* @return * @return
*/ */
public FeedbackTaskData getFeedbackTaskData(User target) { public FeedbackTaskData getFeedbackTaskData(User target, Project project) {
connection.connect(); connection.connect();
String query = "SELECT * from fullsubmissions where feedbackUser = ?"; String query = "SELECT * from fullsubmissions where feedbackUser = ? and projectName = ?";
VereinfachtesResultSet vereinfachtesResultSet = connection.issueSelectStatement(query, target.getEmail()); VereinfachtesResultSet vereinfachtesResultSet = connection.issueSelectStatement(query, target.getEmail(),
vereinfachtesResultSet.next(); project.getName());
String submissionId = vereinfachtesResultSet.getString("id"); if (vereinfachtesResultSet.next()) {
String projectName = vereinfachtesResultSet.getString("projectName"); String submissionId = vereinfachtesResultSet.getString("id");
Category category = Category.RECHERCHE; String projectName = vereinfachtesResultSet.getString("projectName");
FullSubmission fullSubmission = new FullSubmission(submissionId); Category category = Category.RECHERCHE;
fullSubmission.setProjectName(projectName); FullSubmission fullSubmission = new FullSubmission(submissionId);
connection.close(); fullSubmission.setProjectName(projectName);
connection.close();
return new FeedbackTaskData(target, fullSubmission, category); return new FeedbackTaskData(target, fullSubmission, category);
} else
return null;
} }
public int getFinalizedDossiersCount(Project project) { public int getFinalizedDossiersCount(Project project) {
...@@ -642,7 +644,8 @@ public class SubmissionController implements ISubmission, HasProgress { ...@@ -642,7 +644,8 @@ public class SubmissionController implements ISubmission, HasProgress {
progressData.setNumberNeeded(dossiersNeeded(project)); progressData.setNumberNeeded(dossiersNeeded(project));
List<User> strugglersWithSubmission = getStrugglersWithSubmission(project); List<User> strugglersWithSubmission = getStrugglersWithSubmission(project);
progressData.setUsersMissing(strugglersWithSubmission); progressData.setUsersMissing(strugglersWithSubmission);
progressData.setAlmostComplete((progressData.getNumberNeeded()/progressData.getNumberOfCompletion()) <= (1/10)); progressData
.setAlmostComplete((progressData.getNumberOfCompletion() / progressData.getNumberNeeded()) <= (1 / 10));
return progressData; return progressData;
} }
...@@ -694,8 +697,9 @@ public class SubmissionController implements ISubmission, HasProgress { ...@@ -694,8 +697,9 @@ public class SubmissionController implements ISubmission, HasProgress {
public List<User> getAllUsersWithFeedbackGiven(Project project) { public List<User> getAllUsersWithFeedbackGiven(Project project) {
List<User> result = new ArrayList<>(); List<User> result = new ArrayList<>();
connection.connect(); connection.connect();
String query = "select * feedbackUser from fullsubmissions where projectName = ?"; String query = "select * from fullsubmissions where projectName = ?";
VereinfachtesResultSet vereinfachtesResultSet = connection.issueSelectStatement(query, project.getName()); VereinfachtesResultSet vereinfachtesResultSet = connection.issueSelectStatement(query, project.getName());
while (vereinfachtesResultSet.next()) { while (vereinfachtesResultSet.next()) {
result.add(userDAO.getUserByEmail(vereinfachtesResultSet.getString("feedbackUser"))); result.add(userDAO.getUserByEmail(vereinfachtesResultSet.getString("feedbackUser")));
} }
......
...@@ -25,12 +25,6 @@ public class DossierCreationProcess { ...@@ -25,12 +25,6 @@ public class DossierCreationProcess {
@Inject @Inject
private SubmissionController submissionController; private SubmissionController submissionController;
@Inject
private Management management;
@Inject
private UserDAO userDAO;
@Inject @Inject
private TaskDAO taskDAO; private TaskDAO taskDAO;
...@@ -98,7 +92,7 @@ public class DossierCreationProcess { ...@@ -98,7 +92,7 @@ public class DossierCreationProcess {
// persist tasks for feedback // persist tasks for feedback
taskDAO.persistMemberTask( taskDAO.persistMemberTask(
new Project(fullSubmission.getProjectName()), TaskName.GIVE_FEEDBACK, Phase.DossierFeedback); project, TaskName.GIVE_FEEDBACK, Phase.DossierFeedback);
} }
} }
......
...@@ -174,7 +174,9 @@ public class TaskDAO { ...@@ -174,7 +174,9 @@ public class TaskDAO {
} }
case GIVE_FEEDBACK: { case GIVE_FEEDBACK: {
Task feedbackTask = getFeedbackTask(user, vereinfachtesResultSet); Task feedbackTask = getGeneralTask(vereinfachtesResultSet);
feedbackTask.setTaskData(submissionController.getFeedbackTaskData(user, project));
feedbackTask.setHasRenderModel(true);
result.add(feedbackTask); result.add(feedbackTask);
break; break;
} }
...@@ -268,10 +270,4 @@ public class TaskDAO { ...@@ -268,10 +270,4 @@ public class TaskDAO {
persist(project, feedbackTaskData.getTarget(), TaskName.GIVE_FEEDBACK, Phase.DossierFeedback, TaskType.LINKED); persist(project, feedbackTaskData.getTarget(), TaskName.GIVE_FEEDBACK, Phase.DossierFeedback, TaskType.LINKED);
} }
public Task getFeedbackTask(User target, VereinfachtesResultSet vereinfachtesResultSet) {
Task task = getGeneralTask(vereinfachtesResultSet);
FeedbackTaskData feedbackTaskData = submissionController.getFeedbackTaskData(target);
task.setTaskData(feedbackTaskData);
return task;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment