Commit 00b885de by David Baumgold

Update pdf textbooks backend to respond to AJAX requests with JSON

parent e607bc70
......@@ -12,6 +12,8 @@ from django.core.urlresolvers import reverse
from mitxmako.shortcuts import render_to_response
from xmodule.modulestore.django import modulestore
from xmodule.modulestore.inheritance import own_metadata
from xmodule.modulestore.exceptions import (
ItemNotFoundError, InvalidLocationError)
from xmodule.modulestore import Location
......@@ -425,26 +427,35 @@ def textbook_index(request, org, course, name):
org, course, name: Attributes of the Location for the item to edit
"""
upload_asset_callback_url = reverse('upload_asset', kwargs={
'org': org,
'course': course,
'coursename': name,
})
asset_index_url = reverse('asset_index', kwargs={
'org': org,
'course': course,
'name': name,
})
course_reference = StaticContent.compute_location(org, course, name)
assets_db_objs = contentstore().get_all_content_for_course(course_reference)
store = contentstore()
assets_db_objs = store.get_all_content_for_course(course_reference)
assets_json_objs = assets_to_json_dict(assets_db_objs)
assets_pdfs = [asset for asset in assets_json_objs if asset["path"].endswith(".pdf")]
location = get_location_and_verify_access(request, org, course, name)
course_obj = modulestore().get_item(location, depth=3)
return render_to_response('textbooks.html', {
'context_course': course_obj,
'course': course_obj,
'assets': assets_json_objs,
'upload_asset_callback_url': upload_asset_callback_url,
'asset_index_url': asset_index_url,
})
course_module = modulestore().get_item(location, depth=3)
if request.is_ajax():
if request.method == 'GET':
return HttpResponse(json.dumps(course_module.pdf_textbooks), content_type="application/json")
elif request.method == 'POST':
store.update_metadata(course.location, own_metadata(request.POST))
return HttpResponse('', content_type="application/json", status=201)
else:
upload_asset_callback_url = reverse('upload_asset', kwargs={
'org': org,
'course': course,
'coursename': name,
})
asset_index_url = reverse('asset_index', kwargs={
'org': org,
'course': course,
'name': name,
})
return render_to_response('textbooks.html', {
'context_course': course_module,
'course': course_module,
'assets': assets_pdfs,
'upload_asset_callback_url': upload_asset_callback_url,
'asset_index_url': asset_index_url,
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment