From ed5b3c1e4c64f7019faa6c8b87c85cad6fda636b Mon Sep 17 00:00:00 2001 From: Julian Dehne <julian.dehne@uni-potsdam.de> Date: Mon, 26 Aug 2019 16:08:39 +0200 Subject: [PATCH] references #250 it looks like the task answer questions is not finished for all students however, you seem to be able to go past the execution phase --- .../wizard/ReflectionPhaseSimulation.java | 38 ++++++++++++------- .../gf/modules/wizard/WizardDao.java | 17 +++++++++ 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/ReflectionPhaseSimulation.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/ReflectionPhaseSimulation.java index 85923c32..86100401 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/ReflectionPhaseSimulation.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/ReflectionPhaseSimulation.java @@ -128,6 +128,7 @@ public class ReflectionPhaseSimulation implements IReflectionPhaseSimulation { @Override public void simulateCreatingPortfolioEntries(Project project) throws Exception { + //if (submissionController.getProjectSubmissions(project, FileRole.PORTFOLIO_ENTRY, )) simulateSubmissions(project, FileRole.PORTFOLIO_ENTRY, Visibility.GROUP); } @@ -163,20 +164,24 @@ public class ReflectionPhaseSimulation implements IReflectionPhaseSimulation { } private void simulateSubmissions(Project project, FileRole fileRole, Visibility visibility) throws Exception { - List<User> usersByProjectName = userDAO.getUsersByProjectName(project.getName()); - for (User user : usersByProjectName) { - switch (fileRole) { - case PORTFOLIO_ENTRY: - List<FullSubmission> assessableSubmissions = submissionController.getAssessableSubmissions(user, project, fileRole); - if (CollectionUtils.isEmpty(assessableSubmissions)) { - List<SelectedReflectionQuestion> reflectionQuestions = selectedReflectionQuestionsDAO.findBy(project); - createEntries(project, user, reflectionQuestions, fileRole, visibility); - } - break; - case REFLECTION_QUESTION: - List<SelectedReflectionQuestion> unansweredQuestions = selectedReflectionQuestionsDAO.getUnansweredQuestions(project, user, false); - createEntries(project, user, unansweredQuestions, fileRole, visibility); - break; + if (submissionController.getProjectSubmissions(project, fileRole, visibility).size() < 2) { + List<User> usersByProjectName = userDAO.getUsersByProjectName(project.getName()); + for (User user : usersByProjectName) { + switch (fileRole) { + case PORTFOLIO_ENTRY: + List<FullSubmission> assessableSubmissions = + submissionController.getAssessableSubmissions(user, project, fileRole); + if (CollectionUtils.isEmpty(assessableSubmissions)) { + List<SelectedReflectionQuestion> reflectionQuestions = selectedReflectionQuestionsDAO.findBy(project); + createEntries(project, user, reflectionQuestions, fileRole, visibility); + } + break; + case REFLECTION_QUESTION: + List<SelectedReflectionQuestion> unansweredQuestions = + selectedReflectionQuestionsDAO.getUnansweredQuestions(project, user, false); + createEntries(project, user, unansweredQuestions, fileRole, visibility); + break; + } } } } @@ -195,6 +200,11 @@ public class ReflectionPhaseSimulation implements IReflectionPhaseSimulation { FullSubmissionPostRequest submission = new FullSubmissionPostRequest(myGroup, text, fileRole, project, visibility, title); submission.setHtml(text); + if (fileRole == FileRole.REFLECTION_QUESTION) { + submission.setSaveUsername(true); + submission.setUserEMail(user.getEmail()); + submission.setReflectionQuestionId(reflectionQuestion.getId()); + } FullSubmission fullSubmission = dossierCreationProcess.addDossier(submission, user, project); if (fileRole == FileRole.REFLECTION_QUESTION) { iExecutionProcess.answerReflectionQuestion(fullSubmission, reflectionQuestion); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/WizardDao.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/WizardDao.java index 423720aa..0e783c5d 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/WizardDao.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/wizard/WizardDao.java @@ -102,6 +102,23 @@ public class WizardDao { correctCreatePortfolioStatus(project, result); //correctPortfolioFeedback(project, result); + if (reflectiveQuestionsAreAnswered(project)) { + result.add(TaskName.ANSWER_REFLECTION_QUESTIONS); + } + + return result; + } + + public Boolean reflectiveQuestionsAreAnswered(Project project) { + Boolean result = false; + connect.connect(); + VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement( + "SELECT * from tasks where taskName = ? and projectName = ? and progress = ?", + TaskName.ANSWER_REFLECTION_QUESTIONS, project.getName(), Progress.FINISHED.name()); + if (vereinfachtesResultSet != null) { + result = vereinfachtesResultSet.next(); + } + connect.close(); return result; } -- GitLab