Add JQuery tablesorters on serials-edit and booksellers
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / serials / claims.tmpl
1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
2 <!-- TMPL_INCLUDE NAME="calendar.inc" -->
3     <title>Koha &rsaquo; Serials &rsaquo; Claims</title>
4     <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
5 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
6 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
7 <script type="text/JavaScript" language="JavaScript">
8 //<![CDATA[
9          $(document).ready(function() {
10                 <!-- TMPL_UNLESS NAME="preview" -->$("#claimst").tablesorter({<!-- TMPL_IF EXPR="dateformat eq 'metric'" -->
11                         dateFormat: 'uk',<!-- /TMPL_IF -->
12                         headers: { 0: { sorter: false },1:{sorter:false}}
13                 });<!-- /TMPL_UNLESS -->
14             $('#supplierid').change(function() {
15             $('#claims').submit();
16             });
17
18             // Case-insensitive version of jquery's contains function
19             jQuery.extend(
20                 jQuery.expr[':'], { 
21                     icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" 
22                 }
23             );
24
25
26             // Checkboxes : Select All / None
27             $("span.checkall").html("<input type=\"checkbox\" name=\"CheckAll\"> "+_("Check All"));
28             $("span.exportSelected").html("<a id=\"ExportSelected\" href=\"/cgi-bin/koha/serials/claims.pl\">Export selected items data<\/a>");
29
30
31             $("#CheckAll").click(function(){ 
32                           $("#claimst :checkbox").attr('checked', $("#CheckAll").is(':checked')); 
33             });
34
35
36             // Generates a dynamic link for exporting the selection's data as CSV
37             $("#ExportSelected").click(function() {
38                 // We use input:checked because it's faster, but if there must new checkboxes  
39                 // used for other purpose on this page, please use [name=serialid]:checked instead
40                 var selected = $("input:checked");
41
42                 if (selected.length == 0) {
43                         alert(_('Please select at least one item to export.'));
44                         return false;
45                 }
46                 
47                 // Building the url from currently checked boxes
48                 var url = '/cgi-bin/koha/serials/lateissues-excel.pl?supplierid=&amp;op=claims';
49                 for (var i = 0; i < selected.length; i++) {
50                     url += '&amp;serialid=' + selected[i].value;
51                 }
52                 // And redirecting to the CSV page
53                 location.href = url;
54                 return false;
55             }); 
56
57
58          });
59
60         // Checks if the form can be sent (at least one checkbox must be checked)
61         function checkForm() {
62             if ($("input:checked").length == 0) {
63                 alert(_('Please select at least one item.'));
64                 return false;
65             }
66         }
67
68         // Filter by status
69         function filterByStatus() {
70             selectedStatus = $("#statusfilter").val();
71             if (selectedStatus == "all") {
72                 clearFilters();
73             } else {
74                 $("table#claimst tbody tr").hide();
75                 $("table#claimst tbody tr:contains(" + selectedStatus + ")").show();                
76             }
77         }
78
79         // Filter by title
80         function filterByTitle() {
81                 var title = $("#titlefilter").val();
82                 $("table#claimst tbody tr").hide();
83                 $("table#claimst tbody tr:icontains("  + title + ")").show();                
84
85         }
86
87         // Filter by date
88         function filterByDate() {
89             var beginDate = Date_from_syspref($("#begindate").val()).getTime();
90             var endDate   = Date_from_syspref($("#enddate").val()).getTime();
91             
92             // Checks if the beginning date is valid
93             if (!parseInt(beginDate)) {
94                 alert(_('The beginning date is missing or invalid.'));
95                 return false;
96             }
97
98             // Checks if the ending date is valid
99             if (!parseInt(endDate)) {
100                 alert(_('The ending date is missing or invalid.'));
101                 return false;
102             }
103
104             // Checks if beginning date is before ending date
105             if (beginDate > endDate) {
106                 // If not, we swap them
107                 var tmpDate = endDate;
108                 endDate = beginDate;
109                 beginDate = tmpDate;
110             }
111            
112             // We hide everything
113             $("table#claimst tbody tr").hide();
114
115             // For each date in the table
116             $(".planneddate").each(function() {
117
118                 // We make a JS Date Object, according to the locale
119                 var pdate = Date_from_syspref($(this).text()).getTime();
120
121                 // And checks if the date is between the beginning and ending dates
122                 if (pdate > beginDate && 
123                     pdate < endDate) {
124                         // If so, we can show the row
125                         $(this).parent().show();
126                     }
127
128             });
129         }
130
131         // Clears filters : shows everything
132         function clearFilters() {
133             $("table#claimst tbody tr").show();
134         }
135
136         function popup(supplierid,serialid){
137                 window.open('claims.pl?supplierid='+ supplierid +'&amp;serialid='+ serialid +'&amp;op=preview' ,'popup', 'width=600,height=400,toolbar=no,scrollbars=yes');
138         }
139
140 //]]>
141 </script>
142 </head>
143 <body>
144     <!-- TMPL_INCLUDE NAME="header.inc" -->
145 <!-- TMPL_UNLESS NAME="preview" -->
146     <!--TMPL_INCLUDE NAME="serials-search.inc" -->
147 <!-- /TMPL_UNLESS -->
148
149 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> &rsaquo; Claims</div>
150
151 <!-- TMPL_UNLESS NAME="preview" -->
152
153 <div id="doc3" class="yui-t2">
154    
155    <div id="bd">
156         <div id="yui-main">
157         <div class="yui-b">
158
159     <h1>Claims</h1>
160
161 <!-- TMPL_IF NAME="letter" --><!-- TMPL_UNLESS NAME="missingissues" --><!-- TMPL_IF NAME="supplierid" --> <div class="dialog alert">No missing issues found.</div><!-- TMPL_ELSE --><div class="dialog message">Please choose a supplier.</div><!-- /TMPL_IF --><!-- /TMPL_UNLESS --><!-- /TMPL_IF -->
162         
163              <!-- TMPL_IF NAME="SHOWCONFIRMATION" -->
164      <div class="dialog alert">Your notification has been sent.</div>
165      <!-- /TMPL_IF -->
166 <!-- TMPL_UNLESS NAME="letter" --><div class="dialog alert">No claims notice defined. <a href="/cgi-bin/koha/tools/letter.pl">Please define one</a>.</div><!-- /TMPL_UNLESS -->
167     <form id="claims" name="claims" action="claims.pl" method="post">
168     <fieldset><label for="supplierid">View: </label>
169         <!-- TMPL_VAR name="CGIsupplier" -->
170         <input type="submit" value="OK" />
171         <!-- TMPL_IF name="phone" -->Phone: <!-- TMPL_VAR name="phone" --><!-- /TMPL_IF -->
172         <!-- TMPL_IF name="booksellerfax" -->Fax: <!-- TMPL_VAR name="booksellerfax" --><!-- /TMPL_IF -->
173         <!-- TMPL_IF name="bookselleremail" --></p><p><a href="mailto:<!-- TMPL_VAR name="bookselleremail" -->"><!-- TMPL_VAR name="bookselleremail" --></a><!-- /TMPL_IF -->
174     </fieldset>
175 </form>
176
177    <!-- TMPL_IF NAME="missingissues" -->        
178     <h3>Missing Issues</h3>
179     <form action="claims.pl" onsubmit="filterByTitle(); return false;">
180         <fieldset class="rows">
181         <legend>Filters :</legend>
182         
183         <ol>
184         <li>
185             <label for="statusfilter">Status : </label>
186             <select id="statusfilter" onchange="filterByStatus();">
187                 <option value="all" selected="selected">(All)</option>
188                 <option>Expected</option>
189                 <option>Arrived</option>
190                 <option>Late</option>
191                 <option>Missing</option>
192                 <option>Claimed</option>
193             </select>
194         </li>
195         
196         <li>
197             <label for="titlefilter">Title : </label>
198             <input id="titlefilter" type="text" />
199             <input type="submit" value="OK" />
200         </li>
201         
202         <li>
203             <label for="begindate">From</label>
204             <img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="begindatebutton" style="cursor: pointer;" alt="Show Calendar" title="Show Calendar" />
205             <input type="text" name="begindate" id="begindate" value="<!-- TMPL_VAR name="begindate" -->" size="10" maxlength="10" />
206             <script type="text/javascript">
207                  //<![CDATA[ 
208                 Calendar.setup({
209                     inputField  : "begindate", 
210                     button              : "begindatebutton",
211                     ifFormat    : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->"
212                 });
213                 //]]>
214             </script>
215
216             <label for="enddate" style="float:none;">To</label>
217             <img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="enddatebutton" style="cursor: pointer;" alt="Show Calendar" title="Show Calendar" />
218             <input type="text" name="enddate" id="enddate" value="<!-- TMPL_VAR name="enddate" -->" size="10" maxlength="10" />
219             <script type="text/javascript">
220                  //<![CDATA[ 
221                  Calendar.setup({
222                     inputField      : "enddate", 
223                     button          : "enddatebutton",
224                     ifFormat        : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->"
225                 });
226                 //]]>
227             </script>
228             <input type="button" value="OK" onclick="filterByDate();" />
229         </li>
230         
231         <li>
232             <input type="reset" value="Clear Filters" onclick="clearFilters();" />
233         </li>
234         </ol>
235         </fieldset>
236     </form>
237
238         <form action="claims.pl" method="post" class="checkboxed" onsubmit="return checkForm()">
239         <input type="hidden" name="order" value="<!--TMPL_VAR Name="order"-->" />
240                     <p><span class="checkall"></span><span class="clearall"></span></p> 
241          <table id="claimst">
242                 <thead><tr>
243                     <!--TMPL_IF NAME="letter"-->
244                     <th>Claim</th>
245                     <!--/TMPL_IF-->
246                     <th>Supplier</th>
247                     <th>Title</th>
248                     <th>Issue number</th>
249                     <th>Status</th>
250                     <th>Since</th>
251                     <th>&nbsp;</th>
252                 <th>Begin Claim</th>
253                 </tr></thead>
254                 <tbody><!-- TMPL_LOOP name="missingissues" -->
255                     <tr>
256                         <!--TMPL_IF NAME="letter" -->
257                             <td>
258                     <input type="checkbox" name="serialid" value="<!-- TMPL_VAR NAME="serialid"-->" />
259                             </td>
260                         <!--/TMPL_IF-->
261                         <td>
262                         <!-- TMPL_VAR name="name" -->
263                         </td>
264                         <td>
265                         <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->"><!-- TMPL_VAR name="title" escape="html" --></a>
266                         </td>
267                         <td>
268                         <!-- TMPL_VAR name="serialseq" -->
269                         </td>
270                         <td>
271                             <!-- TMPL_IF Name="status1" -->Expected<!-- /TMPL_IF -->
272                             <!-- TMPL_IF Name="status2" -->Arrived<!-- /TMPL_IF -->
273                             <!-- TMPL_IF Name="status3" -->Late<!-- /TMPL_IF -->
274                             <!-- TMPL_IF Name="status4" -->Missing<!-- /TMPL_IF -->
275                             <!-- TMPL_IF Name="status7" -->Claimed<!-- /TMPL_IF -->
276                         </td>
277                         <td class="planneddate">
278                         <!-- TMPL_VAR name="planneddate" -->
279                         </td>
280                         <td>
281                         <!-- TMPL_VAR name="claimdate" -->
282                         </td>
283                         <td>
284                             <a href="/cgi-bin/koha/serials/lateissues-excel.pl?supplierid=<!-- TMPL_VAR name="supplieri" -->&amp;serialid=<!-- TMPL_VAR name="serialid" -->&amp;op=claims">Export item data</a>
285                         </td>
286                     </tr>
287                 <!-- /TMPL_LOOP --></tbody>
288             </table>
289              <p><span class="exportSelected"></span></p>
290         <!-- TMPL_IF Name="singlesupplier"-->
291             <input type="hidden" name="supplierid" value="<!--TMPL_VAR NAME="supplierid"-->" />
292             <!-- <a href="claims.pl?supplierid=<!-- TMPL_VAR name="supplierid" -->&amp;op=preview" onclick="popup(<!-- TMPL_VAR name="supplierid" -->,''); return false" class="button">Supplier Group Claim Notice</a></p> -->
293         <!-- /TMPL_IF -->
294
295 <!--TMPL_IF Name="letter" -->
296         <fieldset class="action"> <label for="letter_code">Select notice:</label>
297             <select name="letter_code" id="letter_code">
298                 <!-- TMPL_LOOP name="letters" -->
299                     <option value="<!--TMPL_VAR Name="code"-->"><!--TMPL_VAR Name="name"--></option>
300                 <!--/TMPL_LOOP-->
301                         </select>
302             <input type="hidden" name="op" value="send_alert" /><input type="submit" name="submit" class="button" value="Send notification" /></fieldset>
303             <!--/TMPL_IF-->
304 <!-- /TMPL_IF -->
305
306         </form>
307 <!-- TMPL_ELSE -->
308
309 <div id="doc" class="yui-t7">
310    <div id="bd">
311         
312 <!-- TMPL_IF Name="supplierloop"-->
313         <!-- TMPL_LOOP Name="supplierloop"-->
314         <!-- TMPL_IF NAME="name" -->
315         <p><b><!-- TMPL_VAR NAME="name" --></b><br />
316         <!-- /TMPL_IF -->
317         <!-- TMPL_IF NAME="postal" -->
318         <!-- TMPL_VAR NAME="postal" --><br />
319         <!-- /TMPL_IF -->
320         <!-- TMPL_IF NAME="contphone" -->
321         Ph: <!-- TMPL_VAR NAME="contphone" --><br />
322         <!-- /TMPL_IF -->
323         <!-- TMPL_IF NAME="contfax" -->
324         Fax: <!-- TMPL_VAR NAME="contfax" --><br />
325         <!-- /TMPL_IF -->
326         <!-- TMPL_IF NAME="contemail" -->
327         Email: <!-- TMPL_VAR NAME="contemail" --><br />
328         <!-- /TMPL_IF -->
329         <!-- TMPL_IF NAME="accountnumber" -->
330         A/C: <!-- TMPL_VAR NAME="accountnumber" --></p>
331         <!-- /TMPL_IF -->
332         <!-- TMPL_IF NAME="contact" -->
333         <p>Dear <!-- TMPL_VAR NAME="contact" --></p>
334         <!-- TMPL_ELSE -->
335         <p>To whom it may concern</p>
336         <!-- /TMPL_IF -->
337         <p>The following items have not been received from you and are now considered missing:</p>
338         <!-- /TMPL_LOOP -->
339 <!-- /TMPL_IF -->
340         <!-- TMPL_IF NAME="missingissues" -->
341         <h3>Missing Issues</h3>
342         <table>
343             <tr>
344                 <td><b>Supplier<b></td>
345                 <td><b>Title</b></td>
346                 <td><b>Issue number</b></td>
347                 <td><b>Missing since</b></td>
348             </tr>
349             <!-- TMPL_LOOP name="missingissues" -->
350                 <tr>
351                     <td>
352                     <!-- TMPL_VAR name="name" -->
353                     </td>
354                     <td>
355                     <!-- TMPL_VAR name="Title" escape="html" -->
356                     </td>
357                     <td>
358                     <!-- TMPL_VAR name="serialseq" -->
359                     </td>
360                     <td>
361                     <!-- TMPL_VAR name="planneddate" -->
362                     </td>
363                 </tr>
364             <!-- /TMPL_LOOP -->
365         </table>
366         <!-- /TMPL_IF -->
367
368 <p class="noprint"><a href="#" onclick="window.print(); return false;">Print</a> &nbsp; <a href="#" class="close">Close</a></p>
369 <!-- /TMPL_UNLESS -->
370
371 </div>
372 </div>
373
374 <!-- TMPL_UNLESS NAME="preview" -->
375 <div class="yui-b">
376 <!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
377 </div>
378 <!-- /TMPL_UNLESS -->
379 </div>
380 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->