Index: lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java =================================================================== diff -u -rf379c87b9568703ac5feb17512f62df761b5f38b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java (.../LdTemplateController.java) (revision f379c87b9568703ac5feb17512f62df761b5f38b) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java (.../LdTemplateController.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -1414,7 +1414,6 @@ question.setTitle(qbQuestion.getName()); question.setText(qbQuestion.getDescription()); question.setMultipleAnswersAllowed(qbQuestion.isMultipleAnswersAllowed()); - question.setRequired(qbQuestion.isAnswerRequired()); question.setDefaultGrade(qbQuestion.getMaxMark()); question.setUuid(qbQuestion.getUuid().toString()); Index: lams_central/src/java/org/lamsfoundation/lams/web/qb/EditQbQuestionController.java =================================================================== diff -u -re560e8fb05ce0177944509fedc06275ba2d2a060 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/src/java/org/lamsfoundation/lams/web/qb/EditQbQuestionController.java (.../EditQbQuestionController.java) (revision e560e8fb05ce0177944509fedc06275ba2d2a060) +++ lams_central/src/java/org/lamsfoundation/lams/web/qb/EditQbQuestionController.java (.../EditQbQuestionController.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -71,7 +71,6 @@ form.setQuestionId(qbService.generateNextQuestionId()); // generate a new question ID right away, so another user won't "take it" form.setMaxMark(1); form.setPenaltyFactor("0"); - form.setAnswerRequired(true); // generate a new contentFolderID for new question String contentFolderId = FileUtil.generateUniqueContentFolderID(); @@ -125,7 +124,6 @@ form.setDescription(qbQuestion.getDescription()); form.setMaxMark(qbQuestion.getMaxMark() == null ? 1 : qbQuestion.getMaxMark()); form.setPenaltyFactor(String.valueOf(qbQuestion.getPenaltyFactor())); - form.setAnswerRequired(qbQuestion.isAnswerRequired()); form.setFeedback(qbQuestion.getFeedback()); form.setMultipleAnswersAllowed(qbQuestion.isMultipleAnswersAllowed()); form.setIncorrectAnswerNullifiesMark(qbQuestion.isIncorrectAnswerNullifiesMark()); @@ -272,7 +270,6 @@ qbQuestion.setMaxMark(form.getMaxMark()); } qbQuestion.setFeedback(form.getFeedback()); - qbQuestion.setAnswerRequired(form.isAnswerRequired()); qbQuestion.setContentFolderId(form.getContentFolderID()); Integer type = form.getQuestionType(); Index: lams_central/web/qb/authoring/addVsa.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addVsa.jsp (.../addVsa.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/authoring/addVsa.jsp (.../addVsa.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -143,16 +143,6 @@ - -
- - -
Index: lams_central/web/qb/authoring/addessay.jsp =================================================================== diff -u -r20e9f65cc9d2c647198c78d25695a1ef13e72883 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addessay.jsp (.../addessay.jsp) (revision 20e9f65cc9d2c647198c78d25695a1ef13e72883) +++ lams_central/web/qb/authoring/addessay.jsp (.../addessay.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -158,16 +158,6 @@
- -
- - -
Index: lams_central/web/qb/authoring/addmarkhedging.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addmarkhedging.jsp (.../addmarkhedging.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/authoring/addmarkhedging.jsp (.../addmarkhedging.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -125,14 +125,6 @@
- - -
Index: lams_central/web/qb/authoring/addmatchingpairs.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addmatchingpairs.jsp (.../addmatchingpairs.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/authoring/addmatchingpairs.jsp (.../addmatchingpairs.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -121,16 +121,6 @@
- -
- - -
Index: lams_central/web/qb/authoring/addmultiplechoice.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addmultiplechoice.jsp (.../addmultiplechoice.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/authoring/addmultiplechoice.jsp (.../addmultiplechoice.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -169,16 +169,6 @@
- -
- - -
Index: lams_central/web/qb/authoring/addnumerical.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addnumerical.jsp (.../addnumerical.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/authoring/addnumerical.jsp (.../addnumerical.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -184,16 +184,6 @@
- -
- - -
Index: lams_central/web/qb/authoring/addordering.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addordering.jsp (.../addordering.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/authoring/addordering.jsp (.../addordering.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -120,16 +120,6 @@
- -
- - -
Index: lams_central/web/qb/authoring/addtruefalse.jsp =================================================================== diff -u -r20e9f65cc9d2c647198c78d25695a1ef13e72883 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_central/web/qb/authoring/addtruefalse.jsp (.../addtruefalse.jsp) (revision 20e9f65cc9d2c647198c78d25695a1ef13e72883) +++ lams_central/web/qb/authoring/addtruefalse.jsp (.../addtruefalse.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -132,16 +132,6 @@
- -
- - -
Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200710.sql =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200710.sql (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200710.sql (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -0,0 +1,21 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +-- Put all sql statements below here + +--LDEV-5050 Move "is required" attribute from QB question to activity level + +ALTER TABLE lams_qb_tool_question ADD COLUMN answer_required TINYINT NOT NULL DEFAULT 0 AFTER tool_content_id; + +UPDATE lams_qb_tool_question AS tq + JOIN lams_qb_question AS q ON q.uid = tq.qb_question_uid + SET tq.answer_required = q.answer_required; + +ALTER TABLE lams_qb_question DROP COLUMN answer_required; + +-- Put all sql statements above here + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; Index: lams_common/src/java/org/lamsfoundation/lams/qb/form/QbQuestionForm.java =================================================================== diff -u -re8a7110708b15579af2c6b31ac52a6da427fef6d -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_common/src/java/org/lamsfoundation/lams/qb/form/QbQuestionForm.java (.../QbQuestionForm.java) (revision e8a7110708b15579af2c6b31ac52a6da427fef6d) +++ lams_common/src/java/org/lamsfoundation/lams/qb/form/QbQuestionForm.java (.../QbQuestionForm.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -46,7 +46,6 @@ private String description; private int maxMark; private String penaltyFactor; - private boolean answerRequired; private String feedback; private boolean multipleAnswersAllowed; private boolean incorrectAnswerNullifiesMark; @@ -64,11 +63,11 @@ private boolean hedgingJustificationEnabled; private boolean autocompleteEnabled; private boolean authoringRestricted; - + private Long oldCollectionUid; private Long newCollectionUid; private Collection userCollections; - + //used only by Scratchie and Q&A tools private String itemIndex; @@ -152,14 +151,6 @@ this.penaltyFactor = penaltyFactor; } - public boolean isAnswerRequired() { - return answerRequired; - } - - public void setAnswerRequired(boolean answerRequired) { - this.answerRequired = answerRequired; - } - public String getFeedback() { return feedback; } @@ -271,7 +262,7 @@ public void setHedgingJustificationEnabled(boolean hedgingJustificationEnabled) { this.hedgingJustificationEnabled = hedgingJustificationEnabled; } - + public boolean isAutocompleteEnabled() { return autocompleteEnabled; } @@ -287,7 +278,7 @@ public void setAuthoringRestricted(boolean authoringRestricted) { this.authoringRestricted = authoringRestricted; } - + public Long getOldCollectionUid() { return oldCollectionUid; } @@ -303,15 +294,15 @@ public void setNewCollectionUid(Long newCollectionUid) { this.newCollectionUid = newCollectionUid; } - + public Collection getUserCollections() { return userCollections; } public void setUserCollections(Collection userCollections) { this.userCollections = userCollections; } - + public String getItemIndex() { return itemIndex; } Index: lams_common/src/java/org/lamsfoundation/lams/qb/model/QbQuestion.java =================================================================== diff -u -r8be457696d7f17c6da2e89704fe7e128f1f8ea91 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_common/src/java/org/lamsfoundation/lams/qb/model/QbQuestion.java (.../QbQuestion.java) (revision 8be457696d7f17c6da2e89704fe7e128f1f8ea91) +++ lams_common/src/java/org/lamsfoundation/lams/qb/model/QbQuestion.java (.../QbQuestion.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -90,9 +90,6 @@ @Column(name = "penalty_factor") private float penaltyFactor; - @Column(name = "answer_required") - private boolean answerRequired; - @Column(name = "multiple_answers_allowed") private boolean multipleAnswersAllowed; @@ -370,14 +367,6 @@ this.penaltyFactor = penaltyFactor; } - public boolean isAnswerRequired() { - return answerRequired; - } - - public void setAnswerRequired(boolean answerRequired) { - this.answerRequired = answerRequired; - } - public boolean isMultipleAnswersAllowed() { return multipleAnswersAllowed; } Index: lams_common/src/java/org/lamsfoundation/lams/qb/model/QbToolQuestion.java =================================================================== diff -u -rf49dd9f6b076828f464fc954bb9c3dc0c87e8b37 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_common/src/java/org/lamsfoundation/lams/qb/model/QbToolQuestion.java (.../QbToolQuestion.java) (revision f49dd9f6b076828f464fc954bb9c3dc0c87e8b37) +++ lams_common/src/java/org/lamsfoundation/lams/qb/model/QbToolQuestion.java (.../QbToolQuestion.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -54,6 +54,9 @@ @Column(name = "tool_content_id") protected Long toolContentId; + @Column(name = "answer_required") + protected boolean answerRequired; + @Column(name = "display_order") protected int displayOrder = 1; @@ -82,6 +85,14 @@ this.toolContentId = toolContentId; } + public boolean isAnswerRequired() { + return answerRequired; + } + + public void setAnswerRequired(boolean answerRequired) { + this.answerRequired = answerRequired; + } + public int getDisplayOrder() { return displayOrder; } Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/QuestionDTO.java =================================================================== diff -u -r0dc158981713b0ab875102e364bd7c4a3a0e2235 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/QuestionDTO.java (.../QuestionDTO.java) (revision 0dc158981713b0ab875102e364bd7c4a3a0e2235) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/QuestionDTO.java (.../QuestionDTO.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -111,12 +111,11 @@ } /** - * Same as above, but skips setting correctAnswersDisclosed and groupsAnswersDisclosed - * - * @param qbToolQuestion + * Same as above, but skips setting assessment-specific question attributes */ public QuestionDTO(QbToolQuestion qbToolQuestion) { this.uid = qbToolQuestion.getUid(); + this.answerRequired = qbToolQuestion.isAnswerRequired(); this.displayOrder = qbToolQuestion.getDisplayOrder(); QbQuestion qbQuestion = qbToolQuestion.getQbQuestion(); @@ -125,7 +124,6 @@ this.question = qbQuestion.getDescription(); this.maxMark = qbQuestion.getMaxMark(); this.penaltyFactor = qbQuestion.getPenaltyFactor(); - this.answerRequired = qbQuestion.isAnswerRequired(); this.feedback = qbQuestion.getFeedback(); this.multipleAnswersAllowed = qbQuestion.isMultipleAnswersAllowed(); this.incorrectAnswerNullifiesMark = qbQuestion.isIncorrectAnswerNullifiesMark(); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r620ff6f2cb73c4f1246a84ca837a07b117456b0c -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 620ff6f2cb73c4f1246a84ca837a07b117456b0c) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -3474,6 +3474,7 @@ Integer type = JsonUtil.optInt(questionJSONData, "type"); question.setToolContentId(toolContentID); question.setDisplayOrder(JsonUtil.optInt(questionJSONData, RestTags.DISPLAY_ORDER)); + question.setAnswerRequired(JsonUtil.optBoolean(questionJSONData, "answerRequired", Boolean.FALSE)); QbQuestion oldQbQuestion = null; QbQuestion qbQuestion = null; @@ -3501,7 +3502,6 @@ qbQuestion.setAllowRichEditor( JsonUtil.optBoolean(questionJSONData, RestTags.ALLOW_RICH_TEXT_EDITOR, Boolean.FALSE)); - qbQuestion.setAnswerRequired(JsonUtil.optBoolean(questionJSONData, "answerRequired", Boolean.FALSE)); qbQuestion.setCaseSensitive(JsonUtil.optBoolean(questionJSONData, "caseSensitive", Boolean.FALSE)); qbQuestion.setCorrectAnswer(JsonUtil.optBoolean(questionJSONData, "correctAnswer", Boolean.FALSE)); qbQuestion.setMaxMark(JsonUtil.optInt(questionJSONData, "defaultGrade", 1)); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaConditionDTO.java =================================================================== diff -u -r86c25c80d92701a94c3161575c76c363891402ad -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaConditionDTO.java (.../QaConditionDTO.java) (revision 86c25c80d92701a94c3161575c76c363891402ad) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaConditionDTO.java (.../QaConditionDTO.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -36,7 +36,8 @@ public QaConditionDTO(QaCondition condition, Integer toolActivityUIID) { super(condition, toolActivityUIID); for (QaQueContent question : condition.getQuestions()) { - QaQueContent questionCopy = new QaQueContent(question.getQbQuestion(), question.getDisplayOrder(), null); + QaQueContent questionCopy = new QaQueContent(question.getQbQuestion(), question.getDisplayOrder(), + question.isAnswerRequired(), null); getQuestions().add(questionCopy); } } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaQuestionDTO.java =================================================================== diff -u -rb4eeced9a946a0a62d6b51698addd3db798c0498 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaQuestionDTO.java (.../QaQuestionDTO.java) (revision b4eeced9a946a0a62d6b51698addd3db798c0498) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaQuestionDTO.java (.../QaQuestionDTO.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -43,8 +43,9 @@ this.name = qaQuestion.getQbQuestion().getName(); this.description = qaQuestion.getQbQuestion().getDescription(); this.displayOrder = String.valueOf(qaQuestion.getDisplayOrder()); - this.feedback = qaQuestion.getQbQuestion().getFeedback() != null ? qaQuestion.getQbQuestion().getFeedback() : ""; - this.required = qaQuestion.getQbQuestion().isAnswerRequired(); + this.feedback = qaQuestion.getQbQuestion().getFeedback() != null ? qaQuestion.getQbQuestion().getFeedback() + : ""; + this.required = qaQuestion.isAnswerRequired(); this.minWordsLimit = qaQuestion.getQbQuestion().getMinWordsLimit(); this.uid = qaQuestion.getUid(); } @@ -117,7 +118,7 @@ public void setName(String question) { this.name = question; } - + public String getDescription() { return description; } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaCondition.java =================================================================== diff -u -r35ebea0b2dfa2e0323f604242035c2d7e5a299dd -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaCondition.java (.../QaCondition.java) (revision 35ebea0b2dfa2e0323f604242035c2d7e5a299dd) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaCondition.java (.../QaCondition.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -34,8 +34,6 @@ import javax.persistence.Table; import javax.persistence.Transient; -import org.hibernate.annotations.Cascade; -import org.hibernate.annotations.CascadeType; import org.lamsfoundation.lams.learningdesign.BranchCondition; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.TextSearchCondition; @@ -78,7 +76,8 @@ super(conditionDTO); this.temporaryQaQuestions = new TreeSet<>(new QaQuestionComparator()); for (QaQueContent question : conditionDTO.getQuestions()) { - QaQueContent questionCopy = new QaQueContent(question.getQbQuestion(), question.getDisplayOrder(), null); + QaQueContent questionCopy = new QaQueContent(question.getQbQuestion(), question.getDisplayOrder(), + question.isAnswerRequired(), null); getQuestions().add(questionCopy); } } @@ -149,7 +148,8 @@ Set questionsCopy = new TreeSet<>(new QaQuestionComparator()); for (QaQueContent question : getQuestions()) { - QaQueContent questionCopy = new QaQueContent(question.getQbQuestion(), question.getDisplayOrder(), null); + QaQueContent questionCopy = new QaQueContent(question.getQbQuestion(), question.getDisplayOrder(), + question.isAnswerRequired(), null); questionsCopy.add(questionCopy); } return new QaCondition(null, newConditionUIID, orderId, name, displayName, allWords, phrase, anyWords, Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueContent.java =================================================================== diff -u -r95a88e5e56253d7007ebf634b6969cb353d7cf1e -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueContent.java (.../QaQueContent.java) (revision 95a88e5e56253d7007ebf634b6969cb353d7cf1e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueContent.java (.../QaQueContent.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -25,6 +25,7 @@ import java.io.Serializable; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; @@ -50,27 +51,31 @@ private static final long serialVersionUID = -4028785701106936621L; + @Column(name = "answer_required") + private boolean answerRequired; + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "qa_content_id") private QaContent qaContent; - + // *************** NON Persist Fields used in learning ******************** @Transient private QaUsrResp userResponse; public QaQueContent() { } - public QaQueContent(QbQuestion qbQuestion, int displayOrder, QaContent qaContent) { + public QaQueContent(QbQuestion qbQuestion, int displayOrder, boolean answerRequired, QaContent qaContent) { this.qbQuestion = qbQuestion; this.qaContent = qaContent; this.toolContentId = qaContent == null ? null : qaContent.getQaContentId(); this.displayOrder = displayOrder; + this.answerRequired = answerRequired; } public static QaQueContent newInstance(QaQueContent queContent, QaContent newQaContent) { QaQueContent newQueContent = new QaQueContent(queContent.getQbQuestion(), queContent.getDisplayOrder(), - newQaContent); + queContent.isAnswerRequired(), newQaContent); return newQueContent; } @@ -88,7 +93,14 @@ this.qaContent = qaContent; this.toolContentId = qaContent == null ? null : qaContent.getQaContentId(); } - + + public boolean isAnswerRequired() { + return answerRequired; + } + + public void setAnswerRequired(boolean answerRequired) { + this.answerRequired = answerRequired; + } // *************** NON Persist Fields used in monitoring ******************** public QaUsrResp getUserResponse() { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java =================================================================== diff -u -rf3adefcfcefee34698e4827cd96952a71225623e -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision f3adefcfcefee34698e4827cd96952a71225623e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -472,7 +472,7 @@ coreNotebookService.deleteEntry(entry); } } - + qbService.removeAnswersByToolContentId(toolContentId); qaDAO.removeQa(toolContentId); @@ -1196,12 +1196,12 @@ qbQuestion.setName(JsonUtil.optString(questionData, RestTags.QUESTION_TEXT)); qbQuestion.setFeedback(JsonUtil.optString(questionData, "feedback")); - qbQuestion.setAnswerRequired(JsonUtil.optBoolean(questionData, "required", Boolean.FALSE)); + qbQuestion.setMinWordsLimit(JsonUtil.optInt(questionData, "minWordsLimit", 0)); saveOrUpdate(qbQuestion); QaQueContent question = new QaQueContent(qbQuestion, JsonUtil.optInt(questionData, RestTags.DISPLAY_ORDER), - qa); + JsonUtil.optBoolean(questionData, "required", Boolean.FALSE), qa); saveOrUpdate(question); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/AuthoringController.java =================================================================== diff -u -r3f8a54919303711f3b52cdf48b248f102138d9be -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 3f8a54919303711f3b52cdf48b248f102138d9be) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/AuthoringController.java (.../AuthoringController.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -416,7 +416,6 @@ qbQuestion.setName(form.getTitle()); qbQuestion.setDescription(form.getDescription()); - qbQuestion.setAnswerRequired(form.isAnswerRequired()); qbQuestion.setMinWordsLimit(form.getMinWordsLimit()); qbQuestion.setFeedback(form.getFeedback()); @@ -500,7 +499,6 @@ if (questionIndex >= 0) { form.setItemIndex(String.valueOf(questionIndex)); } - form.setAnswerRequired(qbQuestion.isAnswerRequired()); form.setMinWordsLimit(qbQuestion.getMinWordsLimit()); form.setFeedback(qbQuestion.getFeedback()); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/LearningController.java =================================================================== diff -u -rf7937adfea85b6a6976eaa98df8c68db93f9f060 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/LearningController.java (.../LearningController.java) (revision f7937adfea85b6a6976eaa98df8c68db93f9f060) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/LearningController.java (.../LearningController.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -96,7 +96,7 @@ @Autowired @Qualifier("qaMessageService") private MessageService messageService; - + @RequestMapping("/") public String unspecified() throws IOException, ServletException, ToolException { return null; @@ -291,14 +291,14 @@ * the report should have all the users' entries OR the report should have only the current * session's entries */ - - LearningController.refreshSummaryData(request, qaContent, qaSession, qaService, sessionMapId, - user, generalLearnerFlowDTO); + LearningController.refreshSummaryData(request, qaContent, qaSession, qaService, sessionMapId, user, + generalLearnerFlowDTO); + generalLearnerFlowDTO.setIsLearnerFinished(user.isLearnerFinished()); return "learning/learnerRep"; - // show submissionDeadline page otherwise + // show submissionDeadline page otherwise } else { return "learning/submissionDeadline"; } @@ -336,8 +336,8 @@ * session's entries */ - LearningController.refreshSummaryData(request, qaContent, qaSession, qaService, sessionMapId, - user, generalLearnerFlowDTO); + LearningController.refreshSummaryData(request, qaContent, qaSession, qaService, sessionMapId, user, + generalLearnerFlowDTO); generalLearnerFlowDTO.setIsLearnerFinished(user.isLearnerFinished()); return "learning/LearnerRep"; @@ -517,7 +517,7 @@ QaQueContent currentQuestion = qaService .getQuestionByContentAndDisplayOrder(new Integer(currentQuestionIndex), qaContent.getUid()); - boolean isRequiredQuestionMissed = currentQuestion.getQbQuestion().isAnswerRequired() && isEmpty(newAnswer); + boolean isRequiredQuestionMissed = currentQuestion.isAnswerRequired() && isEmpty(newAnswer); if (!isRequiredQuestionMissed) { qaService.updateResponseWithNewAnswer(newAnswer, toolSessionID, new Integer(currentQuestionIndex), true); @@ -1081,7 +1081,7 @@ countRatedQuestions = qaService.getCountItemsRatedByUser(qaContent.getQaContentId(), userId.intValue()); } } - + Set questions = qaContent.getQaQueContents(); generalLearnerFlowDTO.setQuestions(questions); //find according QaQueContent, if any Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/PedagogicalPlannerController.java =================================================================== diff -u -rf7937adfea85b6a6976eaa98df8c68db93f9f060 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/PedagogicalPlannerController.java (.../PedagogicalPlannerController.java) (revision f7937adfea85b6a6976eaa98df8c68db93f9f060) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/PedagogicalPlannerController.java (.../PedagogicalPlannerController.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -93,9 +93,9 @@ QaQueContent qaQuestion = new QaQueContent(); qaQuestion.setDisplayOrder(questionIndex + 1); qaQuestion.setToolContentId(qaContent.getQaContentId()); + qaQuestion.setAnswerRequired(false); QbQuestion qbQuestion = new QbQuestion(); - qbQuestion.setAnswerRequired(false); qbQuestion.setName(question); qaService.saveOrUpdate(qbQuestion); Index: lams_tool_scratchie/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r9511fd69d09fb40f3871022ee45b9f2df55b44c4 -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 9511fd69d09fb40f3871022ee45b9f2df55b44c4) +++ lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -254,7 +254,6 @@ label.incorrect.answers =Incorrect answers label.correct.answers =Correct answers label.option.feedback =Feedback -label.answer.required =Answer required? label.no.case.unimportant =No, case is unimportant label.yes.case.must.match =Yes, case must match label.case.sensitivity =Case sensitivity Index: lams_tool_scratchie/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -r7c8332d32bfb95927b393aa310c9cf214c6bc49b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_scratchie/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 7c8332d32bfb95927b393aa310c9cf214c6bc49b) +++ lams_tool_scratchie/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -253,7 +253,6 @@ label.incorrect.answers =Incorrect answers label.correct.answers =Correct answers label.option.feedback =Feedback -label.answer.required =Answer required? label.no.case.unimportant =No, case is unimportant label.yes.case.must.match =Yes, case must match label.case.sensitivity =Case sensitivity Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/AuthoringController.java =================================================================== diff -u -r3f8a54919303711f3b52cdf48b248f102138d9be -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 3f8a54919303711f3b52cdf48b248f102138d9be) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/AuthoringController.java (.../AuthoringController.java) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -364,7 +364,6 @@ boolean isMcqQuestionType = qbQuestion.getType() == QbQuestion.TYPE_MULTIPLE_CHOICE; if (!isMcqQuestionType) { form.setFeedback(qbQuestion.getFeedback()); - form.setAnswerRequired(qbQuestion.isAnswerRequired()); form.setCaseSensitive(qbQuestion.isCaseSensitive()); form.setAutocompleteEnabled(qbQuestion.isAutocompleteEnabled()); } @@ -511,7 +510,6 @@ //handle VSA question type if (!isMcqQuestionType) { qbQuestion.setFeedback(form.getFeedback()); - qbQuestion.setAnswerRequired(form.isAnswerRequired()); qbQuestion.setCaseSensitive(form.isCaseSensitive()); qbQuestion.setAutocompleteEnabled(form.isAutocompleteEnabled()); } Index: lams_tool_scratchie/web/pages/authoring/parts/addVsa.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -re423418cca5e77a3b54cb3be496b67abe01c4183 --- lams_tool_scratchie/web/pages/authoring/parts/addVsa.jsp (.../addVsa.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_tool_scratchie/web/pages/authoring/parts/addVsa.jsp (.../addVsa.jsp) (revision e423418cca5e77a3b54cb3be496b67abe01c4183) @@ -131,16 +131,6 @@
- -
- - -