Browse Source
dcook: fixed SQL error and removed blank targets Signed-off-by: Frédéric Demians <f.demians@tamil.fr> Thanks. Works as described. Valuable addition on patron information page. Ideas of enhancement: - For some library, and some patron, the routing lists table could be very long, and a paged table would be a plus. - In the table, a new Vendor column. - The possibility to sort the table entries by Title and Vendor column. Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>3.10.x
4 changed files with 249 additions and 0 deletions
@ -0,0 +1,80 @@ |
|||
[% INCLUDE 'doc-head-open.inc' %] |
|||
<title>Subscription Routing Lists for [% INCLUDE 'patron-title.inc' %]</title> |
|||
[% INCLUDE 'doc-head-close.inc' %] |
|||
</head> |
|||
<body> |
|||
[% INCLUDE 'header.inc' %] |
|||
[% INCLUDE 'patron-search.inc' %] |
|||
|
|||
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Subscription Routing Lists for [% INCLUDE 'patron-title.inc' %]</div> |
|||
|
|||
<div id="doc3" class="yui-t2"> |
|||
<div id="bd"> |
|||
<div id="yui-main"> |
|||
<div class="yui-b"> |
|||
[% INCLUDE 'circ-toolbar.inc' %] |
|||
|
|||
<!-- Search Bar --> |
|||
<p class="tip">Search Subscriptions:</p> |
|||
<form action="/cgi-bin/koha/serials/serials-home.pl" method="get">[% IF ( routing ) %]<input type="hidden" name="routing" value="[% routing %]" />[% END %]<input type="hidden" name="searched" value="1" /> <label for="ISSN_filter">ISSN:</label> <input type="text" size="10" maxlength="11" name="ISSN_filter" id="ISSN_filter" value="[% ISSN_filter %]" /> <label for="title_filter">Title:</label> <input type="text" size="20" maxlength="40" name="title_filter" id="title_filter" value="[% title_filter %]" /><input type="submit" value="Search" class="submit" /> |
|||
</form> |
|||
<!-- Search Bar End --> |
|||
|
|||
<h1> |
|||
[% IF ( countSubscrip ) %] |
|||
[% countSubscrip %] Subscription Routing List(s) |
|||
[% ELSE %] |
|||
0 Subscription Routing Lists |
|||
[% END %] |
|||
</h1> |
|||
|
|||
<div id="subscriptions"> |
|||
[% IF ( subscripLoop ) %] |
|||
<table id="subscriptiont"> |
|||
<thead> |
|||
<tr> |
|||
<th>Subscription Title</th> |
|||
<th>Routing List</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
[% FOREACH subscripLoop IN subscripLoop %] |
|||
<tr> |
|||
<td> |
|||
<a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscripLoop.subscriptionid %]"><strong> |
|||
[% subscripLoop.title %] |
|||
</strong> |
|||
</a> |
|||
</td> |
|||
<td> |
|||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscripLoop.subscriptionid %]"><strong> |
|||
Edit Routing List |
|||
</strong> |
|||
</a> |
|||
<input type="hidden" name="biblionumber" value="[% biblionumber %]" /> |
|||
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
|||
</td> |
|||
</tr> |
|||
[% END %] |
|||
</tbody> |
|||
</table> |
|||
</form> |
|||
[% ELSE %] |
|||
<p>Patron does not belong to any subscription routing lists.</p> |
|||
<input type="hidden" name="biblionumber" value="[% biblionumber %]" /> |
|||
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
|||
[% END %] |
|||
|
|||
</div> |
|||
|
|||
|
|||
|
|||
|
|||
</div> |
|||
</div> |
|||
|
|||
<div class="yui-b"> |
|||
[% INCLUDE 'circ-menu.inc' %] |
|||
</div> |
|||
</div> |
|||
[% INCLUDE 'intranet-bottom.inc' %] |
@ -0,0 +1,133 @@ |
|||
#!/usr/bin/perl |
|||
|
|||
# Copyright 2012 Prosentient Systems |
|||
# |
|||
# 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; FIXME - Bug 2505 |
|||
use CGI; |
|||
use C4::Output; |
|||
use C4::Auth qw/:DEFAULT get_session/; |
|||
use C4::Branch; # GetBranches |
|||
use C4::Members; |
|||
use C4::Context; |
|||
use C4::Serials; |
|||
use CGI::Session; |
|||
|
|||
my $query = new CGI; |
|||
|
|||
my $sessionID = $query->cookie("CGISESSID") ; |
|||
my $session = get_session($sessionID); |
|||
|
|||
# branch are now defined by the userenv |
|||
# but first we have to check if someone has tried to change them |
|||
|
|||
my $branch = $query->param('branch'); |
|||
if ($branch){ |
|||
# update our session so the userenv is updated |
|||
$session->param('branch', $branch); |
|||
$session->param('branchname', GetBranchName($branch)); |
|||
} |
|||
|
|||
my ( $template, $loggedinuser, $cookie ) = get_template_and_user ( |
|||
{ |
|||
template_name => 'members/routing-lists.tt', |
|||
query => $query, |
|||
type => "intranet", |
|||
authnotrequired => 0, |
|||
flagsrequired => { circulate => 'circulate_remaining_permissions' }, |
|||
} |
|||
); |
|||
|
|||
my $branches = GetBranches(); |
|||
|
|||
my $findborrower = $query->param('findborrower'); |
|||
$findborrower =~ s|,| |g; |
|||
|
|||
my $borrowernumber = $query->param('borrowernumber'); |
|||
|
|||
$branch = C4::Context->userenv->{'branch'}; |
|||
|
|||
# get the borrower information..... |
|||
my $borrower; |
|||
if ($borrowernumber) { |
|||
$borrower = GetMemberDetails( $borrowernumber, 0 ); |
|||
} |
|||
|
|||
|
|||
################################################################################## |
|||
# BUILD HTML |
|||
# I'm trying to show the title of subscriptions where the borrowernumber is attached via a routing list |
|||
|
|||
if ($borrowernumber) { |
|||
# new op dev |
|||
my $count; |
|||
my @borrowerSubscriptions; |
|||
($count, @borrowerSubscriptions) = GetSubscriptionsFromBorrower($borrowernumber ); |
|||
my @subscripLoop; |
|||
|
|||
foreach my $num_res (@borrowerSubscriptions) { |
|||
my %getSubscrip; |
|||
$getSubscrip{subscriptionid} = $num_res->{'subscriptionid'}; |
|||
$getSubscrip{title} = $num_res->{'title'}; |
|||
$getSubscrip{borrowernumber} = $num_res->{'borrowernumber'}; |
|||
push( @subscripLoop, \%getSubscrip ); |
|||
} |
|||
|
|||
$template->param( |
|||
countSubscrip => scalar @subscripLoop, |
|||
subscripLoop => \@subscripLoop, |
|||
routinglistview => 1 |
|||
); |
|||
|
|||
$template->param( adultborrower => 1 ) if ( $borrower->{'category_type'} eq 'A' ); |
|||
} |
|||
|
|||
################################################################################## |
|||
|
|||
|
|||
# Computes full borrower address |
|||
my (undef, $roadttype_hashref) = &GetRoadTypes(); |
|||
my $address = $borrower->{'streetnumber'}.' '.$roadttype_hashref->{$borrower->{'streettype'}}.' '.$borrower->{'address'}; |
|||
|
|||
$template->param( |
|||
|
|||
findborrower => $findborrower, |
|||
borrower => $borrower, |
|||
borrowernumber => $borrowernumber, |
|||
branch => $branch, |
|||
branchname => GetBranchName($borrower->{'branchcode'}), |
|||
firstname => $borrower->{'firstname'}, |
|||
surname => $borrower->{'surname'}, |
|||
categorycode => $borrower->{'categorycode'}, |
|||
categoryname => $borrower->{description}, |
|||
address => $address, |
|||
address2 => $borrower->{'address2'}, |
|||
email => $borrower->{'email'}, |
|||
emailpro => $borrower->{'emailpro'}, |
|||
borrowernotes => $borrower->{'borrowernotes'}, |
|||
city => $borrower->{'city'}, |
|||
zipcode => $borrower->{'zipcode'}, |
|||
country => $borrower->{'country'}, |
|||
phone => $borrower->{'phone'} || $borrower->{'mobile'}, |
|||
cardnumber => $borrower->{'cardnumber'}, |
|||
); |
|||
|
|||
my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'}); |
|||
$template->param( picture => 1 ) if $picture; |
|||
|
|||
output_html_with_http_headers $query, $cookie, $template->output; |
Loading…
Reference in new issue