Bug 14510: (QA followup) Fix bug with unmapped columns
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / patron-search.inc
index caf4398..bb09574 100644 (file)
-
+[% USE Koha %]
+[% USE Branches %]
+[% USE Categories %]
+<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 ) %]
-       <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 %]
-    order by:
-    <select name="orderby" id="searchorderby">
-    <option value="surnamecomma0">Surname</option>
-    <option value="cardnumbercomma0">Cardnumber</option>
-    </select>
+    <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" data-toggle="tooltip" size="25" class="head-searchbox focus" name="searchmember" type="text" value="[% searchmember %]"/>
+    <input type="hidden" name="quicksearch" value="1" />
+    <span class="filteraction" id="filteraction_off"> <a href="#">[-]</a></span>
+    <span class="filteraction" id="filteraction_on"> <a href="#">[+]</a></span>
+
     <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 ( branchloo.selected ) %]
-        <option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]
-        <option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
-      [% END %]</select>
-                 <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 %]
-      [% END %]</select>
-       </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">
-    [% 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 %]
+
+    <div id="filters">
+        <p><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>
+              [% END %]
+              [% IF searchfieldstype == "userid" %]
+                <option selected="selected" value='userid'>Username</option>
+              [% ELSE %]
+                <option value='userid'>Username</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>
+        </p>
+
+        <p>
+            <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>
+        </p>
+
+        <p>
+            <label for="branchcode">Library: </label>
+            [% SET branches = Branches.all( selected => branchcode_filter ) %]
+            <select name="branchcode_filter" id="branchcode">
+                [% IF branches.size != 1 %]
+                  <option value="">Any</option>
+                [% END %]
+                [% FOREACH b IN branches %]
+                    [% IF b.selected %]
+                        <option value="[% b.branchcode %]" selected="selected">[% b.branchname %]</option>
+                    [% ELSE %]
+                        <option value="[% b.branchcode %]">[% b.branchname %]</option>
+                    [% END %]
+                [% END %]
+            </select>
+        </p>
+
+        <p>
+            <label for="categorycode">Category: </label>
+            [% SET categories = Categories.all( selected => categorycode_filter ) %]
+            <select name="categorycode_filter" 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 %]
+                [% END %]
+            </select>
+        </p>
+    </div>
     </form>
-       </div>[% END %]
-       [% IF ( CAN_user_catalogue ) %]
-       <div id="catalog_search" class="residentsearch" style="display:none;">
-       <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" />
-                               <input type="submit" name="op" id="opac-submit" value="Submit" class="submit" />
-               </form>
-       </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_catalogue ) %]<li><a href="/cgi-bin/koha/catalogue/search.pl#catalog_search">Search the Catalog</a></li>[% END %]
-                       </ul>
 </div>
+    [% INCLUDE 'patron-search-box.inc' %]
+
+    [% IF ( CAN_user_catalogue ) %]
+    <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="head-searchbox form-text" />
+                <input type="submit" name="op" id="opac-submit" value="Submit" class="submit" />
+        </form>
+    </div>[% END %]
+    [% IF ( CAN_user_circulate ) %]
+    <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 class="head-searchbox" name="barcode" id="ret_barcode" size="40" accesskey="r" />
+    <input value="Submit" class="submit" type="submit" />
+    </form>
+    </div>
+    [% END %]
+    <ul>
+        <li><a onclick="keep_text(0)" href="#patron_search">Search patrons</a></li>
+        [% IF ( CAN_user_circulate ) %]<li><a onclick="keep_text(1)" href="#circ_search">Check out</a></li>[% END %]
+        [% IF ( CAN_user_circulate ) %]<li><a onclick="keep_text(2)" href="#checkin_search">Check in</a></li>[% END %]
+        [% IF ( CAN_user_catalogue ) %]<li><a onclick="keep_text(3)" href="#catalog_search">Search the catalog</a></li>[% END %]
+    </ul>
+</div><!-- /header_search -->
+</div><!-- /gradient -->
 <script type="text/javascript">//<![CDATA[
 $(document).ready(function() {
+    $("#filteraction_off, #filteraction_on").on('click', function(e) {
+        e.preventDefault();
+        $('#filters').toggle();
+        $('.filteraction').toggle();
+    });
     [% IF ( advsearch ) %]$("#filteraction_on").toggle();
     [% ELSE %]$("#filters").toggle();
     $("#filteraction_off").toggle();[% END %]
+    [% SET dateformat = Koha.Preference('dateformat') %]
+    $("#searchfieldstype").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>