@@ -, +, @@
patron cards
---
.../prog/en/modules/common/patron_search.tt | 2 +
.../prog/en/modules/patroncards/edit-batch.tt | 15 +-
.../prog/en/modules/patroncards/members-search.tt | 126 -----------------
.../modules/patroncards/tables/members_results.tt | 26 ++++
patroncards/add_user_search.pl | 51 +++++++
patroncards/members-search.pl | 147 --------------------
6 files changed, 92 insertions(+), 275 deletions(-)
delete mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/members-search.tt
create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/tables/members_results.tt
create mode 100755 patroncards/add_user_search.pl
delete mode 100755 patroncards/members-search.pl
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/common/patron_search.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/common/patron_search.tt
@@ -176,6 +176,8 @@ function filter() {
[% CASE 'name' %]
-
-
-
Patron search
-
-
- Browse by last name:
- [% FOREACH letter IN alphabet.split(' ') %]
-
[% letter %]
- [% END %]
-
-
-
-
-[% IF ( resultsloop ) %]
-
-[% IF ( paginationbar ) %][% END %]
-
-
-[% ELSE %]
-[% IF ( searching ) %]
-No results found
-[% END %]
-[% END %]
-
-
-
-[% INCLUDE 'popup-bottom.inc' %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/tables/members_results.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/tables/members_results.tt
@@ -0,0 +1,26 @@
+[% USE To %]
+{
+ "sEcho": [% sEcho %],
+ "iTotalRecords": [% iTotalRecords %],
+ "iTotalDisplayRecords": [% iTotalDisplayRecords %],
+ "aaData": [
+ [% FOREACH data IN aaData %]
+ {
+ "dt_cardnumber":
+ "[% data.cardnumber %]",
+ "dt_name":
+ "
[% INCLUDE 'patron-title.inc' borrowernumber = data.borrowernumber category_type = data.category_type firstname = data.firstname surname = data.surname othernames = data.othernames cardnumber = data.cardnumber invert_name = 1%]",
+ "dt_category":
+ "[% data.category_description |html %] ([% data.category_type |html %])",
+ "dt_branch":
+ "[% data.branchname |html %]",
+ "dt_dateexpiry":
+ "[% data.dateexpiry %]",
+ "dt_borrowernotes":
+ "[% data.borrowernotes.replace('\\\\' , '\\\\') |html |html_line_break |collapse %]",
+ "dt_action":
+ "
Add"
+ }[% UNLESS loop.last %],[% END %]
+ [% END %]
+ ]
+}
--- a/patroncards/add_user_search.pl
+++ a/patroncards/add_user_search.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl
+
+# This file is part of Koha.
+#
+# Copyright 2014 BibLibre
+#
+# 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 3 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, see
.
+
+use Modern::Perl;
+
+use CGI qw ( -utf8 );
+use C4::Auth;
+use C4::Output;
+use C4::Members;
+
+my $input = new CGI;
+
+my $dbh = C4::Context->dbh;
+
+my ( $template, $loggedinuser, $cookie, $staff_flags ) = get_template_and_user(
+ { template_name => "common/patron_search.tt",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { serials => 'routing' },
+ }
+);
+
+my $q = $input->param('q') || '';
+my $op = $input->param('op') || '';
+
+my $referer = $input->referer();
+
+$template->param(
+ view => ( $input->request_method() eq "GET" ) ? "show_form" : "show_results",
+ columns => ['cardnumber', 'name', 'category', 'branch', 'dateexpiry', 'borrowernotes', 'action'],
+ json_template => 'patroncards/tables/members_results.tt',
+ selection_type => 'add',
+);
+output_html_with_http_headers( $input, $cookie, $template->output );
--- a/patroncards/members-search.pl
+++ a/patroncards/members-search.pl
@@ -1,147 +0,0 @@
-#!/usr/bin/perl
-
-# Copyright 2000-2002 Katipo Communications
-#
-# 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 strict;
-use warnings;
-
-use CGI qw ( -utf8 );
-
-use C4::Auth;
-use C4::Output;
-use C4::Members;
-use C4::Debug;
-
-my $cgi = CGI->new;
-
-my $batch_id = $cgi->param('batch_id') || 0;
-my $startfrom = $cgi->param('startfrom')||1;
-my $resultsperpage = $cgi->param('resultsperpage')||C4::Context->preference("PatronsPerPage")||20;
-my $category = $cgi->param('category') || undef;
-my $member = $cgi->param('member') || '';
-my $orderby = $cgi->param('orderby') || undef;
-my $not_attributes = $cgi->param('not_attributes') || undef;
-
-my @categories=C4::Category->all;
-my %categories_display;
-my $no_categories;
-
-foreach my $category (@categories) {
- my $hash={
- category_description=>$$category{description},
- category_type=>$$category{category_type}
- };
- $categories_display{$$category{categorycode}} = $hash;
-}
-
-
-my ($template, $loggedinuser, $cookie) = get_template_and_user({
- template_name => "patroncards/members-search.tt",
- query => $cgi,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => {borrowers => 1},
- debug => 1,});
-
-if(scalar(@categories) < 1){ $no_categories = 1; }
-if($no_categories && C4::Context->preference("AddPatronLists")=~/code/){
- $template->param(no_categories => 1);
-} else {
- $template->param(
- categories=>\@categories,
- category => $category
- );
-}
-
-$orderby = "surname,firstname" unless $orderby;
-$member =~ s/,//g; #remove any commas from search string
-$member =~ s/\*/%/g;
-
-if ($member || $category) {
- my $results = $category ? Search({''=>$member, categorycode=>$category}, $orderby, undef, undef, undef, undef, $not_attributes )
- : Search($member, $orderby, undef, undef, undef, undef, $not_attributes);
- my $count = $results ? @$results : 0;
-
- my @resultsdata = ();
- my $to = ($count>($startfrom * $resultsperpage)?$startfrom * $resultsperpage:$count);
- for (my $i = ($startfrom-1) * $resultsperpage; $i < $to; $i++){
- #find out stats
- my ($od,$issue,$fines) = GetMemberIssuesAndFines($results->[$i]{'borrowernumber'});
- my %row = (
- count => $i + 1,
- %{$categories_display{$results->[$i]{categorycode}}},
- borrowernumber => $results->[$i]{'borrowernumber'},
- cardnumber => $results->[$i]{'cardnumber'},
- surname => $results->[$i]{'surname'},
- firstname => $results->[$i]{'firstname'},
- categorycode => $results->[$i]{'categorycode'},
- address => $results->[$i]{'address'},
- address2 => $results->[$i]{'address2'},
- city => $results->[$i]{'city'},
- zipcode => $results->[$i]{'zipcode'},
- country => $results->[$i]{'country'},
- branchcode => $results->[$i]{'branchcode'},
- overdues => $od,
- issues => $issue,
- odissue => "$od/$issue",
- fines => ($fines ? sprintf("%.2f",$fines) : ''),
- borrowernotes => $results->[$i]{'borrowernotes'},
- sort1 => $results->[$i]{'sort1'},
- sort2 => $results->[$i]{'sort2'},
- dateexpiry => C4::Dates->new($results->[$i]{'dateexpiry'},'iso')->output('syspref'),
- );
- push(@resultsdata, \%row);
- }
- my $base_url = '?' . join('&', map { $_->{term} . '=' . $_->{val} } (
- { term => 'member', val => $member },
- { term => 'category', val => $category },
- { term => 'orderby', val => $orderby },
- { term => 'resultsperpage', val => $resultsperpage },
- { term => 'batch_id', val => $batch_id },)
- );
- $template->param(
- paginationbar => pagination_bar(
- $base_url, int( $count / $resultsperpage ) + 1,
- $startfrom, 'startfrom'
- ),
- startfrom => $startfrom,
- from => ($startfrom-1) * $resultsperpage + 1,
- to => $to,
- multipage => ($count != $to || $startfrom != 1),
- searching => "1",
- member => $member,
- category_type => $category,
- numresults => $count,
- resultsloop => \@resultsdata,
- batch_id => $batch_id,
- );
-}
-else {
- $template->param( batch_id => $batch_id);
-}
-
-$template->param( 'alphabet' => C4::Context->preference('alphabet') || join ' ', 'A' .. 'Z' );
-
-output_html_with_http_headers $cgi, $cookie, $template->output;
-
-__END__
-
-#script to do a borrower enquiry/bring up borrower details etc
-#written 20/12/99 by chris@katipo.co.nz
-
-
--