Enhancement: provide some feedback to the end-user in case of a fatal error during an interactive export.

SVN:trunk[4276]
This commit is contained in:
Denis Flaven
2016-07-04 14:22:24 +00:00
parent fc7a10ff03
commit 8582f6da70
2 changed files with 28 additions and 2 deletions

View File

@@ -538,8 +538,25 @@ function ExportStartExport()
oParams.query = $('#export-form :input[name=query]').val();
}
$.post(GetAbsoluteUrlAppRoot()+'pages/ajax.render.php', oParams, function(data) {
ExportRun(data);
}, 'json');
if (data == null)
{
ExportError('Export failed (no data provided), please contact your administrator');
}
else
{
ExportRun(data);
}
}, 'json')
.fail(function() {
ExportError('Export failed, please contact your administrator');
});
}
function ExportError(sMessage)
{
$('.export-message').html(sMessage);
$('.export-progress-bar').hide();
$('#export-btn').hide();
}
function ExportRun(data)

View File

@@ -2066,6 +2066,15 @@ EOF
break;
case 'export_build':
register_shutdown_function(function()
{
$aErr = error_get_last();
if (($aErr !== null) && ($aErr['type'] & (E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR)))
{
ob_end_clean();
echo json_encode(array('code' => 'error', 'percentage' => 100, 'message' => Dict::Format('UI:Error_Details', $aErr['message'])));
}
});
try
{
$token = utils::ReadParam('token', null);