Bug 10155: Patron search should remember search type options selected
[koha-ffzg.git] / koha-tmpl / intranet-tmpl / prog / en / includes / patron-search.inc
index 17a212f..47cd2ad 100644 (file)
@@ -1,76 +1,97 @@
-
+[% USE Koha %]
+<div class="gradient">
 <h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1><!-- Begin Patrons Resident Search Box -->
-[% IF ( CAN_user_circulate ) %][% IF ( CircAutocompl ) %]<script type="text/javascript">
-//<![CDATA[
-YAHOO.util.Event.onContentReady("header_search", function() {
-    new function() {
-        // Define a custom formatter function
-        this.fnCustomFormatter = function(oResultItem, sQuery) {
-            var name        = oResultItem[0];
-            var cardnumber  = oResultItem[1];
-            var address     = oResultItem[2];
-            var city        = oResultItem[3];
-            var zip         = oResultItem[4];
-            var aMarkup = [
-                "<div class=\"sample-result\">",
-                name,
-                " (",
-                cardnumber,
-                ")<small> -- ",
-                address,
-                ", ",
-                city,
-                "<\/small>",
-                "<\/div>"];
-            return (aMarkup.join(""));
-        };
-
-        // Instantiate one XHR DataSource and define schema as an array:
-        //     ["Record Delimiter",
-        //     "Field Delimiter"]
-        this.oACDS = new YAHOO.widget.DS_XHR("/cgi-bin/koha/circ/ysearch.pl", ["\n", "\t"]);
-        this.oACDS.responseType = YAHOO.widget.DS_XHR.TYPE_FLAT;
-        this.oACDS.maxCacheEntries = 60;
-        this.oACDS.queryMatchSubset = true;
-
-        // Instantiate first AutoComplete
-        var myInput = document.getElementById('findborrower');
-        var myContainer = document.getElementById('yborrowercontainer');
-        this.oAutoComp = new YAHOO.widget.AutoComplete(myInput,myContainer,this.oACDS);
-        //this.oAutoComp.delimChar = ";";
-        //this.oAutoComp.queryDelay = 1;
-        this.oAutoComp.formatResult = this.fnCustomFormatter;
-}
-});
-//]]>
-</script>[% END %][% END %]
 <div id="header_search">
        <div id="patron_search" class="residentsearch">
        <p class="tip">Enter patron card number or partial name:</p>
        <form action="/cgi-bin/koha/members/member.pl" method="post">
-    <input id="searchmember" size="25" class="focus" name="member" type="text" value="[% member %]"/>
-       [% IF ( branchloop ) %]
+    <input id="searchmember" data-toggle="tooltip" size="25" class="focus" name="searchmember" type="text" value="[% searchmember %]"/>
+    <input type="hidden" name="quicksearch" value="1" />
        <span class="filteraction" id="filteraction_off"> <a href="#" onclick="$('#filters').toggle();$('.filteraction').toggle();">[-]</a></span>
        <span class="filteraction" id="filteraction_on"> <a href="#" onclick="$('#filters').toggle();$('.filteraction').toggle();">[+]</a></span>
-       [% END %]
 
-      <label for="searchfields">Search fields:</label>
-      <select name="searchfields" id="searchfields">
-          <option selected="selected" value=''>Standard</option>
-          <option value='email,emailpro,B_email,'>Email</option>
+      <label for="searchfieldstype">Search fields:</label>
+      <select name="searchfieldstype" id="searchfieldstype">
+        [% IF searchfieldstype == "standard" %]
+          <option selected="selected" value='standard'>Standard</option>
+        [% ELSE %]
+          <option value='standard'>Standard</option>
+        [% END %]
+        [% IF searchfieldstype == "email" %]
+          <option selected="selected" value='email'>Email</option>
+        [% ELSE %]
+          <option value='email'>Email</option>
+        [% END %]
+        [% IF searchfieldstype == "borrowernumber" %]
+          <option selected="selected" value='borrowernumber'>Borrower number</option>
+        [% ELSE %]
           <option value='borrowernumber'>Borrower number</option>
-          <option value='phone,phonepro,B_phone,altcontactphone,mobile'>Phone number</option>
+        [% END %]
+        [% IF searchfieldstype == "phone" %]
+          <option selected="selected" value='phone'>Phone number</option>
+        [% ELSE %]
+          <option value='phone'>Phone number</option>
+        [% END %]
+        [% IF searchfieldstype == "address" %]
+          <option selected="selected" value='address'>Street Address</option>
+        [% ELSE %]
+          <option value='address'>Street Address</option>
+        [% END %]
+        [% IF searchfieldstype == "dateofbirth" %]
+          <option selected="selected" value='dateofbirth'>Date of birth</option>
+        [% ELSE %]
+          <option value='dateofbirth'>Date of birth</option>
+        [% END %]
+        [% IF searchfieldstype == "sort1" %]
+          <option selected="selected" value='sort1'>Sort field 1</option>
+        [% ELSE %]
+          <option value='sort1'>Sort field 1</option>
+        [% END %]
+        [% IF searchfieldstype == "sort2" %]
+          <option selected="selected" value='sort2'>Sort field 2</option>
+        [% ELSE %]
+          <option value='sort2'>Sort field 2</option>
+        [% END %]
+      </select>
+
+      <script type="text/javascript">
+          [% SET dateformat = Koha.Preference('dateformat') %]
+          $("#searchfields").change(function() {
+              if ( $(this).val() == 'dateofbirth' ) {
+                  [% IF dateformat == 'us' %]
+                      var MSG_DATE_FORMAT = _("Dates of birth should be entered in the format 'MM/DD/YYYY'");
+                  [% ELSIF dateformat == 'iso' %]
+                      var MSG_DATE_FORMAT = _("Dates of birth should be entered in the format 'YYYY-MM-DD'");
+                  [% ELSIF dateformat == 'metric' %]
+                      var MSG_DATE_FORMAT = _("Dates of birth should be entered in the format 'DD/MM/YYYY'");
+                  [% END %]
+                  $('#searchmember').attr("title",MSG_DATE_FORMAT).tooltip('show');
+              } else {
+                  $('#searchmember').tooltip('destroy');
+              }
+          });
+
+      </script>
+
+      <label for="searchtype">Search type:</label>
+      <select name="searchtype" id="searchtype">
+          [% IF searchtype != 'start_with' %]
+              <option value='start_with'>Starts with</option>
+              <option selected="selected" value='contain'>Contains</option>
+          [% ELSE %]
+              <option selected="selected" value='start_with'>Starts with</option>
+              <option value='contain'>Contains</option>
+          [% END %]
       </select>
 
-    <label for="orderby">Order by:</label>
-    <select name="orderby" id="searchorderby">
-    <option value="surname,0">Surname</option>
-    <option value="cardnumber,0">Cardnumber</option>
-    </select>
     <input value="Search" class="submit" type="submit" />
-       [% IF ( branchloop ) %]
-       <p id="filters"> <label for="branchcode">Library: </label><select name="branchcode" id="branchcode">
-        <option value="">Any</option>[% FOREACH branchloo IN branchloop %]
+    [% IF ( branchloop ) %]
+    <p id="filters"> <label for="branchcode">Library: </label>
+    <select name="branchcode" id="branchcode">
+        [% IF branchloop.size != 1 %]
+          <option value="">Any</option>
+        [% END %]
+        [% FOREACH branchloo IN branchloop %]
         [% IF ( branchloo.selected ) %]
         <option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]
         <option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
