From 85d85ef8b4202a395e3580ebce9e8abacb9353f5 Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Wed, 27 Aug 2014 10:48:41 -0500 Subject: [PATCH] forms: Add localized error messages to the file upload --- include/client/header.inc.php | 2 +- include/staff/header.inc.php | 2 +- js/filedrop.field.js | 32 +++++++++++++++++++++++++------- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/include/client/header.inc.php b/include/client/header.inc.php index d15783238..97085a7cb 100644 --- a/include/client/header.inc.php +++ b/include/client/header.inc.php @@ -35,8 +35,8 @@ if (($lang = Internationalization::getCurrentLanguage()) <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/rtl.css"/> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.10.3.custom.min.js"></script> - <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js"></script> <script src="<?php echo ROOT_PATH; ?>js/osticket.js"></script> + <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js"></script> <script src="<?php echo ROOT_PATH; ?>scp/js/bootstrap-typeahead.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor.min.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-osticket.js"></script> diff --git a/include/staff/header.inc.php b/include/staff/header.inc.php index cf832ae2a..238f65853 100644 --- a/include/staff/header.inc.php +++ b/include/staff/header.inc.php @@ -20,6 +20,7 @@ if (($lang = Internationalization::getCurrentLanguage()) <![endif]--> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.10.3.custom.min.js"></script> + <script type="text/javascript" src="./js/scp.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery.pjax.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js"></script> <script type="text/javascript" src="./js/tips.js"></script> @@ -27,7 +28,6 @@ if (($lang = Internationalization::getCurrentLanguage()) <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-osticket.js"></script> <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-fonts.js"></script> <script type="text/javascript" src="./js/bootstrap-typeahead.js"></script> - <script type="text/javascript" src="./js/scp.js"></script> <link rel="stylesheet" href="<?php echo ROOT_PATH ?>css/thread.css" media="all"> <link rel="stylesheet" href="./css/scp.css" media="all"> <link rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/redactor.css" media="screen"> diff --git a/js/filedrop.field.js b/js/filedrop.field.js index 5edf17c99..d63316235 100644 --- a/js/filedrop.field.js +++ b/js/filedrop.field.js @@ -178,6 +178,13 @@ node.data('xhr').abort(); return this.deleteNode(node, false); } + }, + handleError: function(err, i, file, status) { + var message = $.fn.filedropbox.messages[err]; + if (file instanceof File) { + message = '<b>' + file.name + '</b><br/>' + message; + } + $.sysAlert(__('File Upload Error'), message); } }; @@ -197,6 +204,17 @@ shim: !window.FileReader }; + $.fn.filedropbox.messages = { + 'BrowserNotSupported': __('Your browser is not supported'), + 'TooManyFiles': __('You are trying to upload too many files'), + 'FileTooLarge': __('File is too large'), + 'FileTypeNotAllowed': __('This type of file is not allowed'), + 'FileExtensionNotAllowed': __('This type of file is not allowed'), + 'NotFound': __('Could not find or read this file'), + 'NotReadable': __('Could not find or read this file'), + 'AbortError': __('Could not find or read this file') + }; + $.fn.filedropbox.Constructor = FileDropbox; }(jQuery); @@ -416,7 +434,7 @@ if (opts.allowedfiletypes.push && opts.allowedfiletypes.length) { for(var fileIndex = files.length;fileIndex--;) { if(!files[fileIndex].type || $.inArray(files[fileIndex].type, opts.allowedfiletypes) < 0) { - opts.error(errors[3], files[fileIndex]); + opts.error(errors[3], files[fileIndex], fileIndex); return false; } } @@ -433,7 +451,7 @@ } } if (!allowedextension){ - opts.error(errors[8], files[fileIndex]); + opts.error(errors[8], files[fileIndex], fileIndex); return false; } } @@ -509,16 +527,16 @@ reader.onerror = function(e) { switch(e.target.error.code) { case e.target.error.NOT_FOUND_ERR: - opts.error(errors[4]); + opts.error(errors[4], files[fileIndex], fileIndex); return false; case e.target.error.NOT_READABLE_ERR: - opts.error(errors[5]); + opts.error(errors[5], files[fileIndex], fileIndex); return false; case e.target.error.ABORT_ERR: - opts.error(errors[6]); + opts.error(errors[6], files[fileIndex], fileIndex); return false; default: - opts.error(errors[7]); + opts.error(errors[7], files[fileIndex], fileIndex); return false; }; }; @@ -541,7 +559,7 @@ processingQueue.splice(key, 1); } }); - opts.error(errors[0]); + opts.error(errors[0], files[fileIndex], fileIndex, err); return false; } -- GitLab