Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
bceadd48
Commit
bceadd48
authored
Dec 05, 2013
by
Alexander Kryklia
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1819 from edx/anton/fix-lti-scores
Fix LTI max_score method.
parents
68e1985d
1cd9325e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
5 deletions
+24
-5
common/lib/xmodule/xmodule/lti_module.py
+8
-3
common/lib/xmodule/xmodule/tests/test_lti_unit.py
+14
-0
lms/djangoapps/courseware/features/lti.feature
+2
-2
No files found.
common/lib/xmodule/xmodule/lti_module.py
View file @
bceadd48
...
@@ -89,7 +89,13 @@ class LTIFields(object):
...
@@ -89,7 +89,13 @@ class LTIFields(object):
custom_parameters
=
List
(
help
=
"Custom parameters (vbid, book_location, etc..)"
,
scope
=
Scope
.
settings
)
custom_parameters
=
List
(
help
=
"Custom parameters (vbid, book_location, etc..)"
,
scope
=
Scope
.
settings
)
open_in_a_new_page
=
Boolean
(
help
=
"Should LTI be opened in new page?"
,
default
=
True
,
scope
=
Scope
.
settings
)
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
)
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
)
weight
=
Float
(
help
=
"Weight for student grades."
,
default
=
1.0
,
scope
=
Scope
.
settings
,
values
=
{
"min"
:
0
},
)
has_score
=
Boolean
(
help
=
"Does this LTI module have score?"
,
default
=
False
,
scope
=
Scope
.
settings
)
class
LTIModule
(
LTIFields
,
XModule
):
class
LTIModule
(
LTIFields
,
XModule
):
...
@@ -376,7 +382,7 @@ oauth_consumer_key="", oauth_signature="frVp4JuvT1mVXlxktiAUjQ7%2F1cw%3D"'}
...
@@ -376,7 +382,7 @@ oauth_consumer_key="", oauth_signature="frVp4JuvT1mVXlxktiAUjQ7%2F1cw%3D"'}
return
params
return
params
def
max_score
(
self
):
def
max_score
(
self
):
return
self
.
weight
return
self
.
weight
if
self
.
has_score
else
None
@XBlock.handler
@XBlock.handler
...
@@ -582,6 +588,5 @@ class LTIDescriptor(LTIFields, MetadataOnlyEditingDescriptor, EmptyDataRawDescri
...
@@ -582,6 +588,5 @@ class LTIDescriptor(LTIFields, MetadataOnlyEditingDescriptor, EmptyDataRawDescri
"""
"""
Descriptor for LTI Xmodule.
Descriptor for LTI Xmodule.
"""
"""
has_score
=
True
module_class
=
LTIModule
module_class
=
LTIModule
grade_handler
=
module_attr
(
'grade_handler'
)
grade_handler
=
module_attr
(
'grade_handler'
)
common/lib/xmodule/xmodule/tests/test_lti_unit.py
View file @
bceadd48
...
@@ -194,6 +194,7 @@ class LTIModuleTest(LogicTest):
...
@@ -194,6 +194,7 @@ class LTIModuleTest(LogicTest):
Response from Tool Provider is correct.
Response from Tool Provider is correct.
"""
"""
self
.
xmodule
.
verify_oauth_body_sign
=
Mock
()
self
.
xmodule
.
verify_oauth_body_sign
=
Mock
()
self
.
xmodule
.
has_score
=
True
request
=
Request
(
self
.
environ
)
request
=
Request
(
self
.
environ
)
request
.
body
=
self
.
get_request_body
()
request
.
body
=
self
.
get_request_body
()
response
=
self
.
xmodule
.
grade_handler
(
request
,
''
)
response
=
self
.
xmodule
.
grade_handler
(
request
,
''
)
...
@@ -249,3 +250,16 @@ class LTIModuleTest(LogicTest):
...
@@ -249,3 +250,16 @@ class LTIModuleTest(LogicTest):
def
test_client_key_secret
(
self
):
def
test_client_key_secret
(
self
):
pass
pass
def
test_max_score
(
self
):
self
.
xmodule
.
weight
=
100.0
self
.
xmodule
.
graded
=
True
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
(),
100.0
)
lms/djangoapps/courseware/features/lti.feature
View file @
bceadd48
...
@@ -44,8 +44,8 @@ Feature: LMS.LTI component
...
@@ -44,8 +44,8 @@ Feature: LMS.LTI component
Scenario
:
Graded LTI component in LMS is correctly works
Scenario
:
Graded LTI component in LMS is correctly works
Given
the course has correct LTI credentials
Given
the course has correct LTI credentials
And the course has an LTI component with correct fields
:
And the course has an LTI component with correct fields
:
|
open_in_a_new_page
|
weight
|
is_graded
|
|
open_in_a_new_page
|
weight
|
is_graded
|
has_score
|
|
False
|
10
|
True
|
|
False
|
10
|
True
|
True
|
And
I submit answer to LTI question
And
I submit answer to LTI question
And
I click on the
"Progress"
tab
And
I click on the
"Progress"
tab
Then I see text "Problem Scores
:
5/10"
Then I see text "Problem Scores
:
5/10"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment