Bug 34791: Add links to HTML Customizations to CookieConsent preferences
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / offline_circ / process_koc.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% PROCESS 'i18n.inc' %]
4 [% SET footerjs = 1 %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>[% FILTER collapse %]
7     [% t("Offline circulation file upload") | html %] &rsaquo;
8     [% t("Circulation") | html %] &rsaquo;
9     [% t("Koha") | html %]
10 [% END %]</title>
11 [% INCLUDE 'doc-head-close.inc' %]
12 </head>
13
14 <body id="ocirc_process_koc" class="circ ocirc">
15 [% WRAPPER 'header.inc' %]
16     [% INCLUDE 'circ-search.inc' %]
17 [% END %]
18
19 [% WRAPPER 'sub-header.inc' %]
20 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
21     <ol>
22         <li>
23             <a href="/cgi-bin/koha/mainpage.pl">Home</a>
24         </li>
25         <li>
26             <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a>
27         </li>
28
29         [% IF ( transactions_loaded ) %]
30             <li>
31                 <a href="/cgi-bin/koha/offline_circ/process_koc.pl">Offline circulation file upload</a>
32             </li>
33             <li>
34                 <a href="#" aria-current="page">
35                     Results
36                 </a>
37             </li>
38         [% ELSE %]
39             <li>
40                 <a href="#" aria-current="page">
41                     Offline circulation file upload
42                 </a>
43             </li>
44         [% END %]
45     </ol>
46 </nav>
47 [% END %]
48
49 <div class="main container-fluid">
50     <div class="row">
51         <div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
52
53 [% IF ( transactions_loaded ) %]
54   <h1>Koha offline circulation</h1>
55   <p>Your data was processed. Here are the results:</p>
56   [% FOREACH message IN messages %]
57     [% IF ( message.message ) %]
58         <div class="dialog alert">
59                 [% IF ( message.ERROR_file_version ) %]<p>Warning: This file is version [% message.upload_version | html %], but I only know how to import version [% message.current_version | html %]. I'll try my best.</p>[% END %]
60         </div>
61         [% END %]
62         [% IF ( message.ERROR_no_borrower_from_item ) %]<p>Warning: Unable to determine patron from item barcode ([% message.badbarcode | html %]). Cannot check in.</p>[% END %]
63     [% IF ( message.issue ) %]<p>Checked out <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% message.biblionumber | uri %]">[% message.title | html %]</a> ([% message.barcode | html %]) to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% message.borrowernumber | html %]">[% message.firstname | html %] [% message.surname | html %]</a> ([% message.cardnumber | html %]): [% message.datetime | html %]</p>[% END %]
64     [% IF ( message.renew ) %]<p>Renewed <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% message.biblionumber | uri %]">[% message.title | html %]</a>  ([% message.barcode | html %]) for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% message.borrowernumber | html %]">[% message.firstname | html %] [% message.surname | html %]</a> ([% message.cardnumber | html %]): [% message.datetime | html %]</p>[% END %]
65     [% IF ( message.return ) %]<p>Checked in <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% message.biblionumber | uri %]">[% message.title | html %]</a> ([% message.barcode | html %]) from <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% message.borrowernumber | html %]">[% message.firstname | html %] [% message.surname | html %]</a> ([% message.cardnumber | html %]): [% message.datetime | html %]</p>[% END %]
66     [% IF ( message.payment ) %]<p>Accepted payment ([% message.amount | html %]) from <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% message.borrowernumber | uri %]">[% message.firstname | html %] [% message.surname | html %]</a> ([% message.cardnumber | html %]): [% message.datetime | html %]</p>[% END %]
67   [% END %]
68 [% ELSE %]
69    <h1>Upload offline circulation data</h1>
70
71    <div id="fileuploadform">
72      <form method="post" action="/cgi-bin/koha/offline_circ/process_koc.pl" enctype="multipart/form-data" class="validated">
73                 <fieldset class="brief">
74        <ol><li><label for="fileToUpload">Choose .koc file: </label>
75             <input class="required" required="required" type="file" id="fileToUpload" size="50" name="fileToUpload" />
76             <span class="required">Required</span>
77        </li></ol>
78            </fieldset>
79         <fieldset class="action">
80             <input type="button" class="btn btn-primary" value="Upload file" id="upload_file" />
81         </fieldset>
82      </form>
83      <div id="fileuploadstatus" class="progress_panel" style="display:none">Upload progress: <progress id="fileuploadprogress" max="100" value="0"></progress> <span class="fileuploadpercent">0</span>%</div>
84      <div id="fileuploadfailed" style="display:none"></div>
85    </div>
86
87    <form action="enqueue_koc.pl" id="processfile" method="post" enctype="multipart/form-data">
88      <input type="hidden" name="uploadedfileid" id="uploadedfileid" value="" />
89      <input type="hidden" name="action" value="add_to_queue" />
90      <input type="submit" value="Add to offline circulation queue" id="queueformsubmit" />
91    </form>
92
93    <form action="process_koc.pl" id="enqueuefile" method="post" enctype="multipart/form-data">
94      <input type="hidden" name="uploadedfileid" id="uploadedfileid" value="" />
95      <!-- <input type="submit" value="Apply directly" id="mainformsubmit" /> -->
96    </form>
97 [% END %]
98
99
100     </div>
101 </div>
102
103 [% MACRO jsinclude BLOCK %]
104     [% Asset.js("js/file-upload.js") | $raw %]
105     <script>
106         var xhr;
107         $(document).ready(function(){
108             $("#enqueuefile").hide();
109             $("#processfile").hide();
110             $("#upload_file").on("click",function(){
111                 StartUpload();
112             });
113             $("#queueformsubmit").on("click",function(){
114                 var processfile = document.getElementById("processfile");
115                 return CheckForm( processfile );
116             });
117             $("#mainformsubmit").on("click",function(){
118                 var enqueuefile = document.getElementById("enqueuefile");
119                 return CheckForm( enqueuefile );
120             });
121         });
122
123         function StartUpload() {
124             if( $('#fileToUpload').prop('files').length == 0 ) return;
125             $('#fileuploadform input.submit').prop('disabled',true);
126             $("#fileuploadfailed").hide();
127             $("#processfile").hide();
128             $("#fileuploadstatus").show();
129             $("form#processfile #uploadedfileid").val('');
130             $("form#enqueuefile #uploadedfileid").val('');
131             xhr = AjaxUpload( $('#fileToUpload'), $('#fileuploadprogress'), 'temp=1', cbUpload );
132         }
133
134         function cbUpload( status, fileid, errors ) {
135             if( status=='done' ) {
136                 $("form#processfile #uploadedfileid").val( fileid );
137                 $("form#enqueuefile #uploadedfileid").val( fileid );
138                 $('#fileToUpload').prop('disabled',true);
139                 $("#processfile").show();
140                 $("#enqueuefile").show();
141             } else {
142                 var errMsgs = [ _("Error code 0 not used"), _("File already exists"), _("Directory is not writeable"), _("Root directory for uploads not defined"), _("Temporary directory for uploads not defined") ];
143                 var errCode = errors[$('#fileToUpload').prop('files')[0].name].code;
144                 $("#fileuploadstatus").hide();
145                 $("#fileuploadfailed").show();
146                 $("#fileuploadfailed").text( _("Upload status: ") +
147                     ( status=='failed'? _("Failed") + " - (" + errCode + ") " + errMsgs[errCode]:
148                     ( status=='denied'? _("Denied"): status ))
149                 );
150             }
151         }
152
153         function CheckForm(f) {
154             if (f.uploadedfileid.value == '') {
155                 alert(_("Please upload a file first."));
156             } else {
157                 return f.submit();
158             }
159             return false;
160         }
161     </script>
162 [% END %]
163
164 [% INCLUDE 'intranet-bottom.inc' %]