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
5332b692
Unverified
Commit
5332b692
authored
Nov 06, 2017
by
Tyler Hallada
Committed by
GitHub
Nov 06, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #16466 from edx/thallada/ret-fix-absolute-url
Schedules: absolute_url returns given URL if already absolute
parents
e758e20a
1f88d528
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
0 deletions
+31
-0
openedx/core/djangoapps/schedules/template_context.py
+8
-0
openedx/core/djangoapps/schedules/tests/test_template_context.py
+23
-0
No files found.
openedx/core/djangoapps/schedules/template_context.py
View file @
5332b692
...
@@ -31,6 +31,14 @@ def encode_url(url):
...
@@ -31,6 +31,14 @@ def encode_url(url):
def
absolute_url
(
site
,
relative_path
):
def
absolute_url
(
site
,
relative_path
):
"""
Add site.domain to the beginning of the given relative path.
If the given URL is already absolute (has a netloc part), then it is just returned.
"""
if
bool
(
urlparse
(
relative_path
)
.
netloc
):
# Given URL is already absolute
return
relative_path
root
=
site
.
domain
.
rstrip
(
'/'
)
root
=
site
.
domain
.
rstrip
(
'/'
)
relative_path
=
relative_path
.
lstrip
(
'/'
)
relative_path
=
relative_path
.
lstrip
(
'/'
)
return
encode_url
(
u'https://{root}/{path}'
.
format
(
root
=
root
,
path
=
relative_path
))
return
encode_url
(
u'https://{root}/{path}'
.
format
(
root
=
root
,
path
=
relative_path
))
...
...
openedx/core/djangoapps/schedules/tests/test_template_context.py
0 → 100644
View file @
5332b692
from
openedx.core.djangoapps.schedules.template_context
import
absolute_url
from
openedx.core.djangoapps.site_configuration.tests.factories
import
SiteFactory
from
openedx.core.djangolib.testing.utils
import
CacheIsolationTestCase
,
skip_unless_lms
@skip_unless_lms
class
TestTemplateContext
(
CacheIsolationTestCase
):
def
setUp
(
self
):
self
.
site
=
SiteFactory
.
create
()
self
.
site
.
domain
=
'example.com'
def
test_absolute_url
(
self
):
absolute
=
absolute_url
(
self
.
site
,
'/foo/bar'
)
self
.
assertEqual
(
absolute
,
'https://example.com/foo/bar'
)
def
test_absolute_url_domain_lstrip
(
self
):
self
.
site
.
domain
=
'example.com/'
absolute
=
absolute_url
(
self
.
site
,
'foo/bar'
)
self
.
assertEqual
(
absolute
,
'https://example.com/foo/bar'
)
def
test_absolute_url_already_absolute
(
self
):
absolute
=
absolute_url
(
self
.
site
,
'https://some-cdn.com/foo/bar'
)
self
.
assertEqual
(
absolute
,
'https://some-cdn.com/foo/bar'
)
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