Commit 1b4f569c by chrisndodge

Merge pull request #894 from MITx/fix/cdodge/cas-bugs

Fix/cdodge/cas bugs
parents 91fe7da4 13e23cbb
......@@ -212,8 +212,6 @@ def edit_subsection(request, location):
policy_metadata = dict((key,value) for key, value in item.metadata.iteritems()
if key not in ['display_name', 'start', 'due', 'format'] and key not in item.system_metadata_fields)
logging.debug(policy_metadata)
return render_to_response('edit_subsection.html',
{'subsection': item,
'context_course': course,
......@@ -487,20 +485,13 @@ def _xmodule_recurse(item, action):
_xmodule_recurse(child, action)
action(item)
def _delete_item(item, recurse=False):
if recurse:
children = item.get_children()
for child in children:
_delete_item(child, recurse)
modulestore().delete_item(item.location);
@login_required
@expect_json
def delete_item(request):
item_location = request.POST['id']
item_loc = Location(item_location)
# check permissions for this user within this course
if not has_access(request.user, item_location):
......@@ -508,16 +499,28 @@ def delete_item(request):
# optional parameter to delete all children (default False)
delete_children = request.POST.get('delete_children', False)
delete_all_versions = request.POST.get('delete_all_versions', False)
item = modulestore().get_item(item_location)
store = _modulestore(item_loc)
# @TODO: this probably leaves draft items dangling.
# @TODO: this probably leaves draft items dangling. My preferance would be for the semantic to be
# if item.location.revision=None, then delete both draft and published version
# if caller wants to only delete the draft than the caller should put item.location.revision='draft'
if delete_children:
_xmodule_recurse(item, lambda i: _modulestore(i.location).delete_item(i.location))
_xmodule_recurse(item, lambda i: store.delete_item(i.location))
else:
_modulestore(item.location).delete_item(item.location)
store.delete_item(item.location)
# cdodge: this is a bit of a hack until I can talk with Cale about the
# semantics of delete_item whereby the store is draft aware. Right now calling
# delete_item on a vertical tries to delete the draft version leaving the
# requested delete to never occur
if item.location.revision is None and item.location.category=='vertical' and delete_all_versions:
modulestore('direct').delete_item(item.location)
return HttpResponse()
......@@ -854,9 +857,9 @@ def asset_index(request, org, course, name):
display_info['url'] = StaticContent.get_url_path_from_location(asset_location)
# note, due to the schema change we may not have a 'thumbnail_location' in the result set
thumbnail_location = Location(asset.get('thumbnail_location', None))
display_info['thumb_url'] = StaticContent.get_url_path_from_location(thumbnail_location)
_thumbnail_location = asset.get('thumbnail_location', None)
thumbnail_location = Location(_thumbnail_location) if _thumbnail_location is not None else None
display_info['thumb_url'] = StaticContent.get_url_path_from_location(thumbnail_location) if thumbnail_location is not None else None
asset_display.append(display_info)
......@@ -892,9 +895,6 @@ def create_new_course(request):
if existing_course is not None:
return HttpResponse(json.dumps({'ErrMsg': 'There is already a course defined with this name.'}))
logging.debug(dest_location)
logging.debug(template)
new_course = modulestore('direct').clone_item(template, dest_location)
if display_name is not None:
......
......@@ -288,7 +288,7 @@ function _deleteItem($el) {
var id = $el.data('id');
$.post('/delete_item',
{'id': id, 'delete_children' : true},
{'id': id, 'delete_children' : true, 'delete_all_versions' : true},
function(data) {
$el.remove();
});
......
......@@ -10,7 +10,7 @@
<h1>Asset Library</h1>
<div class="page-actions">
<a href="#" class="upload-button">Upload New File</a>
<input type="text" class="asset-search-input search wip-box" placeholder="search assets" />
<input type="text" class="asset-search-input search wip-box" placeholder="search assets" style="display:none"/>
</div>
<article class="asset-library">
<table>
......@@ -26,7 +26,11 @@
% for asset in assets:
<tr>
<td class="thumb-col">
<div class="thumb"><img src="${asset['thumb_url']}"></div>
<div class="thumb">
% if asset['thumb_url'] is not None:
<img src="${asset['thumb_url']}">
% endif
</div>
</td>
<td class="name-col">
<a href="${asset['url']}" class="filename">${asset['displayname']}</a>
......
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