From e29d244a8f07c9f40ce8f67c1db6d1176a1acc47 Mon Sep 17 00:00:00 2001 From: Arjun Singh Date: Sun, 28 Oct 2012 21:47:43 -0700 Subject: [PATCH 1/2] allow saving nonrandomized problems --- common/lib/xmodule/xmodule/capa_module.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/common/lib/xmodule/xmodule/capa_module.py b/common/lib/xmodule/xmodule/capa_module.py index 634c360550..f326d5ac38 100644 --- a/common/lib/xmodule/xmodule/capa_module.py +++ b/common/lib/xmodule/xmodule/capa_module.py @@ -120,6 +120,8 @@ class CapaModule(XModule): self.show_answer = self.metadata.get('showanswer', 'closed') + self.force_save_button = self.metadata.get('force_save_button', False) + if self.show_answer == "": self.show_answer = "closed" @@ -322,7 +324,7 @@ class CapaModule(XModule): # We don't need a "save" button if infinite number of attempts and # non-randomized - if self.max_attempts is None and self.rerandomize != "always": + if not self.force_save_button and (self.max_attempts is None and self.rerandomize != "always"): save_button = False context = {'problem': content, From 75f0a56d703916edc47bbdf44740ee2f0d119d85 Mon Sep 17 00:00:00 2001 From: Arjun Singh Date: Sun, 28 Oct 2012 21:57:28 -0700 Subject: [PATCH 2/2] Change documentation, make values strings for save button forcing --- common/lib/xmodule/xmodule/capa_module.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/common/lib/xmodule/xmodule/capa_module.py b/common/lib/xmodule/xmodule/capa_module.py index f326d5ac38..151c726f66 100644 --- a/common/lib/xmodule/xmodule/capa_module.py +++ b/common/lib/xmodule/xmodule/capa_module.py @@ -120,7 +120,7 @@ class CapaModule(XModule): self.show_answer = self.metadata.get('showanswer', 'closed') - self.force_save_button = self.metadata.get('force_save_button', False) + self.force_save_button = self.metadata.get('force_save_button', 'false') if self.show_answer == "": self.show_answer = "closed" @@ -322,9 +322,10 @@ class CapaModule(XModule): if not self.lcp.done: reset_button = False - # We don't need a "save" button if infinite number of attempts and - # non-randomized - if not self.force_save_button and (self.max_attempts is None and self.rerandomize != "always"): + # We may not need a "save" button if infinite number of attempts and + # non-randomized. The problem author can force it. It's a bit weird for + # randomization to control this; should perhaps be cleaned up. + if (self.force_save_button == "false") and (self.max_attempts is None and self.rerandomize != "always"): save_button = False context = {'problem': content,