From 065a1c76873155b0c9f565c53473308a6ae1543c Mon Sep 17 00:00:00 2001
From: Owen Leonard <oleonard@myacpl.org>
Date: Tue, 18 Feb 2014 12:13:39 -0500
Subject: [PATCH] Bug 11785 - Use validation plugin when uploading local cover
 images

When uploading local cover images the form should not be submitted if
no file has been selected. The existing form validation script doesn't
work. This patch adds HTML5 validation attributes and use of Koha's
built-in form validation plugin.

To test, apply the patch and go to Tools -> Upload local cover image.
Try to submit the form without selecting a file to upload. You should be
prevented from doing so. Choose a file and confirm that the upload
completes correctly.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
---
 .../prog/en/modules/tools/upload-images.tt          | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt
index 0491e18..4565995 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt
@@ -17,16 +17,12 @@ $(document).ready(function(){
 	$("#image").click(function(){
 		$("#bibnum").show();
 	});
+    $("#uploadfile").validate({
+        submitHandler: function(form) {
+            ajaxFileUpload();
+        }
+    });
 });
-function CheckForm(f) {
-    if ($("#fileToUpload").value == '') {
-        alert(_("Please upload a file first."));
-    } else {
-        return submitBackgroundJob(f);
-    }
-    return false;
-}
-
 //]]>
 </script>
 </head>
@@ -72,11 +68,12 @@ function CheckForm(f) {
 <ol>
 	<li>
         <div id="fileuploadform">
-		<label for="fileToUpload">Select the file to upload: </label>
-		<input type="file" id="fileToUpload" name="fileToUpload" />
+        <label for="fileToUpload" class="required">Select the file to upload: </label>
+        <input type="file" id="fileToUpload" name="fileToUpload" required="required" class="required" />
+    <span class="required">Required</span>
         </div>	</li>
 </ol>
-  <fieldset class="action"><button class="submit" onclick="return ajaxFileUpload();">Upload file</button></fieldset>
+    <fieldset class="action"><button class="submit">Upload file</button></fieldset>
 </fieldset>
 
         <div id="uploadpanel"><div id="fileuploadstatus">Upload progress: <div id="fileuploadprogress"></div> <span id="fileuploadpercent">0</span>%</div>
-- 
1.8.5.3