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
aeae3534
Commit
aeae3534
authored
Oct 12, 2013
by
polesye
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1294 from edx/anton/fix-multiple-lti-per-page
LTI: Add possibility to use multiple LTI tools per page.
parents
8e9c48c2
a0417c6b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
26 deletions
+28
-26
CHANGELOG.rst
+2
-0
common/lib/xmodule/xmodule/lti_module.py
+2
-2
lms/djangoapps/courseware/features/lti.py
+21
-21
lms/templates/lti.html
+3
-3
No files found.
CHANGELOG.rst
View file @
aeae3534
...
...
@@ -5,6 +5,8 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected.
Blades: Add possibility to use multiple LTI tools per page.
LMS: Disable data download buttons on the instructor dashboard for large courses
LMS: Ported bulk emailing to the beta instructor dashboard.
...
...
common/lib/xmodule/xmodule/lti_module.py
View file @
aeae3534
...
...
@@ -92,10 +92,10 @@ class LTIModule(LTIFields, XModule):
<form
action="${launch_url}"
name="ltiLaunchForm"
name="ltiLaunchForm
-${element_id}
"
class="ltiLaunchForm"
method="post"
target="ltiLaunchFrame"
target="ltiLaunchFrame
-${element_id}
"
encType="application/x-www-form-urlencoded"
>
<input name="launch_presentation_return_url" value="" />
...
...
lms/djangoapps/courseware/features/lti.py
View file @
aeae3534
...
...
@@ -19,8 +19,11 @@ def lti_is_not_rendered(_step):
# iframe is not visible
assert
not
world
.
css_visible
(
'iframe'
)
location
=
world
.
scenario_dict
[
'LTI'
]
.
location
.
html_id
()
iframe_name
=
'ltiLaunchFrame-'
+
location
#inside iframe test content is not presented
with
world
.
browser
.
get_iframe
(
'ltiLaunchFrame'
)
as
iframe
:
with
world
.
browser
.
get_iframe
(
iframe_name
)
as
iframe
:
# iframe does not contain functions from terrain/ui_helpers.py
world
.
browser
.
driver
.
implicitly_wait
(
1
)
try
:
...
...
@@ -31,6 +34,19 @@ def lti_is_not_rendered(_step):
world
.
browser
.
driver
.
implicitly_wait
(
world
.
IMPLICIT_WAIT
)
def
check_lti_ifarme_content
(
text
):
#inside iframe test content is presented
location
=
world
.
scenario_dict
[
'LTI'
]
.
location
.
html_id
()
iframe_name
=
'ltiLaunchFrame-'
+
location
with
world
.
browser
.
get_iframe
(
iframe_name
)
as
iframe
:
# iframe does not contain functions from terrain/ui_helpers.py
assert
iframe
.
is_element_present_by_css
(
'.result'
,
wait_time
=
5
)
assert
(
text
==
world
.
retry_on_exception
(
lambda
:
iframe
.
find_by_css
(
'.result'
)[
0
]
.
text
,
max_attempts
=
5
))
@step
(
'I view the LTI and it is rendered$'
)
def
lti_is_rendered
(
_step
):
# lti div has class rendered
...
...
@@ -41,15 +57,7 @@ def lti_is_rendered(_step):
# iframe is visible
assert
world
.
css_visible
(
'iframe'
)
#inside iframe test content is presented
with
world
.
browser
.
get_iframe
(
'ltiLaunchFrame'
)
as
iframe
:
# iframe does not contain functions from terrain/ui_helpers.py
assert
iframe
.
is_element_present_by_css
(
'.result'
,
wait_time
=
5
)
assert
(
"This is LTI tool. Success."
==
world
.
retry_on_exception
(
lambda
:
iframe
.
find_by_css
(
'.result'
)[
0
]
.
text
,
max_attempts
=
5
))
check_lti_ifarme_content
(
"This is LTI tool. Success."
)
@step
(
'I view the LTI but incorrect_signature warning is rendered$'
)
...
...
@@ -62,15 +70,7 @@ def incorrect_lti_is_rendered(_step):
# iframe is visible
assert
world
.
css_visible
(
'iframe'
)
#inside iframe test content is presented
with
world
.
browser
.
get_iframe
(
'ltiLaunchFrame'
)
as
iframe
:
# iframe does not contain functions from terrain/ui_helpers.py
assert
iframe
.
is_element_present_by_css
(
'.result'
,
wait_time
=
5
)
assert
(
"Wrong LTI signature"
==
world
.
retry_on_exception
(
lambda
:
iframe
.
find_by_css
(
'.result'
)[
0
]
.
text
,
max_attempts
=
5
))
check_lti_ifarme_content
(
"Wrong LTI signature"
)
@step
(
'the course has correct LTI credentials$'
)
...
...
@@ -100,7 +100,7 @@ def set_incorrect_lti_passport(_step):
@step
(
'the course has an LTI component filled with correct fields$'
)
def
add_correct_lti_to_course
(
_step
):
category
=
'lti'
world
.
ItemFactory
.
create
(
world
.
scenario_dict
[
'LTI'
]
=
world
.
ItemFactory
.
create
(
# parent_location=section_location(course),
parent_location
=
world
.
scenario_dict
[
'SEQUENTIAL'
]
.
location
,
category
=
category
,
...
...
@@ -128,7 +128,7 @@ def add_correct_lti_to_course(_step):
@step
(
'the course has an LTI component with incorrect fields$'
)
def
add_incorrect_lti_to_course
(
_step
):
category
=
'lti'
world
.
ItemFactory
.
create
(
world
.
scenario_dict
[
'LTI'
]
=
world
.
ItemFactory
.
create
(
parent_location
=
world
.
scenario_dict
[
'SEQUENTIAL'
]
.
location
,
category
=
category
,
display_name
=
'LTI'
,
...
...
lms/templates/lti.html
View file @
aeae3534
...
...
@@ -5,10 +5,10 @@
## result will be rendered to the below iFrame.
<form
action=
"${launch_url}"
name=
"ltiLaunchForm"
name=
"ltiLaunchForm
-${element_id}
"
class=
"ltiLaunchForm"
method=
"post"
target=
"ltiLaunchFrame"
target=
"ltiLaunchFrame
-${element_id}
"
encType=
"application/x-www-form-urlencoded"
>
...
...
@@ -26,7 +26,7 @@
## The result of the form submit will be rendered here.
<iframe
name=
"ltiLaunchFrame"
name=
"ltiLaunchFrame
-${element_id}
"
class=
"ltiLaunchFrame"
src=
""
></iframe>
...
...
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