=cut
+# FIXME Should be renamed with ->patron
sub borrower {
my ($self) = @_;
$itemfields{$_} = 1 if ( $item->{$_} );
}
- if (C4::Context->preference('HidePatronName')){
- $item->{'hidepatronname'} = 1;
- }
-
-
# checking for holds
my $item_object = Koha::Items->find( $item->{itemnumber} );
my $holds = $item_object->current_holds;
my $patron = Koha::Patrons->find( $first_hold->borrowernumber );
$item->{backgroundcolor} = 'reserved';
$item->{reservedate} = $first_hold->reservedate;
- $item->{ReservedForBorrowernumber} = $first_hold->borrowernumber;
- $item->{ReservedForSurname} = $patron->surname;
- $item->{ReservedForFirstname} = $patron->firstname;
+ $item->{ReservedFor} = $patron,
$item->{ExpectedAtLibrary} = $first_hold->branchcode;
- $item->{Reservedcardnumber} = $patron->cardnumber;
# Check waiting status
$item->{waitingdate} = $first_hold->waitingdate;
}
+ if ( my $checkout = $item_object->checkout ) {
+ $item->{CheckedOutFor} = $checkout->patron;
+ }
# Check the transit status
my ( $transfertwhen, $transfertfrom, $transfertto ) = GetTransfers($item->{itemnumber});
);
}
-my $hidepatronname = C4::Context->preference("HidePatronName");
-
# get variables
my $biblionumber=$query->param('biblionumber');
$item->{'issue'}= 0;
}
- unless ($hidepatronname) {
- if ( $item->{'borrowernumber'} ) {
- my $curr_borrower = Koha::Patrons->find( $item->{borrowernumber} );
- $item->{borrowerfirstname} = $curr_borrower->firstname;
- $item->{borrowersurname} = $curr_borrower->surname;
- }
+ if ( $item->{'borrowernumber'} ) {
+ my $curr_borrower = Koha::Patrons->find( $item->{borrowernumber} );
+ $item->{patron} = $curr_borrower;
}
-
}
my $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.itemlost', authorised_value => { not => undef } });
itemnumber => $itemnumber,
z3950_search_params => C4::Search::z3950_search_args(GetBiblioData($biblionumber)),
subtitle => $subtitle,
- hidepatronname => $hidepatronname,
);
$template->param(ONLY_ONE => 1) if ( $itemnumber && $showncount != @items );
$template->{'VARS'}->{'searchid'} = $query->param('searchid');
+[%- USE Koha -%]
+[%- USE Branches -%]
+[%- SET data = {} -%]
+[%- IF patron -%]
+ [%- SET data.category_type = patron.category.category_type -%]
+ [%- SET data.surname = patron.surname -%]
+ [%- SET data.othernames = patron.othernames -%]
+ [%- SET data.firstname = patron.firstname -%]
+ [%- SET data.cardnumber = patron.cardnumber -%]
+ [%- SET data.borrowernumber = patron.borrowernumber -%]
+ [%- SET data.title = patron.title -%]
+[%- ELSIF ( borrower.borrowernumber ) -%]
+ [%- SET data.category_type = borrower.category_type -%]
+ [%- SET data.surname = borrower.surname -%]
+ [%- SET data.othernames = borrower.othernames -%]
+ [%- SET data.firstname = borrower.firstname -%]
+ [%- SET data.cardnumber = borrower.cardnumber -%]
+ [%- SET data.borrowernumber = borrower.borrowernumber -%]
+ [%- SET data.title = borrower.title -%]
+[%- ELSIF ( borrowernumber ) -%]
+ [%- SET data.category_type = category_type -%]
+ [%- SET data.surname = surname -%]
+ [%- SET data.othernames = othernames -%]
+ [%- SET data.firstname = firstname -%]
+ [%- SET data.cardnumber = cardnumber -%]
+ [%- SET data.borrowernumber = borrowernumber -%]
+ [%- SET data.title = title -%]
+[%- END -%]
[%# Parameter no_html - if 1, the html tags are NOT generated %]
-[%- IF no_html %]
- [%- span_start = '' %]
- [%- span_end = '' %]
-[%- ELSE %]
- [%- span_start = '<span class="patron-title">' %]
- [%- span_end = '</span>' %]
-[%- END %]
-[%- IF ( borrower.borrowernumber ) %]
- [%- IF borrower.category_type == 'I' %]
- [%- borrower.surname | html %] [% IF borrower.othernames %] ([% borrower.othernames | html %]) [% END %]
+[% IF data.title %]
+ [%- IF no_html %]
+ [%- span_start = '' %]
+ [%- span_end = '' %]
[%- ELSE %]
- [%- IF invert_name %]
- [%- IF borrower.title %][% span_start %][%- borrower.title | html %][% span_end %] [% END %][%- borrower.surname | html %], [% borrower.firstname | html %] [% IF borrower.othernames %] ([% borrower.othernames | html %]) [% END %]
- [%- ELSE %]
- [%- IF borrower.title %][% span_start %][%- borrower.title | html %][% span_end %] [% END %][%- borrower.firstname | html %] [% IF borrower.othernames %] ([% borrower.othernames | html %]) [% END %] [% borrower.surname | html %]
- [%- END -%]
- [%- END -%]
- [%- IF ( borrower.cardnumber ) -%]
- ([% borrower.cardnumber | html %])
+ [%- span_start = '<span class="patron-title">' %]
+ [%- span_end = '</span>' %]
[%- END %]
-[%- ELSIF ( borrowernumber ) %]
- [%- IF category_type == 'I' %]
- [%- surname | html %] [% IF othernames %] ([% othernames | html %]) [% END %]
- [%- ELSE %]
- [%- IF invert_name %]
- [%- IF title %][% span_start %][%- title | html %][% span_end %] [% END %][%- surname | html %], [% firstname | html %] [% IF othernames %] ([% othernames | html %]) [% END %]
- [%- ELSE %]
- [%- IF title %][% span_start %][%- title | html %][% span_end %] [% END %][%- firstname | html %] [% IF othernames %] ([% othernames | html %]) [% END %] [% surname | html %]
- [%- END %]
+ [%- SET data.title = span_start _ data.title _ span_end _ ' ' -%]
+[%- END -%]
+[%- SET display_patron_name = 1 -%]
+[%- SET display_cardnumber = 1 -%]
+[%- IF hide_patron_infos_if_needed %] [%# Should only be set if patron is set -%]
+ [%- SET can_see_patron_infos = logged_in_user.can_see_patron_infos( patron ) -%]
+ [%- UNLESS can_see_patron_infos -%]
+ [%- SET display_patron_name = 0 -%]
+ [%- SET display_cardnumber = 0 -%]
+ [%- ELSIF Koha.Preference('HidePatronName') -%]
+ [%- SET display_patron_name = 0 -%]
[%- END -%]
- [%- IF ( cardnumber ) -%]
- ([% cardnumber | html %])
- [%- END %]
+[%- END -%]
+[%- IF hide_patron_infos_if_needed AND ( display_patron_name OR display_cardnumber ) -%]
+ [%- IF link_to == 'circulation_reserves' %]<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% data.borrowernumber %]#reserves">
+ [%- ELSE %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% data.borrowernumber %]">
+ [%- END -%]
+[%- END -%]
+[%- IF data.category_type == 'I' -%]
+ [%- UNLESS display_patron_name %][%- data.surname | html %] [% IF data.othernames %] [% END %]([% data.othernames | html %]) [% END -%]
+[%- ELSIF display_patron_name -%]
+ [%- IF invert_name -%]
+ [% data.title%][%- data.surname | html %], [% data.firstname | html %] [% IF data.othernames %] ([% data.othernames | html %]) [% END -%]
+ [%- ELSE -%]
+ [% data.title %][%- data.firstname | html %] [% IF data.othernames %] ([% data.othernames | html %]) [% END %] [% data.surname | html -%]
+ [%- END -%]
+ [%- IF display_cardnumber AND data.cardnumber %]([% data.cardnumber | html %])[% END -%]
+[%- ELSIF display_cardnumber -%]
+ [%- IF data.cardnumber -%][%# FIXME Cardnumber should always be defined, right? -%]
+ [%- data.cardnumber | html -%]
+ [%- END -%]
+[%- ELSE -%]
+ A patron from library [% Branches.GetName( patron.branchcode ) -%]
+[%- END -%]
+
+[%- IF hide_patron_infos_if_needed AND ( display_patron_name OR display_cardnumber ) -%]
+ </a>
[%- END -%]
<td class="itemcallnumber">[% IF ( item.itemcallnumber ) %] [% item.itemcallnumber %][% END %]</td>
<td class="status">
- [% IF ( item.datedue ) %]
+ [% IF item.CheckedOutFor %]
[% IF item.onsite_checkout %]
<span>Currently in local use
[% ELSE %]
[% END %]
[% UNLESS ( item.NOTSAMEBRANCH ) %]
[% IF item.onsite_checkout %]
- by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% item.borrowernumber %]">
+ by
[% ELSE %]
- to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% item.borrowernumber %]">
+ to
[% END %]
- [% IF ( item.hidepatronname ) %]
- [% item.cardnumber %]
- [% ELSE %]
- [% item.firstname %] [% item.surname %]
- [% END %]
- </a>
+ [% INCLUDE 'patron-title.inc' patron=item.CheckedOutFor hide_patron_infos_if_needed=1 %]
[% END %]
: due [% item.datedue %]
</span>
Item-level hold (placed [% item.reservedate | $KohaDates %]) for delivery at [% Branches.GetName( item.ExpectedAtLibrary ) %].
[% END %]
[% IF ( canreservefromotherbranches ) %]
- Hold for: <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% item.ReservedForBorrowernumber %]">
- [% IF ( item.hidepatronname ) %]
- [% item.Reservedcardnumber %]
- [% ELSE %]
- [% item.ReservedForFirstname _ " " _ item.ReservedForSurname _ " (" _ item.Reservedcardnumber _ ")" %]
- [% END %]
- </a>
+ Hold for:
+ [% INCLUDE 'patron-title.inc' patron=item.ReservedFor hide_patron_infos_if_needed=1 %]
[% END %]
[% END %]
[% UNLESS ( item.itemnotforloan || item.notforloan_per_itemtype || item.onloan || item.itemlost || item.withdrawn || item.damaged || item.transfertwhen || item.reservedate ) %]
[% END %]
<td>
- <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% reserveloo.borrowernumber %]" >
- [% IF ( reserveloo.hidename ) %]
- [% reserveloo.cardnumber (reserveloo.borrowernumber) %]
- [% ELSE %]
- [% reserveloo.firstname %] [% reserveloo.surname %]
- [% END %]
- </a>
+ [% INCLUDE 'patron-title.inc' patron=reserveloo.patron hide_patron_infos_if_needed=1 %]
</td>
<td>[% reserveloo.notes %]</td>
<td>[% reserveloo.date %]</td>
}
}
- # get borrowers reserve info
- if ( C4::Context->preference('HidePatronName') ) {
- $reserve{'hidename'} = 1;
- $reserve{'cardnumber'} = $res->borrower()->cardnumber();
- }
$reserve{'expirationdate'} = output_pref( { dt => dt_from_string( $res->expirationdate ), dateonly => 1 } )
unless ( !defined( $res->expirationdate ) || $res->expirationdate eq '0000-00-00' );
$reserve{'date'} = output_pref( { dt => dt_from_string( $res->reservedate ), dateonly => 1 } );
$reserve{'borrowernumber'} = $res->borrowernumber();
$reserve{'biblionumber'} = $res->biblionumber();
- $reserve{'borrowernumber'} = $res->borrowernumber();
- $reserve{'firstname'} = $res->borrower()->firstname();
- $reserve{'surname'} = $res->borrower()->surname();
+ $reserve{'patron'} = $res->borrower;
$reserve{'notes'} = $res->reservenotes();
$reserve{'waiting_date'} = $res->waitingdate();
$reserve{'ccode'} = $res->item() ? $res->item()->ccode() : undef;