Skip to content
Snippets Groups Projects
Commit cfdffba2 authored by Douglas Hall's avatar Douglas Hall
Browse files

Merge pull request #25 from Harvard-University-iCommons/develop

Sprint 22 Merging develop to master to fix LTI tool_config bug
parents 17ebc553 adb7aa96
No related branches found
No related tags found
No related merge requests found
......@@ -15,14 +15,25 @@ django_reverse = None
def reverse(*args, **kwargs):
"""
Call django's reverse function and append the current resource_link_id as a query parameter
:param kwargs['exclude_resource_link_id']: Do not add the resource link id as a query parameter
:returns Django named url
"""
request = get_current_request()
# Check for custom exclude_resource_link_id kwarg and remove it before passing kwargs to django reverse
exclude_resource_link_id = kwargs.pop('exclude_resource_link_id', False)
url = django_reverse(*args, **kwargs)
parsed = urlparse(url)
query = parse_qs(parsed.query)
if 'resource_link_id' not in query.keys():
query['resource_link_id'] = request.LTI.get('resource_link_id')
url = urlunparse((parsed.scheme, parsed.netloc, parsed.path, parsed.params, urlencode(query), parsed.fragment))
if not exclude_resource_link_id:
# Append resource_link_id query param if exclude_resource_link_id kwarg was not passed or is False
parsed = urlparse(url)
query = parse_qs(parsed.query)
if 'resource_link_id' not in query.keys():
query['resource_link_id'] = request.LTI.get('resource_link_id')
url = urlunparse(
(parsed.scheme, parsed.netloc, parsed.path, parsed.params, urlencode(query), parsed.fragment)
)
return url
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment