Make has_score to be XField insted of decriptor property.
Conflicts: common/lib/xmodule/xmodule/lti_module.py
This commit is contained in:
committed by
Ned Batchelder
parent
e4403815e7
commit
c4515faedf
@@ -89,6 +89,7 @@ class LTIFields(object):
|
||||
open_in_a_new_page = Boolean(help="Should LTI be opened in new page?", default=True, scope=Scope.settings)
|
||||
graded = Boolean(help="Grades will be considered in overall score.", default=False, scope=Scope.settings)
|
||||
weight = Float(help="Weight for student grades.", default=1.0, scope=Scope.settings)
|
||||
has_score = Boolean(help="Does this LTI module have score?", default=False, scope=Scope.settings)
|
||||
|
||||
|
||||
class LTIModule(LTIFields, XModule):
|
||||
@@ -375,7 +376,7 @@ oauth_consumer_key="", oauth_signature="frVp4JuvT1mVXlxktiAUjQ7%2F1cw%3D"'}
|
||||
return params
|
||||
|
||||
def max_score(self):
|
||||
return self.weight if self.graded else 0
|
||||
return self.weight if self.has_score else None
|
||||
|
||||
|
||||
@XBlock.handler
|
||||
@@ -581,6 +582,5 @@ class LTIDescriptor(LTIFields, MetadataOnlyEditingDescriptor, EmptyDataRawDescri
|
||||
"""
|
||||
Descriptor for LTI Xmodule.
|
||||
"""
|
||||
has_score = True
|
||||
module_class = LTIModule
|
||||
grade_handler = module_attr('grade_handler')
|
||||
|
||||
@@ -253,9 +253,12 @@ class LTIModuleTest(LogicTest):
|
||||
self.xmodule.weight = 100.0
|
||||
|
||||
self.xmodule.graded = True
|
||||
self.assertEqual(self.xmodule.max_score(), 100)
|
||||
self.assertEqual(self.xmodule.max_score(), None)
|
||||
|
||||
self.xmodule.has_score = True
|
||||
self.assertEqual(self.xmodule.max_score(), 100.0)
|
||||
|
||||
self.xmodule.graded = False
|
||||
self.assertEqual(self.xmodule.max_score(), 0)
|
||||
self.assertEqual(self.xmodule.max_score(), 100.0)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user