From 65e3982fd2d8768070a2938a5668ed09ed1e8398 Mon Sep 17 00:00:00 2001 From: Lyla Fischer Date: Thu, 4 Oct 2012 14:07:30 -0400 Subject: [PATCH 01/11] things now upload --- cms/djangoapps/contentstore/views.py | 39 ++++++++++++++++++++++++---- cms/static/js/base.js | 24 ++++++++++++++--- cms/templates/asset_index.html | 12 ++++++--- cms/templates/base.html | 1 + cms/urls.py | 3 ++- 5 files changed, 65 insertions(+), 14 deletions(-) diff --git a/cms/djangoapps/contentstore/views.py b/cms/djangoapps/contentstore/views.py index fa9bd30797..cbc487dc37 100644 --- a/cms/djangoapps/contentstore/views.py +++ b/cms/djangoapps/contentstore/views.py @@ -772,23 +772,52 @@ def remove_user(request, location): return create_json_response() -@login_required -@ensure_csrf_cookie -def asset_index(request, location): - return render_to_response('asset_index.html',{}) # points to the temporary course landing page with log in and sign up def landing(request, org, course, coursename): return render_to_response('temp-course-landing.html', {}) + def static_pages(request, org, course, coursename): return render_to_response('static-pages.html', {}) + def edit_static(request, org, course, coursename): return render_to_response('edit-static-page.html', {}) + def not_found(request): return render_to_response('error.html', {'error': '404'}) + def server_error(request): - return render_to_response('error.html', {'error': '500'}) \ No newline at end of file + return render_to_response('error.html', {'error': '500'}) + + +@login_required +@ensure_csrf_cookie +def asset_index(request, org, course, name): + """ + Display an editable asset library + + org, course, name: Attributes of the Location for the item to edit + """ + location = ['i4x', org, course, 'course', name] + + # check that logged in user has permissions to this item + if not has_access(request.user, location): + raise PermissionDenied() + + upload_asset_callback_url = reverse('upload_asset', kwargs = { + 'org' : org, + 'course' : course, + 'coursename' : name + }) + + course = modulestore().get_item(location) + sections = course.get_children() + + return render_to_response('asset_index.html', { + 'sections': sections, + 'upload_asset_callback_url': upload_asset_callback_url + }) diff --git a/cms/static/js/base.js b/cms/static/js/base.js index 42afe992d5..0f42231c1c 100644 --- a/cms/static/js/base.js +++ b/cms/static/js/base.js @@ -233,12 +233,28 @@ function showFileSelectionMenu(e) { function startUpload(e) { $('.upload-modal h1').html('Uploading…'); $('.upload-modal .file-name').html($('.file-input').val()); + + var bar = $('.progress-fill'); + var percent = $('.percent'); + + $('.upload-modal .file-chooser').ajaxSubmit({ + beforeSend: function() { + var percentVal = '0%'; + bar.width(percentVal) + percent.html(percentVal); + }, + uploadProgress: function(event, position, total, percentComplete) { + var percentVal = percentComplete + '%'; + bar.width(percentVal) + percent.html(percentVal); + }, + complete: function(xhr) { + markAsLoaded(); + } + }); + $('.upload-modal .choose-file-button').hide(); $('.upload-modal .progress-bar').removeClass('loaded').show(); - $('.upload-modal .progress-fill').html('').css('width', '0').animate({ - 'width': '100%' - }, 1500); - setTimeout(markAsLoaded, 1500); } function markAsLoaded() { diff --git a/cms/templates/asset_index.html b/cms/templates/asset_index.html index 0069cae9ba..41680ade6a 100644 --- a/cms/templates/asset_index.html +++ b/cms/templates/asset_index.html @@ -9,7 +9,8 @@

Asset Library

@@ -187,14 +188,17 @@
+
0%
+
Copy Embed Link -
+
Choose File - -
+ + + diff --git a/cms/templates/base.html b/cms/templates/base.html index 915394f458..f847ad6f7b 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -33,6 +33,7 @@ +