From 90d1317a874a2a4e897ce620bbe08bd00c38c160 Mon Sep 17 00:00:00 2001 From: Braden MacDonald Date: Thu, 9 Apr 2015 21:03:55 -0700 Subject: [PATCH 1/5] Fix: Question titles were not visible in the LMS --- problem_builder/questionnaire.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/problem_builder/questionnaire.py b/problem_builder/questionnaire.py index d57e3e41..1d34e054 100644 --- a/problem_builder/questionnaire.py +++ b/problem_builder/questionnaire.py @@ -104,7 +104,7 @@ def student_view(self, context=None): template_path = 'templates/html/{}.html'.format(name.lower()) - context = context or {} + context = context.copy() if context else {} context['self'] = self context['custom_choices'] = self.custom_choices context['hide_header'] = context.get('hide_header', False) or not self.show_title From 5d42eda747c190671a1a5eaf70fbc379336a3e30 Mon Sep 17 00:00:00 2001 From: Braden MacDonald Date: Thu, 9 Apr 2015 21:10:56 -0700 Subject: [PATCH 2/5] Fix: MCQ question text should be editable even if there are no choices defined yet --- problem_builder/mcq.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/problem_builder/mcq.py b/problem_builder/mcq.py index 5647a72f..17e3e367 100644 --- a/problem_builder/mcq.py +++ b/problem_builder/mcq.py @@ -141,9 +141,7 @@ def choice_name(choice_value): all_values = set(self.all_choice_values) correct = set(data.correct_choices) - if not all_values: - add_error(self._(u"No choices set yet.")) - elif not correct: + if all_values and not correct: add_error( self._(u"You must indicate the correct answer[s], or the student will always get this question wrong.") ) From ecb5d30803bae035c43a7e76f205cdc584c71acf Mon Sep 17 00:00:00 2001 From: Braden MacDonald Date: Thu, 9 Apr 2015 22:09:25 -0700 Subject: [PATCH 3/5] Fix: Can't retry if max_attempts set to zero after answering while it was nonzero --- problem_builder/public/js/mentoring_assessment_view.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/problem_builder/public/js/mentoring_assessment_view.js b/problem_builder/public/js/mentoring_assessment_view.js index b26329f1..2f45b042 100644 --- a/problem_builder/public/js/mentoring_assessment_view.js +++ b/problem_builder/public/js/mentoring_assessment_view.js @@ -56,10 +56,9 @@ function MentoringAssessmentView(runtime, element, mentoring) { tryAgainDOM.show(); var attempts_data = $('.attempts', element).data(); - if (attempts_data.num_attempts >= attempts_data.max_attempts) { + if (attempts_data.max_attempts > 0 && attempts_data.num_attempts >= attempts_data.max_attempts) { tryAgainDOM.attr("disabled", "disabled"); - } - else { + } else { tryAgainDOM.removeAttr("disabled"); } From 11ed319cfa5bbc10d67a7c1db966d2629de66c74 Mon Sep 17 00:00:00 2001 From: Braden MacDonald Date: Thu, 9 Apr 2015 21:21:02 -0700 Subject: [PATCH 4/5] Fix: confusing behaviour of max_attempts when changing mode --- problem_builder/mentoring.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/problem_builder/mentoring.py b/problem_builder/mentoring.py index 8f93f0dd..3070a759 100644 --- a/problem_builder/mentoring.py +++ b/problem_builder/mentoring.py @@ -621,15 +621,6 @@ def get_message_html(self, message_type): html += child.render('mentoring_view', {}).content # TODO: frament_text_rewriting ? return html - def clean_studio_edits(self, data): - """ - Given POST data dictionary 'data', clean the data before validating it. - e.g. fix capitalization, remove trailing spaces, etc. - """ - if data.get('mode') == 'assessment' and 'max_attempts' not in data: - # assessment has a default of 2 max_attempts - data['max_attempts'] = 2 - def validate(self): """ Validates the state of this XBlock except for individual field values. From e0f7fad3e2ae7c0b50cdb2d4967ab21700e4dfa4 Mon Sep 17 00:00:00 2001 From: Braden MacDonald Date: Fri, 10 Apr 2015 13:00:38 -0700 Subject: [PATCH 5/5] Fix: spacing around question titles/text in Firefox --- problem_builder/public/css/mentoring.css | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/problem_builder/public/css/mentoring.css b/problem_builder/public/css/mentoring.css index 871ad97c..68f79e47 100644 --- a/problem_builder/public/css/mentoring.css +++ b/problem_builder/public/css/mentoring.css @@ -42,12 +42,13 @@ font-style: italic; } -.mentoring h4 { - margin-bottom: 20px; +.mentoring fieldset { + margin-top: 10px; } -.mentoring h4 { - margin-top: 25px; +.mentoring h3 { + margin-top: 0px; + margin-bottom: 7px; } .mentoring .submit { @@ -64,6 +65,10 @@ display: table; /* Enable line-wrapping in IE8 */ } +.mentoring .choices legend.question p:last-child { /* Selector must be more specific than 'div.course-wrapper section.course-content p' */ + margin-bottom: 0; +} + .mentoring .attempts { margin-left: 10px; display: inline-block;