Commit 5c2d3e16 by Justin Riley

enable no_repeats option in randomize xmodule

parent fe2eeccb
...@@ -49,13 +49,13 @@ class RandomizeModule(RandomizeFields, XModule): ...@@ -49,13 +49,13 @@ class RandomizeModule(RandomizeFields, XModule):
# it calls get_child_descriptors() internally, but that doesn't work # it calls get_child_descriptors() internally, but that doesn't work
# until we've picked a choice # until we've picked a choice
xml_attrs = self.descriptor.xml_attributes or [] xml_attrs = self.descriptor.xml_attributes or []
use_randrange = 'use_randrange' in xml_attrs use_randrange = self._str_to_bool(xml_attrs.get('use_randrange', ''))
# TODO: use this attr to toggle storing history and never showing the no_repeats = self._str_to_bool(xml_attrs.get('no_repeats', ''))
# same problem twice
# no_repeats = xml_attrs.has_key('no_repeats')
no_repeats = use_randrange
self.pick_choice(use_randrange=use_randrange, no_repeats=no_repeats) self.pick_choice(use_randrange=use_randrange, no_repeats=no_repeats)
def _str_to_bool(self, v):
return v.lower() == 'true'
def pick_choice(self, use_randrange=None, no_repeats=None): def pick_choice(self, use_randrange=None, no_repeats=None):
children = [c.location.url() for c in self.descriptor.get_children()] children = [c.location.url() for c in self.descriptor.get_children()]
choices = self.get_choices(no_repeats=no_repeats) choices = self.get_choices(no_repeats=no_repeats)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment