Bug 10855: Search subscriptions by additional fields
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / serials / serials-search.tt
index ae1484d..31eea9a 100644 (file)
@@ -20,6 +20,7 @@
     } ) );
 
     var csrlt = $("#csrlt").dataTable($.extend(true, {}, dataTablesDefaults, {
+        // FIXME sort function of additional_fields!
         "sPaginationType": "four_button",
         "aoColumnDefs": [
             { 'bSortable': false, 'aTargets': [ 'NoSort' ] },
               <ol>
                 <li>
                   <label for="issn">ISSN:</label>
-                  <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
+                  <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
                 </li>
                 <li>
                   <label for="title">Title:</label>
-                  <input type="text" id="title" name="title_filter" value="[% title_filter %]" />
+                  <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
                 </li>
                 [% IF ( marcflavour == "UNIMARC" ) %]
                 <li>
                   <label for="ean">EAN:</label>
-                  <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
+                  <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
                 </li>
                 [% END %]
                 <li>
                   <label for="callnumber">Call number:</label>
-                  <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter %]" />
+                  <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
                 </li>
                 <li>
                   <label for="publisher">Publisher:</label>
-                  <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
+                  <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
                 </li>
                 <li>
                   <label for="bookseller">Vendor:</label>
-                  <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter %]" />
+                  <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
                 </li>
                 <li>
                   <label for="branch">Library:</label>
                   <label for="to">Expires before:</label>
                   <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | $KohaDates %]" size="10" maxlength="10" class="datepickerto" />
                 </li>
+                [% FOR field IN additional_fields_for_subscription %]
+                  <li>
+                    <label for="additional_field_[% field.id %]"> [% field.name %]: </label>
+                    [% IF field.authorised_value_choices %]
+                      <select id="additional_field_[% field.id %]" name="additional_field_[% field.id %]_filter">
+                        <option value="">All</option>
+                        [% FOREACH av IN field.authorised_value_choices %]
+                          <option value="[% av.authorised_value %]">[% av.lib %]</option>
+                        [% END %]
+                      </select>
+                    [% ELSE %]
+                      <input id="additional_field_[% field.id %]" type="text" value="[% additional_fields.${field.name} %]" name="additional_field_[% field.id %]_filter" />
+                    [% END %]
+                  </li>
+                [% END %]
               </ol>
               <input type="hidden" name="searched" value="1" />
               <fieldset class="action">
                         <th>Location</th>
                         <th>Call number</th>
                         <th class="title-string">Expiration date</th>
+                        [% FOR field IN additional_fields_for_subscription %]
+                          <th>[% field.name %]</th>
+                        [% END %]
                         <th class="NoSort">Actions</th>
                     </tr>
                   </thead>
                       <td><input type="text" class="dt-filter" data-column_num="4" placeholder="Search location" /></td>
                       <td><input type="text" class="dt-filter" data-column_num="5" placeholder="Search callnumber" /></td>
                       <td><input type="text" class="dt-filter" data-column_num="6" placeholder="Search expiration date" /></td>
+                      [% FOR field IN additional_fields_for_subscription %]
+                        <td><input type="text" class="dt-filter" data-column_num="[% loop.count + 6 %]" placeholder="Search [% field.name %]" /></td>
+                      [% END %]
                       <td></td>
                     </tr>
                   </tfoot>
                             [% END %]
                         </td>
 
+                        [% FOR field IN additional_fields_for_subscription %]
+                          [% IF field.authorised_value_category %]
+                            <td>[% AuthorisedValues.GetByCode( field.authorised_value_category, subscription.additional_fields.${field.name} ) %]</td>
+                          [% ELSE %]
+                            <td>[% subscription.additional_fields.${field.name} %]</td>
+                          [% END %]
+                        [% END %]
+
                         <td>
                             <div class="dropdown">
                                 <a class="btn btn-mini dropdown-toggle" id="subactions[% subscription.subscriptionid %]" role="button" data-toggle="dropdown" href="#">
             <div id="closed">
               [% IF closedsubscriptions %]
                 <table id="csrlt">
+                <!-- FIXME add additional_fields for closed subs -->
                   <thead>
                     <tr>
                         <th>ISSN</th>
                         <th>Library</th>
                         <th>Location</th>
                         <th>Call number</th>
+                        [% FOR field IN additional_fields_for_subscription %]
+                          <th>[% field.name %]</th>
+                        [% END %]
                         <th class="NoSort">Actions</th>
                     </tr>
                   </thead>
                       <td><input type="text" class="dt-filter" data-column_num="3" placeholder="Search library" /></td>
                       <td><input type="text" class="dt-filter" data-column_num="4" placeholder="Search location" /></td>
                       <td><input type="text" class="dt-filter" data-column_num="5" placeholder="Search callnumber" /></td>
+                      [% FOR field IN additional_fields_for_subscription %]
+                        <td><input type="text" class="dt-filter" data-column_num="[% loop.count + 5 %]" placeholder="Search [% field.name %]" /></td>
+                      [% END %]
                       <td></td>
                     </tr>
                   </tfoot>
                         <td>
                           [% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
                         </td>
+                        [% FOR field IN additional_fields_for_subscription %]
+                          [% IF field.authorised_value_category %]
+                            <td>[% KohaAuthorisedValues.GetByCode( field.authorised_value_category, subscription.additional_fields.${field.name} ) %]</td>
+                          [% ELSE %]
+                            <td>[% subscription.additional_fields.${field.name} %]</td>
+                          [% END %]
+                        [% END %]
                         <td>
                             <div class="dropdown">
                                 <a class="btn btn-mini dropdown-toggle" id="closedsubactions[% subscription.subscriptionid %]" role="button" data-toggle="dropdown" href="#">
                                     [% IF ( routing && CAN_user_serials_routing ) %]
                                         [% UNLESS ( subscription.cannotedit ) %]
                                             <li>
-                                                <a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&amp;op=reopen&amp;routing=[% subscription.routing %]&amp;searched=1&amp;title_filter=[% title_filter %]&amp;ISSN_filter=[% ISSN_filter %]&amp;EAN_filter=[% EAN_filter %]&amp;published_filter=[% publisher_filter %]&amp;bookseller_filter=[% bookseller_filter %]&amp;branch_filter=[% branch_filter %]" id="reopensub"> <i class="icon-repeat"></i> Reopen</a>
+                                                <a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&amp;op=reopen&amp;routing=[% subscription.routing %]&amp;searched=1&amp;title_filter=[% title_filter | uri %]&amp;ISSN_filter=[% ISSN_filter | uri %]&amp;EAN_filter=[% EAN_filter | uri %]&amp;published_filter=[% publisher_filter | uri %]&amp;bookseller_filter=[% bookseller_filter | uri %]&amp;branch_filter=[% branch_filter | uri %]" id="reopensub"> <i class="icon-repeat"></i> Reopen</a>
                                             </li>
                                         [% END %]
                                     [% END # IF ( routing && CAN_user_serials_routing ) %]
               <ol>
                 <li>
                   <label for="issn">ISSN:</label>
-                  <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
+                  <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
                 </li>
                 <li>
                   <label for="title">Title:</label>
-                  <input type="text" id="title" name="title_filter" value="[% title_filter %]" />
+                  <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
                 </li>
                 [% IF ( marcflavour == "UNIMARC" ) %]
                 <li>
                   <label for="ean">EAN:</label>
-                  <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
+                  <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
                 </li>
                 [% END %]
                 <li>
                   <label for="callnumber">Call number:</label>
-                  <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter %]" />
+                  <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
                 </li>
                 <li>
                   <label for="publisher">Publisher:</label>
-                  <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
+                  <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
                 </li>
                 <li>
                   <label for="bookseller">Vendor:</label>
-                  <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter %]" />
+                  <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
                 </li>
                 <li>
                   <label for="branch">Library:</label>
                   <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | $KohaDates %]" size="10" maxlength="10" class="datepickerto" />
                 </li>
 
+                [% FOR field IN additional_fields_for_subscription %]
+                  <li>
+                    <label for="additional_field_[% field.id %]ID"> [% field.name %]: </label>
+                    [% IF field.authorised_value_choices %]
+                      <select id="additional_field_[% field.id %]" name="additional_field_[% field.id %]_filter">
+                        <option value="">All</option>
+                        [% FOREACH av IN field.authorised_value_choices %]
+                          [% IF av.authorised_value == additional_field_filters.${field.name} %]
+                            <option value="[% av.authorised_value %]" selected="selected">[% av.lib %]</option>
+                          [% ELSE %]
+                            <option value="[% av.authorised_value %]">[% av.lib %]</option>
+                          [% END %]
+                        [% END %]
+                      </select>
+                    [% ELSE %]
+                      <input id="additional_field_[% field.id %]" type="text" value="[% additional_field_filters.${field.name} %]" name="additional_field_[% field.id %]_filter" />
+                    [% END %]
+                  </li>
+                [% END %]
               </ol>
               <input type="hidden" name="searched" value="1" />
               <fieldset class="action">