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