@@ -78,37 +99,18 @@ YAHOO.util.Event.onContentReady("header_search", function() {
                  <label for="categorycode">Category: </label><select name="categorycode" id="categorycode">
         <option value="">Any</option>[% FOREACH categorie IN categories %]
         [% IF ( categorie.selected ) %]
-        <option value="[% categorie.categorycode %]" selected="selected">[% categorie.description %]</option>[% ELSE %]
-        <option value="[% categorie.categorycode %]">[% categorie.description %]</option>[% END %]
+        <option value="[% categorie.categorycode %]" selected="selected">[% categorie.description |html_entity %]</option>[% ELSE %]
+        <option value="[% categorie.categorycode %]">[% categorie.description |html_entity %]</option>[% END %]
       [% END %]</select>
-       </p>
-       [% END %]
+    </p>
+    [% END %]
 </form>
        </div>
-       [% IF ( CAN_user_circulate ) %]
-       <div id="circ_search" class="residentsearch" style="display:none;">
-       <p class="tip">Enter patron card number or partial name:</p>
-    <form action="/cgi-bin/koha/circ/circulation.pl" method="post" autocomplete="off">
-    [% IF ( CircAutocompl ) %]
-    <div class="autocomplete">
-            <div id="borrowerautocomplete" class="autocomplete">
-                <input autocomplete="off" id="findborrower" name="findborrower" type="text" />
-                <div id="yborrowercontainer"></div>
-                <input id="ysearchsubmit" type="submit" class="submit" value="Submit" />
-                <input name="branch" value="[% branch %]" type="hidden" />
-                <input name="printer" value="" type="hidden" />
-            </div>
-        </div>
-       [% ELSE %]
-            <input id="findborrower" name="findborrower" size="40" type="text" />
-            <input name="branch" value="[% branch %]" type="hidden" />
-            <input name="printer" value="" type="hidden" />
-            <input value="Submit" class="submit" type="submit" />
-       [% END %]
-    </form>
-       </div>[% END %]
+
+    [% INCLUDE 'patron-search-box.inc' %]
+
        [% IF ( CAN_user_catalogue ) %]
-       <div id="catalog_search" class="residentsearch" style="display:none;">
+    <div id="catalog_search" class="residentsearch">
        <p class="tip">Enter search keywords:</p>
                <form action="/cgi-bin/koha/catalogue/search.pl"  method="get" id="cat-search-block">
                         <input type="text" name="q" id="search-form" size="40" value="" title="Enter the terms you wish to search for." class="form-text" />
@@ -116,7 +118,7 @@ YAHOO.util.Event.onContentReady("header_search", function() {
                </form>
        </div>[% END %]
     [% IF ( CAN_user_circulate ) %]
-    <div id="checkin_search" class="residentsearch" style="display:none;">
+    <div id="checkin_search" class="residentsearch">
     <p class="tip">Scan a barcode to check in:</p>
     <form method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off">
     <input name="barcode" id="ret_barcode" size="40" accesskey="r" />
@@ -125,12 +127,13 @@ YAHOO.util.Event.onContentReady("header_search", function() {
     </div>
     [% END %]
                        <ul>
-                       <li><a href="/cgi-bin/koha/members/members-home.pl#patron_search">Search Patrons</a></li>
-                       [% IF ( CAN_user_circulate ) %]<li><a href="/cgi-bin/koha/circ/circulation.pl#circ_search">Check Out</a></li>[% END %]
-    [% IF ( CAN_user_circulate ) %]<li><a href="/cgi-bin/koha/circ/returns.pl#checkin_search">Check In</a></li>[% END %]
-                       [% IF ( CAN_user_catalogue ) %]<li><a href="/cgi-bin/koha/catalogue/search.pl#catalog_search">Search the Catalog</a></li>[% END %]
+            <li><a href="#patron_search">Search patrons</a></li>
+            [% IF ( CAN_user_circulate ) %]<li><a href="#circ_search">Check out</a></li>[% END %]
+    [% IF ( CAN_user_circulate ) %]<li><a href="#checkin_search">Check in</a></li>[% END %]
+            [% IF ( CAN_user_catalogue ) %]<li><a href="#catalog_search">Search the catalog</a></li>[% END %]
                        </ul>
-</div>
+</div><!-- /header_search -->
+</div><!-- /gradient -->
 <script type="text/javascript">//<![CDATA[
 $(document).ready(function() {
     [% IF ( advsearch ) %]$("#filteraction_on").toggle();