diff -r d0478be65c29 -r 7842b011403a src/cm/media/js/site/text_edit.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/site/text_edit.js Mon Dec 14 17:58:20 2009 +0100 @@ -0,0 +1,90 @@ +function check_save(){ + needToConfirm = false; + + var newVersion = $('#id_new_version').attr('checked') ; + var commentsKept = $('#id_keep_comments').attr('checked') ; + + var new_content = $('#id_content').val() + var new_format = $('#id_format').val() + + if (commentsKept) { + var pre_edit_url = tb_conf['pre_edit_url'] ; + + $.ajax({ + url: pre_edit_url, + type:'POST', + dataType:"json", + data: { "new_content": new_content, "new_format": new_format}, + success: function(obj){ + nb_removed = obj['nb_removed']; + if (newVersion) { + if (nb_removed == 0) { + $('#edit_form').submit(); + } + else { + var message = ngettext( + '%(nb_comments)s comment will be removed because the text it applies to has been changed.', + '%(nb_comments)s comments will be removed because the text they apply to has been changed.', + nb_removed) ; + message += '
' ; + message += gettext( 'Do you want to continue?') ; + message = interpolate(message,{'nb_comments':nb_removed}, true) ; + + $('#check_save_dialog').html(message) ; + $('#check_save_dialog').dialog('open') ; + } + } + else { + if (nb_removed == 0) { + $('#edit_form').submit(); + } + else { + var message = ngettext( + '%(nb_comments)s comment will be lost because the text it applies to has been changed.', + '%(nb_comments)s comments will be lost because the text they apply to has been changed.', + nb_removed) ; + message += '
' ; + message += gettext( '(We suggest you create a new version)') ; + message += '
' ; + message += gettext( 'Do you want to continue?') ; + message = interpolate(message,{'nb_comments':nb_removed}, true) ; + + $('#check_save_dialog').html(message) ; + $('#check_save_dialog').dialog('open') ; + } + } + }, + error: function(msg){ + alert("error: " + msg); + } + }); + } + else { + if (!newVersion) { + var message = gettext("Since you chose not to create a new version all comments will be deleted") ; + message += '
' ; + message += gettext( 'Do you want to continue?') ; + $('#check_save_dialog').html(message) ; + $('#check_save_dialog').dialog('open') ; + } + else { + $('#edit_form').submit(); + } + } +} + +$(function() { + var buttons = {}; + buttons[gettext('No')] = function() {$(this).dialog('close');} ; + buttons[gettext('Yes')] = function() {$(this).dialog('close');$('#edit_form').submit();} ; + + $('#check_save_dialog').dialog({ + bgiframe: true, + autoOpen: false, + title :gettext('Warning'), + modal: true, + buttons:buttons + }) ; + + $("#save").click(function() { check_save() ;}) ; +}) ;