Update issues_stats: add shelving location limit, replace cgi::scrolling_list, update...
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / file-upload.inc
1 <!-- AJAX file upload stuff -->
2 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/ajaxfileupload.js"></script>
3 <script type="text/javascript">
4     //<![CDATA[
5     var fileUploadProgressTimer = 0;
6     var inFileUploadProgressTimer = false;
7     var fileUploadProgressTimerCanceled = false;
8     function updateProgress() {
9         if (inFileUploadProgressTimer) {
10             // since $.getJSON is asynchronous, wait
11             // until the last one is finished
12             return;
13         }
14         inFileUploadProgressTimer = true;
15         $.getJSON("/cgi-bin/koha/tools/upload-file-progress.pl", function(json) {
16             if (!fileUploadProgressTimerCanceled) {
17                 $("#fileuploadprogress").text(json.progress);
18             }
19             inFileUploadProgressTimer = false;
20         });
21     }
22     function ajaxFileUpload()
23     {
24         fileUploadProgressTimerCanceled = false;
25         $("#fileuploadstatus").show();
26         fileUploadProgressTimer = setInterval("updateProgress()",500);
27         $.ajaxFileUpload (
28             {
29                 url:'/cgi-bin/koha/tools/upload-file.pl',
30                 secureuri:false,
31                 global:false,
32                 fileElementId:'fileToUpload',
33                 dataType: 'json',
34                 success: function (data, status) {
35                     if (data.status == 'denied') {
36                         $("#fileuploadstatus").hide();
37                         $("#fileuploadfailed").show();
38                         $("#fileuploadfailed").text("Upload failed -- no permission to upload files");
39                     } else if (data.status == 'failed') {
40                         $("#fileuploadstatus").hide();
41                         $("#fileuploadfailed").show();
42                         $("#fileuploadfailed").text("Upload failed -- unable to store file on server");
43                     } else if (data.status == 'maintenance') {
44                         $("#fileuploadstatus").hide();
45                         $("#fileuploadfailed").show();
46                         $("#fileuploadfailed").text("Upload failed -- database in maintenance state");
47                     } else {
48                          $("#uploadedfileid").val(data.fileid);
49                          $("#fileuploadprogress").text("100");
50                     }
51                     fileUploadProgressTimerCanceled = true;
52                     clearInterval(fileUploadProgressTimer);
53                 },
54                 error: function (data, status, e) {
55                     fileUploadProgressTimerCanceled = true;
56                     alert(e);
57                     clearInterval(fileUploadProgressTimer);
58                 }
59             }
60         )
61         return false;
62
63     }
64     //]]>
65 </script>