From ce76b64bae30e4fec7dcbf0c7e5da452850a46d0 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Tue, 8 Jan 2013 11:44:58 -0500 Subject: [PATCH] Handle problem resets in such a way that the LoncapaProblem generates the new random seed, and the CapaModule saves that seed --- common/lib/xmodule/xmodule/capa_module.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/common/lib/xmodule/xmodule/capa_module.py b/common/lib/xmodule/xmodule/capa_module.py index 04bbf98cd5..589c1b0ce7 100644 --- a/common/lib/xmodule/xmodule/capa_module.py +++ b/common/lib/xmodule/xmodule/capa_module.py @@ -611,14 +611,18 @@ class CapaModule(XModule): return {'success': False, 'error': "Refresh the page and make an attempt before resetting."} - self.lcp.do_reset() if self.rerandomize in ["always", "onreset"]: # reset random number generator seed (note the self.lcp.get_state() # in next line) - self.lcp.seed = None + seed = None + else: + seed = self.lcp.seed + # Generate a new problem with either the previous seed or a new seed + self.lcp = self.new_lcp({'seed': seed}) + + # Pull in the new problem seed self.set_state_from_lcp() - self.lcp = self.new_lcp(self.get_state_for_lcp()) event_info['new_state'] = self.lcp.get_state() self.system.track_function('reset_problem', event_info)