Index: lams_admin/web/cleanupPreviewLessons.jsp =================================================================== diff -u -rfba2480356aa5ddda0c8308eb917d72d16aa32eb -r4799cad19abde4669b7c14c40e36d56aec3a32fc --- lams_admin/web/cleanupPreviewLessons.jsp (.../cleanupPreviewLessons.jsp) (revision fba2480356aa5ddda0c8308eb917d72d16aa32eb) +++ lams_admin/web/cleanupPreviewLessons.jsp (.../cleanupPreviewLessons.jsp) (revision 4799cad19abde4669b7c14c40e36d56aec3a32fc) @@ -18,54 +18,54 @@ } deleteButton.prop('disabled', true); + $('#deletingBox').show(); - var previewCountSpan = $('#previewCount'), - allLessonCountSpan = $('#allLessonCount'), - deletingBox = $('#deletingBox').show(); - // delete lesson in batches of 5 until done - while (previewCount > 0) { - $.ajax({ - 'async' : false, - 'cache' : false, - 'url' : 'cleanupPreviewLessons.do', - 'data' : { - 'method' : 'deletePreviewLessons', - 'limit' : 5 - }, - 'success' : function(response){ - try { - previewCount = response[0]; - previewCountSpan.text(previewCount); - allLessonCountSpan.text(response[1]); - } catch(err) { - alert(''); - previewCount = 0; - } - }, - 'error' : function(){ - alert(''); - previewCount = 0; - } - }); - } - - deletingBox.hide(); - if (previewCount > 0) { - deleteButton.prop('disabled', false); - } + deletePreviewLessons(previewCount, $('#previewCount'), $('#allLessonCount')); }); }); + +function deletePreviewLessons(previewCount, previewCountSpan, allLessonCountSpan){ + if (previewCount <= 0) { + $('#deletingBox').hide(); + return; + } + $.ajax({ + 'cache' : false, + 'url' : 'cleanupPreviewLessons.do', + 'data' : { + 'method' : 'deletePreviewLessons', + 'limit' : 5 + }, + 'success' : function(response){ + try { + previewCount = response[0]; + previewCountSpan.text(previewCount); + allLessonCountSpan.text(response[1]); + setTimeout(function(){ + deletePreviewLessons(previewCount, previewCountSpan, allLessonCountSpan); + }, 500); + } catch(err) { + alert(''); + previewCountSpan.text('ERROR'); + allLessonCountSpan.text('ERROR'); + } + }, + 'error' : function(){ + alert(''); + } + }); +}

 ${previewCount} / ${allLessonCount} -
Index: lams_common/src/java/org/lamsfoundation/lams/toolApplicationContext.xml =================================================================== diff -u -rde884cf8c730a25d2f2296f7a768d3fd45508c99 -r4799cad19abde4669b7c14c40e36d56aec3a32fc --- lams_common/src/java/org/lamsfoundation/lams/toolApplicationContext.xml (.../toolApplicationContext.xml) (revision de884cf8c730a25d2f2296f7a768d3fd45508c99) +++ lams_common/src/java/org/lamsfoundation/lams/toolApplicationContext.xml (.../toolApplicationContext.xml) (revision 4799cad19abde4669b7c14c40e36d56aec3a32fc) @@ -61,6 +61,7 @@ PROPAGATION_REQUIRED PROPAGATION_REQUIRED + PROPAGATION_REQUIRES_NEW PROPAGATION_REQUIRED PROPAGATION_REQUIRED Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dbupdates/patch20160927.sql =================================================================== diff -u --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dbupdates/patch20160927.sql (revision 0) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dbupdates/patch20160927.sql (revision 4799cad19abde4669b7c14c40e36d56aec3a32fc) @@ -0,0 +1,17 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +----------------------Put all sql statements below here------------------------- + +-- LDEV-3640 Add necessary cascades + +ALTER TABLE tl_ladaco10_users DROP FOREIGN KEY UserToDaco; +ALTER TABLE tl_ladaco10_users ADD CONSTRAINT UserToDaco FOREIGN KEY (content_uid) +REFERENCES tl_ladaco10_contents (uid) ON DELETE CASCADE ON UPDATE CASCADE; + +----------------------Put all sql statements above here------------------------- + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/service/SpreadsheetServiceImpl.java =================================================================== diff -u -rce9f4e0c6d1e5814bf0dcb0fa16ae888a8c854a3 -r4799cad19abde4669b7c14c40e36d56aec3a32fc --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/service/SpreadsheetServiceImpl.java (.../SpreadsheetServiceImpl.java) (revision ce9f4e0c6d1e5814bf0dcb0fa16ae888a8c854a3) +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/service/SpreadsheetServiceImpl.java (.../SpreadsheetServiceImpl.java) (revision 4799cad19abde4669b7c14c40e36d56aec3a32fc) @@ -543,6 +543,7 @@ for (SpreadsheetUser user : users) { UserModifiedSpreadsheet modified = user.getUserModifiedSpreadsheet(); if (modified != null) { + user.setUserModifiedSpreadsheet(null); userModifiedSpreadsheetDao.removeObject(UserModifiedSpreadsheet.class, modified.getUid()); } } @@ -645,7 +646,7 @@ public ToolOutput getToolOutput(String name, Long toolSessionId, Long learnerId) { return null; } - + @Override public List getToolOutputs(String name, Long toolContentId) { return new ArrayList();