Bug 6303: Display Organisation and Parent Organisation names when viewing a borrower of type organisation

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as advertised, doesn't affect display for non-organisational patrons.

Note: Display change in OPAC only affects the summary tab.
It would be a little bit more consistent to make the name show the
same on all tabs in OPAC patron account.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I repeated Katrin's signoff here (with permission). The patch only changed for some minor rebasing and cosmetic QA requests. Passed QA now.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit is contained in:
Srdjan Jankovic 2011-11-17 12:45:47 +13:00 committed by Paul Poulain
parent 5c2def5158
commit 2b2e544f05
19 changed files with 92 additions and 45 deletions

View File

@ -313,11 +313,11 @@ sub GetMemberDetails {
my $query;
my $sth;
if ($borrowernumber) {
$sth = $dbh->prepare("SELECT borrowers.*,category_type,categories.description,reservefee FROM borrowers LEFT JOIN categories ON borrowers.categorycode=categories.categorycode WHERE borrowernumber=?");
$sth = $dbh->prepare("SELECT borrowers.*,category_type,categories.description,reservefee,enrolmentperiod FROM borrowers LEFT JOIN categories ON borrowers.categorycode=categories.categorycode WHERE borrowernumber=?");
$sth->execute($borrowernumber);
}
elsif ($cardnumber) {
$sth = $dbh->prepare("SELECT borrowers.*,category_type,categories.description,reservefee FROM borrowers LEFT JOIN categories ON borrowers.categorycode=categories.categorycode WHERE cardnumber=?");
$sth = $dbh->prepare("SELECT borrowers.*,category_type,categories.description,reservefee,enrolmentperiod FROM borrowers LEFT JOIN categories ON borrowers.categorycode=categories.categorycode WHERE cardnumber=?");
$sth->execute($cardnumber);
}
else {
@ -340,14 +340,16 @@ sub GetMemberDetails {
$borrower->{'flags'} = $flags;
$borrower->{'authflags'} = $accessflagshash;
# find out how long the membership lasts
$sth =
$dbh->prepare(
"select enrolmentperiod from categories where categorycode = ?");
$sth->execute( $borrower->{'categorycode'} );
my $enrolment = $sth->fetchrow;
$borrower->{'enrolmentperiod'} = $enrolment;
# For the purposes of making templates easier, we'll define a
# 'showname' which is the alternate form the user's first name if
# 'other name' is defined.
if ($borrower->{category_type} eq 'I') {
$borrower->{'showname'} = $borrower->{'othernames'};
$borrower->{'showname'} .= " $borrower->{'firstname'}" if $borrower->{'firstname'};
} else {
$borrower->{'showname'} = $borrower->{'firstname'};
}
return ($borrower); #, $flags, $accessflagshash);
}

View File

@ -629,9 +629,9 @@ my (undef, $roadttype_hashref) = &GetRoadTypes();
my $address = $borrower->{'streetnumber'}.' '.$roadttype_hashref->{$borrower->{'streettype'}}.' '.$borrower->{'address'};
my $fast_cataloging = 0;
if (defined getframeworkinfo('FA')) {
if (defined getframeworkinfo('FA')) {
$fast_cataloging = 1
}
}
if (C4::Context->preference('ExtendedPatronAttributes')) {
my $attributes = GetBorrowerAttributes($borrowernumber);
@ -654,6 +654,8 @@ $template->param(
printername => $printer,
firstname => $borrower->{'firstname'},
surname => $borrower->{'surname'},
showname => $borrower->{'showname'},
category_type => $borrower->{'category_type'},
dateexpiry => format_date($newexpiry),
expiry => format_date($borrower->{'dateexpiry'}),
categorycode => $borrower->{'categorycode'},
@ -669,6 +671,7 @@ $template->param(
country => $borrower->{'country'},
phone => $borrower->{'phone'} || $borrower->{'mobile'},
cardnumber => $borrower->{'cardnumber'},
othernames => $borrower->{'othernames'},
amountold => $amountold,
barcode => $barcode,
stickyduedate => $stickyduedate,

View File

@ -1,5 +1,5 @@
[% IF ( borrowernumber ) %]
<div class="patroninfo"><h5>[% firstname %] [% surname %] ([% cardnumber %])</h5>
<div class="patroninfo"><h5>[% INCLUDE 'patron-title.inc' %]</h5>
<!--[if IE 6]>
<style type="tex/css">img { width: expression(this.width > 140 ? 140: true);
}</style>

View File

@ -0,0 +1,6 @@
[% IF category_type == 'I' %]
[% surname %] [% IF othernames %] ([% othernames %]) [% END %]
[% ELSE %]
[% firstname %] [% surname %]
[% END %]
([% cardnumber %])

View File

@ -1,9 +1,5 @@
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Circulation
[% IF ( borrowernumber ) %]
&rsaquo; Checking out to [% surname %], [% firstname %]
([% cardnumber %])
[% END %]</title>
<title>Koha &rsaquo; Circulation [% IF ( borrowernumber ) %] &rsaquo; Checking out to [% INCLUDE 'patron-title.inc' %] [% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( UseTablesortForCirc ) %]<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>[% END %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
@ -166,9 +162,13 @@ function refocus(calendar) {
[% INCLUDE 'header.inc' %]
[% INCLUDE 'circ-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo;[% IF ( borrowernumber ) %] <a href="/cgi-bin/koha/circ/circulation.pl">Checkouts</a> &rsaquo; [% firstname %] [% surname %][% ELSE %] <strong>Checkouts</strong>[% END %]</div>
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo;
[% IF ( borrowernumber ) %]
<a href="/cgi-bin/koha/circ/circulation.pl">Checkouts</a> &rsaquo; [% INCLUDE 'patron-title.inc' %]
[% ELSE %]
<strong>Checkouts</strong>
[% END %]
</div>
[% IF ( CGIselectborrower ) %]
<div id="doc" class="yui-t7">
@ -456,7 +456,8 @@ No patron matched <span class="ex">[% message %]</span>
<span id="clearscreen"><a href="/cgi-bin/koha/circ/circulation.pl" title="Clear screen">x</a></span>
[% END %]
<label for="barcode">Checking out to [% firstname %] [% surname %] ([% cardnumber %]) </label>
<label for="barcode">Checking out to [% INCLUDE 'patron-title.inc' %]</label>
<div class="hint">Enter item barcode:</div>
[% IF ( NEEDSCONFIRMATION ) %]
@ -523,7 +524,7 @@ No patron matched <span class="ex">[% message %]</span>
[% IF ( flagged ) %]
[% IF ( noissues ) %]
<h4>Checking out to [% firstname %] [% surname %] ([% cardnumber %])</h4>
<h4>Checking out to [% INCLUDE 'patron-title.inc' %]</h4>
<div id="circmessages" class="circmessage warning">
[% ELSE %]
<div id="circmessages" class="circmessage attention">

View File

@ -1,12 +1,12 @@
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Patrons &rsaquo; Account for [% firstname %] [% surname %]</title>
<title>Koha &rsaquo; Patrons &rsaquo; Account 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> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Account for [% firstname %] [% surname %]</div>
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Account for [% INCLUDE 'patron-title.inc' %]</div>
<div id="doc3" class="yui-t2">

View File

@ -60,7 +60,9 @@
[% END %]
[% END %]
<td>[% resultsloo.cardnumber %]</td>
<td style="white-space: nowrap;"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resultsloo.borrowernumber %]">[% resultsloo.surname %], [% resultsloo.firstname %]</a> <br /> [% resultsloo.address %][% IF ( resultsloo.address2 ) %]<br />[% resultsloo.address2 %][% END %][% IF ( resultsloo.city ) %]<br />[% resultsloo.city %][% IF ( resultsloo.state ) %],[% END %][% END %][% IF ( resultsloo.state ) %] [% resultsloo.state %][% END %] [% IF ( resultsloo.zipcode ) %] [% resultsloo.zipcode %][% END %][% IF ( resultsloo.country ) %], [% resultsloo.country %][% END %]</td>
<td style="white-space: nowrap;"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resultsloo.borrowernumber %]">
[% INCLUDE 'patron-title.inc' category_type = resultsloo.category_type firstname = resultsloo.firstname surname = resultsloo.surname othernames = resultsloo.othernames cardnumber = resultsloo.cardnumber %]</a> <br />
[% resultsloo.address %][% IF ( resultsloo.address2 ) %]<br />[% resultsloo.address2 %][% END %][% IF ( resultsloo.city ) %]<br />[% resultsloo.city %][% IF ( resultsloo.state ) %],[% END %][% END %][% IF ( resultsloo.state ) %] [% resultsloo.state %][% END %] [% IF ( resultsloo.zipcode ) %] [% resultsloo.zipcode %][% END %][% IF ( resultsloo.country ) %], [% resultsloo.country %][% END %]</td>
<td>[% resultsloo.category_description %] ([% resultsloo.category_type %])</td>
<td>[% resultsloo.branchcode %]</td>
<td>[% resultsloo.dateexpiry %]</td>

View File

@ -1,5 +1,11 @@
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Patrons &rsaquo; [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron Details for [% firstname %] [% surname %] ([% cardnumber %])[% END %]</title>
<title>Koha &rsaquo; Patrons &rsaquo;
[% IF ( unknowuser ) %]
Patron does not exist
[% ELSE %]
Patron Details for [% INCLUDE 'patron-title.inc' %]
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
@ -119,7 +125,7 @@ function validate1(date) {
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
&rsaquo; [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron Details for [% firstname %] [% surname %] ([% cardnumber %])[% END %]
&rsaquo; [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron Details for [% INCLUDE 'patron-title.inc' %][% END %]
</div>
<div id="doc3" class="yui-t1">

View File

@ -1,5 +1,5 @@
[% INCLUDE 'doc-head-open.inc' %]
<title>Sent notices for [% firstname %] [% surname %]</title>
<title>Sent notices for [% INCLUDE 'patron-title.inc' %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript" language="javascript">
@ -29,14 +29,14 @@
[% INCLUDE 'header.inc' %]
[% INCLUDE 'patron-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Sent notices for [% firstname %] [% surname %]</div>
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Sent notices 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' %]
<h1>Sent notices for [% firstname %] [% surname %]</h1>
<h1>Sent notices for [% INCLUDE 'patron-title.inc' %]</h1>
<table id="noticestable">

View File

@ -1,5 +1,5 @@
[% INCLUDE 'doc-head-open.inc' %]
<title>Circulation History for [% firstname %] [% surname %]</title>
<title>Circulation History for [% INCLUDE 'patron-title.inc' %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.pager.js"></script>
@ -22,7 +22,7 @@
[% INCLUDE 'header.inc' %]
[% INCLUDE 'patron-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Circulation History for [% firstname %] [% surname %]</div>
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Circulation History for [% INCLUDE 'patron-title.inc' %]</div>
<div id="doc3" class="yui-t2">

View File

@ -133,7 +133,7 @@
<input type="submit" value="Submit" />
<input type="hidden" name="do_it" value="1" />
</fieldset>
</form>
</form>
[% END %]
[% IF ( do_it ) %]
[% IF ( total ) %]
@ -148,6 +148,7 @@
<th>Info</th>
</tr>
[% FOREACH loopro IN looprow %]
[% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
<tr>
<td>[% loopro.timestamp %]</td>
<td>
@ -164,7 +165,11 @@
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object %]" title="Display member details."> member [% loopro.object %] </a>
[% ELSE %]
[% IF ( module == 'CIRCULATION' ) %]
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object %]" title="Display member details."> member [% loopro.object %] </a>
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object %]" title="Display member details.">
[% IF ( loopro.object ) %]
member [% loopro.object %]
[% END %]
</a>
[% ELSE %]
[% IF ( module == 'CATALOGUING' ) %]
[% IF ( info == 'item' ) %]
@ -176,7 +181,11 @@
[% IF ( module == 'SERIAL' ) %]
<a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% loopro.object %]"> [% loopro.object %] </a>
[% ELSE %]
[% loopro.object %]
[% IF ( module == 'AUTHORITIES' ) %]
<a href="/cgi-bin/koha/authorities/detail.pl?authid=[% loopro.object %]" title="Display detail for this authority">auth [% loopro.object %]</a>
[% ELSE %]
[% loopro.object %]
[% END %]
[% END %]
[% END %]
[% END %]
@ -199,7 +208,7 @@
for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% object %]">Bibliographic Record [% object %]</a>
[% END %]
[% IF ( MEMBERS ) %]
for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% object %]">[% firstname %] [% surname %] ([% cardnumber %])</a>
for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% object %]">[% INCLUDE 'patron-title.inc' %]</a>
[% END %]
.
</div>

View File

@ -0,0 +1,5 @@
[% IF category_type == 'I' %]
[% surname %] [% IF othernames %] ([% othernames %]) [% END %]
[% ELSE %]
[% firstname %] [% surname %]
[% END %]

View File

@ -1,7 +1,7 @@
[% INCLUDE 'doc-head-open.inc' %]
[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Library Home for
[% FOREACH BORROWER_INF IN BORROWER_INFO %]
[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]
[% INCLUDE 'patron-title.inc' category_type = BORROWER_INF.category_type firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]
[% END %]
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.metadata.min.js"></script>
@ -75,7 +75,10 @@ $.tablesorter.addParser({
</div>
[% END %]
[% FOREACH BORROWER_INF IN BORROWER_INFO %]
<h2>Hello, [% BORROWER_INF.firstname %] [% BORROWER_INF.surname %] <span class="hint">(<a href="/cgi-bin/koha/opac-main.pl?logout.x=1">Click here</a> if you're not [% BORROWER_INF.title %] [% BORROWER_INF.firstname %] [% BORROWER_INF.surname %])</span></h2>
<h2>Hello, [% INCLUDE 'patron-title.inc' category_type = BORROWER_INF.category_type firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]
<span class="hint">(<a href="/cgi-bin/koha/opac-main.pl?logout.x=1">Click here</a> if you're not
[% BORROWER_INF.title %] [% INCLUDE 'patron-title.inc' category_type = BORROWER_INF.category_type firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %])
</span></h2>
[% IF ( patronupdate ) %]<div class="dialog message"><h3>Thank you!</h3><p>Your corrections have been submitted to the library, and a staff member will update your record as soon as possible.</p></div>[% END %]

View File

@ -1,4 +1,7 @@
[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Updating Details for [% FOREACH BORROWER_INF IN BORROWER_INFO %][% BORROWER_INF.firstname %] [% BORROWER_INF.surname %][% END %]
[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Updating Details for
[% FOREACH BORROWER_INF IN BORROWER_INFO %]
[% INCLUDE 'patron-title.inc' category_type = BORROWER_INF.category_type firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]
[% END %]
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="opac-userupdate">
@ -11,7 +14,7 @@
<div id="userupdatecontainer" class="container">
[% FOREACH BORROWER_INF IN BORROWER_INFO %]
<h3><a href="/cgi-bin/koha/opac-user.pl">[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Your Personal Details</h3>
<h3><a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' ifirstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Your Personal Details</h3>
[% IF ( OPACPatronDetails ) %]
<form action="/cgi-bin/koha/opac-userupdate.pl" method="get">

View File

@ -107,11 +107,12 @@ $template->param(
finesview => 1,
firstname => $data->{'firstname'},
surname => $data->{'surname'},
othernames => $data->{'othernames'},
borrowernumber => $borrowernumber,
cardnumber => $data->{'cardnumber'},
categorycode => $data->{'categorycode'},
category_type => $data->{'category_type'},
categoryname => $data->{'description'},
categoryname => $data->{'description'},
address => $data->{'address'},
address2 => $data->{'address2'},
city => $data->{'city'},

View File

@ -132,9 +132,6 @@ my $category_type = $data->{'category_type'};
### $category_type
# in template <TMPL_IF name="I"> => instutitional (A for Adult& C for children)
$template->param( $data->{'categorycode'} => 1 );
$debug and printf STDERR "dates (enrolled,expiry,birthdate) raw: (%s, %s, %s)\n", map {$data->{$_}} qw(dateenrolled dateexpiry dateofbirth);
foreach (qw(dateenrolled dateexpiry dateofbirth)) {
my $userdate = $data->{$_};
@ -443,6 +440,8 @@ if (C4::Context->preference('EnhancedMessagingPreferences')) {
$template->param(SMSnumber => defined $data->{'smsalertnumber'} ? $data->{'smsalertnumber'} : $data->{'mobile'});
}
# in template <TMPL_IF name="I"> => instutitional (A for Adult, C for children)
$template->param( $data->{'categorycode'} => 1 );
$template->param(
detailview => 1,
AllowRenewalLimitOverride => C4::Context->preference("AllowRenewalLimitOverride"),
@ -450,6 +449,7 @@ $template->param(
CANDELETEUSER => $candeleteuser,
roaddetails => $roaddetails,
borrowernumber => $borrowernumber,
othernames => $data->{'othernames'},
categoryname => $data->{'description'},
reregistration => $reregistration,
branch => $branch,

View File

@ -111,6 +111,7 @@ $template->param(
title => $data->{'title'},
initials => $data->{'initials'},
surname => $data->{'surname'},
othernames => $data->{'othernames'},
borrowernumber => $borrowernumber,
limit => $limit,
firstname => $data->{'firstname'},

View File

@ -124,6 +124,8 @@ $template->param( BORROWER_INFO => \@bordat,
borrowernumber => $borrowernumber,
patron_flagged => $borr->{flagged},
OPACMySummaryHTML => (C4::Context->preference("OPACMySummaryHTML")) ? 1 : 0,
surname => $borr->{surname},
showname => $borr->{showname},
);
#get issued items ....

View File

@ -74,14 +74,17 @@ if ($src eq 'circ') { # if we were called from circulation, use the circulatio
my $data = GetMember('borrowernumber'=>$borrowernumber);
my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
$template->param( menu => 1,
title => $data->{'title'},
initials => $data->{'initials'},
surname => $data->{'surname'},
othernames => $data->{'othernames'},
borrowernumber => $borrowernumber,
firstname => $data->{'firstname'},
cardnumber => $data->{'cardnumber'},
categorycode => $data->{'categorycode'},
category_type => $data->{'category_type'},
categoryname => $data->{'description'},
address => $data->{'address'},
address2 => $data->{'address2'},