From d6b360d33d19e55aec90fb96fcbfa33443cc4a54 Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatersolutions.com>
Date: Tue, 2 Oct 2012 10:01:11 -0400
Subject: [PATCH] Bug 8845 - Add ability search patrons by date of birth - Add
 tooltip

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Works with all date formats
---
 Koha/Template/Plugin/Koha.pm                       |   49 ++++++++++++++++++++
 .../prog/en/includes/doc-head-close.inc            |    1 +
 .../prog/en/includes/patron-search.inc             |   24 ++++++++++
 3 files changed, 74 insertions(+)
 create mode 100644 Koha/Template/Plugin/Koha.pm

diff --git a/Koha/Template/Plugin/Koha.pm b/Koha/Template/Plugin/Koha.pm
new file mode 100644
index 0000000..09bd97b
--- /dev/null
+++ b/Koha/Template/Plugin/Koha.pm
@@ -0,0 +1,49 @@
+package Koha::Template::Plugin::Koha;
+
+# Copyright ByWater Solutions 2013
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+
+use Template::Plugin;
+use base qw( Template::Plugin );
+
+use C4::Koha;
+use C4::Context;
+
+=pod
+
+This plugin contains various Koha replated Template Toolkit functions
+to help streamline Koha and to move logic from the Perl code into the
+Templates when it makes sense to do so.
+
+To use, first, include the line '[% USE Koha %]' at the top
+of the template to enable the plugin.
+
+For example: [% IF Koha.Preference( 'MyPreference ) == 'SettingA' %]
+removes the necessity of setting a template variable in Perl code for 
+each and every system preference, even if no evaluation of the setting
+is necessary.
+
+=cut
+
+sub Preference {
+    my ( $self, $pref ) = @_;
+    return C4::Context->preference( $pref );
+}
+
+1;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
index 32eae21..ff2ba0e 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
@@ -13,6 +13,7 @@
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.hotkeys.min.js"></script>
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.cookie.min.js"></script>
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.highlight-3.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.qtip.js"></script>
 [% IF ( login ) %]
     <link rel="stylesheet" type="text/css" href="[% themelang %]/css/login.css" />
 [% END %]
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
index 1881d57..95c3a79 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
@@ -1,3 +1,4 @@
+[% USE Koha %]
 <div class="gradient">
 <h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1><!-- Begin Patrons Resident Search Box -->
 <div id="header_search">
@@ -19,6 +20,29 @@
           <option value='streettype,address,address2,city,state,zipcode,country'>Street Address</option>
           <option value='dateofbirth'>Date of birth</option>
       </select>
+      <script type="text/javascript">
+          [% SET dateformat = Koha.Preference('dateformat') %]
+          $("#searchfields").change(function() {
+              if ( $(this).val() == 'dateofbirth' ) {
+                  [% IF dateformat == 'us' %]
+                      [% SET format = 'MM/DD/YYYY' %]
+                  [% ELSIF dateformat == 'iso' %]
+                      [% SET format = 'YYYY-MM-DD' %]
+                  [% ELSIF dateformat == 'metric' %]
+                      [% SET format = 'DD/MM/YYYY' %]
+                  [% END %]
+
+                  $('#searchmember').qtip({
+                      content: 'Dates of birth should be entered in the format "[% format %]"',
+                      style: {
+                          tip: 'topLeft'
+                      }
+                  })
+              } else {
+                  $('#searchmember').qtip('destroy');
+              }
+          });
+      </script>
 
     <label for="orderby">Order by:</label>
     <select name="orderby" id="searchorderby">
-- 
1.7.10.4