From fb74c7df5039a13ac52415a0cbf54fe66e075489 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 11 Feb 2010 07:53:14 -0600 Subject: [PATCH] Bug 2930:Add other name to Checkout Screen This patch adds "othername" to the circulation.pl so that circulation.tmpl can display David "Doofus" Schuster if ther eis something in othername in the Borrower record on the checkout screen. If there is nothing in the other name field it shows as David Schuster. --- circ/circulation.pl | 294 ++++++++-------- .../prog/en/modules/circ/circulation.tmpl | 360 ++++++++++++++++---- 2 files changed, 430 insertions(+), 224 deletions(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index 39dfbfc..5057beb 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -52,29 +52,28 @@ my $query = new CGI; my $sessionID = $query->cookie("CGISESSID") ; my $session = get_session($sessionID); -# new op dev the branch and the printer are now defined by the userenv +# branch and printer 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); - my $branchname = GetBranchName($branch); - $session->param('branchname',$branchname); + $session->param('branch', $branch); + $session->param('branchname', GetBranchName($branch)); } my $printer = $query->param('printer'); if ($printer){ # update our session so the userenv is updated - $session->param('branchprinter',$printer); + $session->param('branchprinter', $printer); } if (!C4::Context->userenv && !$branch){ - if ($session->param('branch') eq 'NO_LIBRARY_SET'){ - # no branch set we can't issue - print $query->redirect("/cgi-bin/koha/circ/selectbranchprinter.pl"); - exit; - } + if ($session->param('branch') eq 'NO_LIBRARY_SET'){ + # no branch set we can't issue + print $query->redirect("/cgi-bin/koha/circ/selectbranchprinter.pl"); + exit; + } } my ( $template, $loggedinuser, $cookie ) = get_template_and_user ( @@ -88,26 +87,28 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user ( ); my $branches = GetBranches(); -my $printers = GetPrinters(); -my @failedrenews = $query->param('failedrenew'); +my @failedrenews = $query->param('failedrenew'); # expected to be itemnumbers my %renew_failed; -for (@failedrenews) { $renew_failed{$_} = 1; } +for (@failedrenews) { $renew_failed{$_} = 1; } my $findborrower = $query->param('findborrower'); $findborrower =~ s|,| |g; -#$findborrower =~ s|'| |g; my $borrowernumber = $query->param('borrowernumber'); $branch = C4::Context->userenv->{'branch'}; $printer = C4::Context->userenv->{'branchprinter'}; -# If Autolocated is not activated, we show the Circulation Parameters to chage settings of librarian -if (C4::Context->preference("AutoLocation") ne 1) { # FIXME: string comparison to number +# If AutoLocation is not activated, we show the Circulation Parameters to chage settings of librarian +if (C4::Context->preference("AutoLocation") != 1) { $template->param(ManualLocation => 1); } +if (C4::Context->preference("DisplayClearScreenButton")) { + $template->param(DisplayClearScreenButton => 1); +} + my $barcode = $query->param('barcode') || ''; $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace @@ -131,15 +132,6 @@ if ( $barcode ) { } } -#set up cookie..... -# my $branchcookie; -# my $printercookie; -# if ($query->param('setcookies')) { -# $branchcookie = $query->cookie(-name=>'branch', -value=>"$branch", -expires=>'+1y'); -# $printercookie = $query->cookie(-name=>'printer', -value=>"$printer", -expires=>'+1y'); -# } -# - my ($datedue,$invalidduedate,$globalduedate); if(C4::Context->preference('globalDueDate') && (C4::Context->preference('globalDueDate') =~ C4::Dates->regexp('syspref'))){ @@ -148,19 +140,19 @@ if(C4::Context->preference('globalDueDate') && (C4::Context->preference('globalD my $duedatespec_allow = C4::Context->preference('SpecifyDueDate'); if($duedatespec_allow){ if ($duedatespec) { - if ($duedatespec =~ C4::Dates->regexp('syspref')) { - my $tempdate = C4::Dates->new($duedatespec); - if ($tempdate and $tempdate->output('iso') gt C4::Dates->new()->output('iso')) { - # i.e., it has to be later than today/now - $datedue = $tempdate; - } else { - $invalidduedate = 1; - $template->param(IMPOSSIBLE=>1, INVALID_DATE=>$duedatespec); - } - } else { - $invalidduedate = 1; - $template->param(IMPOSSIBLE=>1, INVALID_DATE=>$duedatespec); - } + if ($duedatespec =~ C4::Dates->regexp('syspref')) { + my $tempdate = C4::Dates->new($duedatespec); + if ($tempdate and $tempdate->output('iso') gt C4::Dates->new()->output('iso')) { + # i.e., it has to be later than today/now + $datedue = $tempdate; + } else { + $invalidduedate = 1; + $template->param(IMPOSSIBLE=>1, INVALID_DATE=>$duedatespec); + } + } else { + $invalidduedate = 1; + $template->param(IMPOSSIBLE=>1, INVALID_DATE=>$duedatespec); + } } else { # pass global due date to tmpl if specifyduedate is true # and we have no barcode (loading circ page but not checking out) @@ -170,7 +162,7 @@ if($duedatespec_allow){ } } } else { - $datedue = $globalduedate if($globalduedate); + $datedue = $globalduedate if ($globalduedate); } my $todaysdate = C4::Dates->new->output('iso'); @@ -229,7 +221,6 @@ if ($findborrower) { # get the borrower information..... my $borrower; -my @lines; if ($borrowernumber) { $borrower = GetMemberDetails( $borrowernumber, 0 ); my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrowernumber ); @@ -239,9 +230,12 @@ if ($borrowernumber) { my ($warning_year, $warning_month, $warning_day) = split /-/, $borrower->{'dateexpiry'}; my ( $enrol_year, $enrol_month, $enrol_day) = split /-/, $borrower->{'dateenrolled'}; # Renew day is calculated by adding the enrolment period to today - my ( $renew_year, $renew_month, $renew_day) = - Add_Delta_YM( $enrol_year, $enrol_month, $enrol_day, - 0 , $borrower->{'enrolmentperiod'}) if ($enrol_year*$enrol_month*$enrol_day>0); + my ( $renew_year, $renew_month, $renew_day); + if ($enrol_year*$enrol_month*$enrol_day>0) { + ( $renew_year, $renew_month, $renew_day) = + Add_Delta_YM( $enrol_year, $enrol_month, $enrol_day, + 0 , $borrower->{'enrolmentperiod'}); + } # if the expiry date is before today ie they have expired if ( $warning_year*$warning_month*$warning_day==0 || Date_to_Days($today_year, $today_month, $today_day ) @@ -266,7 +260,7 @@ if ($borrowernumber) { if (C4::Context->preference('ReturnBeforeExpiry')){ $template->param("returnbeforeexpiry" => 1); } - } + } $template->param( overduecount => $od, issuecount => $issue, @@ -279,44 +273,44 @@ if ($borrowernumber) { # # if ($barcode) { - # always check for blockers on issuing - my ( $error, $question ) = + # always check for blockers on issuing + my ( $error, $question ) = CanBookBeIssued( $borrower, $barcode, $datedue , $inprocess ); - my $blocker = $invalidduedate ? 1 : 0; + my $blocker = $invalidduedate ? 1 : 0; - delete $question->{'DEBT'} if ($debt_confirmed); - foreach my $impossible ( keys %$error ) { - $template->param( - $impossible => $$error{$impossible}, - IMPOSSIBLE => 1 - ); - $blocker = 1; - } + delete $question->{'DEBT'} if ($debt_confirmed); + foreach my $impossible ( keys %$error ) { + $template->param( + $impossible => $$error{$impossible}, + IMPOSSIBLE => 1 + ); + $blocker = 1; + } if( !$blocker ){ my $confirm_required = 0; - unless($issueconfirmed){ + unless($issueconfirmed){ # Get the item title for more information my $getmessageiteminfo = GetBiblioFromItemNumber(undef,$barcode); - $template->param( itemhomebranch => $getmessageiteminfo->{'homebranch'} ); - - # pass needsconfirmation to template if issuing is possible and user hasn't yet confirmed. - foreach my $needsconfirmation ( keys %$question ) { - $template->param( - $needsconfirmation => $$question{$needsconfirmation}, - getTitleMessageIteminfo => $getmessageiteminfo->{'title'}, - NEEDSCONFIRMATION => 1 - ); - $confirm_required = 1; - } - } + $template->param( itemhomebranch => $getmessageiteminfo->{'homebranch'} ); + + # pass needsconfirmation to template if issuing is possible and user hasn't yet confirmed. + foreach my $needsconfirmation ( keys %$question ) { + $template->param( + $needsconfirmation => $$question{$needsconfirmation}, + getTitleMessageIteminfo => $getmessageiteminfo->{'title'}, + NEEDSCONFIRMATION => 1 + ); + $confirm_required = 1; + } + } unless($confirm_required) { AddIssue( $borrower, $barcode, $datedue, $cancelreserve ); - $inprocess = 1; + $inprocess = 1; if($globalduedate && ! $stickyduedate && $duedatespec_allow ){ $duedatespec = $globalduedate->output(); $stickyduedate = 1; } - } + } } # FIXME If the issue is confirmed, we launch another time GetMemberIssuesAndFines, now display the issue count after issue @@ -332,8 +326,6 @@ if ($borrowernumber) { ################################################################################## # BUILD HTML # show all reserves of this borrower, and the position of the reservation .... -my $borrowercategory; -my $category_type; if ($borrowernumber) { # new op dev @@ -361,7 +353,7 @@ if ($borrowernumber) { $getreserv{barcodereserv} = $getiteminfo->{'barcode'}; $getreserv{itemcallnumber} = $getiteminfo->{'itemcallnumber'}; $getreserv{biblionumber} = $getiteminfo->{'biblionumber'}; - $getreserv{waitingat} = GetBranchName( $num_res->{'branchcode'} ); + $getreserv{waitingat} = GetBranchName( $num_res->{'branchcode'} ); # check if we have a waiting status for reservations if ( $num_res->{'found'} eq 'W' ) { $getreserv{color} = 'reserved'; @@ -373,7 +365,7 @@ if ($borrowernumber) { $getWaitingReserveInfo{author} = $getiteminfo->{'author'}; $getWaitingReserveInfo{reservedate} = format_date( $num_res->{'reservedate'} ); $getWaitingReserveInfo{waitingat} = GetBranchName( $num_res->{'branchcode'} ); - if($num_res->{'branchcode'} eq $branch){ $getWaitingReserveInfo{waitinghere} = 1; } + $getWaitingReserveInfo{waitinghere} = 1 if $num_res->{'branchcode'} eq $branch; } # check transfers with the itemnumber foud in th reservation loop if ($transfertwhen) { @@ -381,24 +373,19 @@ if ($borrowernumber) { $getreserv{transfered} = 1; $getreserv{datesent} = format_date($transfertwhen); $getreserv{frombranch} = GetBranchName($transfertfrom); - } - - if ( ( $getiteminfo->{'holdingbranch'} ne $num_res->{'branchcode'} ) - and not $transfertwhen ) - { + } elsif ($getiteminfo->{'holdingbranch'} ne $num_res->{'branchcode'}) { $getreserv{nottransfered} = 1; - $getreserv{nottransferedby} = - GetBranchName( $getiteminfo->{'holdingbranch'} ); + $getreserv{nottransferedby} = GetBranchName( $getiteminfo->{'holdingbranch'} ); } # if we don't have a reserv on item, we put the biblio infos and the waiting position if ( $getiteminfo->{'title'} eq '' ) { my $getbibinfo = GetBiblioData( $num_res->{'biblionumber'} ); - my $getbibtype = getitemtypeinfo( $getbibinfo->{'itemtype'} ); # fixme - we should have item-level reserves here ? + $getreserv{color} = 'inwait'; $getreserv{title} = $getbibinfo->{'title'}; $getreserv{nottransfered} = 0; - $getreserv{itemtype} = $getbibtype->{'description'}; + $getreserv{itemtype} = $itemtypeinfo->{'description'}; $getreserv{author} = $getbibinfo->{'author'}; $getreserv{biblionumber} = $num_res->{'biblionumber'}; } @@ -406,7 +393,7 @@ if ($borrowernumber) { push( @reservloop, \%getreserv ); # if we have a reserve waiting, initiate waitingreserveloop - if ($getreserv{waiting} eq 1) { + if ($getreserv{waiting} == 1) { push (@WaitingReserveLoop, \%getWaitingReserveInfo) } @@ -426,21 +413,17 @@ my $todaysissues = ''; my $previssues = ''; my @todaysissues; my @previousissues; -my $allowborrow; ## ADDED BY JF: new itemtype issuingrules counter stuff -my $issued_itemtypes_loop; my $issued_itemtypes_count; -my $issued_itemtypes_allowed_count; # hashref with total allowed by itemtype -my $issued_itemtypes_remaining; # hashref with remaining -my $issued_itemtypes_flags; #hashref that stores flags my @issued_itemtypes_count_loop; +my $totalprice = 0; if ($borrower) { # get each issue of the borrower & separate them in todayissues & previous issues my ($issueslist) = GetPendingIssues($borrower->{'borrowernumber'}); - # split in 2 arrays for today & previous foreach my $it ( @$issueslist ) { + my $itemtypeinfo = getitemtypeinfo( (C4::Context->preference('item-level_itypes')) ? $it->{'itype'} : $it->{'itemtype'} ); # set itemtype per item-level_itype syspref - FIXME this is an ugly hack $it->{'itemtype'} = ( C4::Context->preference( 'item-level_itypes' ) ) ? $it->{'itype'} : $it->{'itemtype'}; @@ -453,11 +436,16 @@ if ($borrower) { ); $it->{"renew_error_${can_renew_error}"} = 1 if defined $can_renew_error; my ( $restype, $reserves ) = CheckReserves( $it->{'itemnumber'} ); - $it->{'can_renew'} = $can_renew; - $it->{'can_confirm'} = !$can_renew && !$restype; - $it->{'renew_error'} = $restype; - + $it->{'can_renew'} = $can_renew; + $it->{'can_confirm'} = !$can_renew && !$restype; + $it->{'renew_error'} = $restype; + $it->{'checkoutdate'} = C4::Dates->new($it->{'issuedate'},'iso')->output('syspref'); + + $totalprice += $it->{'replacementprice'}; + $it->{'itemtype'} = $itemtypeinfo->{'description'}; + $it->{'itemtype_image'} = $itemtypeinfo->{'imageurl'}; $it->{'dd'} = format_date($it->{'date_due'}); + $it->{'displaydate'} = format_date($it->{'issuedate'}); $it->{'od'} = ( $it->{'date_due'} lt $todaysdate ) ? 1 : 0 ; ($it->{'author'} eq '') and $it->{'author'} = ' '; $it->{'renew_failed'} = $renew_failed{$it->{'itemnumber'}}; @@ -490,13 +478,12 @@ if ($borrower) { my $dbh = C4::Context->dbh; # how many of each is allowed? -my $issueqty_sth = $dbh->prepare( " -SELECT itemtypes.description AS description,issuingrules.itemtype,maxissueqty -FROM issuingrules - LEFT JOIN itemtypes ON (itemtypes.itemtype=issuingrules.itemtype) - WHERE categorycode=? -" ); -$issueqty_sth->execute("*"); # This is a literal asterisk, not a wildcard. +my $issueqty_sth = $dbh->prepare( + 'SELECT itemtypes.description AS description,issuingrules.itemtype,maxissueqty ' . + 'FROM issuingrules LEFT JOIN itemtypes ON (itemtypes.itemtype=issuingrules.itemtype) ' . + 'WHERE categorycode=?' +); +$issueqty_sth->execute(q{*}); # This is a literal asterisk, not a wildcard. while ( my $data = $issueqty_sth->fetchrow_hashref() ) { @@ -507,16 +494,14 @@ while ( my $data = $issueqty_sth->fetchrow_hashref() ) { $issued_itemtypes_count->{ $data->{'description'} } ); # can't have a negative number of remaining - if ( $data->{'left'} < 0 ) { $data->{'left'} = "0" } - $data->{'flag'} = 1 unless ( $data->{'maxissueqty'} > $data->{'count'} ); - unless ( ( $data->{'maxissueqty'} < 1 ) - || ( $data->{'itemtype'} eq "*" ) - || ( $data->{'itemtype'} eq "CIRC" ) ) - { + if ( $data->{'left'} < 0 ) { $data->{'left'} = '0' } + if ( $data->{maxissueqty} <= $data->{count} ) { + $data->{flag} = 1; + } + if ( $data->{maxissueqty} > 0 && $data->{itemtype} !~m/^(\*|CIRC)$/ ) { push @issued_itemtypes_count_loop, $data; } } -$issued_itemtypes_loop = \@issued_itemtypes_count_loop; #### / JF @@ -548,9 +533,7 @@ if ($borrowerslist) { #title my $flags = $borrower->{'flags'}; -my $flag; - -foreach $flag ( sort keys %$flags ) { +foreach my $flag ( sort keys %$flags ) { $template->param( flagged=> 1); $flags->{$flag}->{'message'} =~ s#\n#
#g; if ( $flags->{$flag}->{'noissues'} ) { @@ -561,13 +544,13 @@ foreach $flag ( sort keys %$flags ) { if ( $flag eq 'GNA' ) { $template->param( gna => 'true' ); } - if ( $flag eq 'LOST' ) { + elsif ( $flag eq 'LOST' ) { $template->param( lost => 'true' ); } - if ( $flag eq 'DBARRED' ) { + elsif ( $flag eq 'DBARRED' ) { $template->param( dbarred => 'true' ); } - if ( $flag eq 'CHARGES' ) { + elsif ( $flag eq 'CHARGES' ) { $template->param( charges => 'true', chargesmsg => $flags->{'CHARGES'}->{'message'}, @@ -575,7 +558,7 @@ foreach $flag ( sort keys %$flags ) { charges_is_blocker => 1 ); } - if ( $flag eq 'CREDITS' ) { + elsif ( $flag eq 'CREDITS' ) { $template->param( credits => 'true', creditsmsg => $flags->{'CREDITS'}->{'message'} @@ -591,13 +574,13 @@ foreach $flag ( sort keys %$flags ) { chargesamount => $flags->{'CHARGES'}->{'amount'}, ); } - if ( $flag eq 'CREDITS' ) { + elsif ( $flag eq 'CREDITS' ) { $template->param( credits => 'true', creditsmsg => $flags->{'CREDITS'}->{'message'} ); } - if ( $flag eq 'ODUES' ) { + elsif ( $flag eq 'ODUES' ) { $template->param( odues => 'true', flagged => 1, @@ -605,20 +588,11 @@ foreach $flag ( sort keys %$flags ) { ); my $items = $flags->{$flag}->{'itemlist'}; -# useless ??? -# { -# my @itemswaiting; -# foreach my $item (@$items) { -# my ($iteminformation) = -# getiteminformation( $item->{'itemnumber'}, 0 ); -# push @itemswaiting, $iteminformation; -# } -# } - if ( $query->param('module') ne 'returns' ) { + if ( ! $query->param('module') || $query->param('module') ne 'returns' ) { $template->param( nonreturns => 'true' ); } } - if ( $flag eq 'NOTES' ) { + elsif ( $flag eq 'NOTES' ) { $template->param( notes => 'true', flagged => 1, @@ -629,7 +603,9 @@ foreach $flag ( sort keys %$flags ) { } my $amountold = $borrower->{flags}->{'CHARGES'}->{'message'} || 0; -my @temp = split( /\$/, $amountold ); +$amountold =~ s/^.*\$//; # remove upto the $, if any + +my ( $total, $accts, $numaccts) = GetMemberAccountRecords( $borrowernumber ); if ( $borrower->{'category_type'} eq 'C') { my ( $catcodes, $labels ) = GetborCatFromCatType( 'A', 'WHERE category_type = ?' ); @@ -646,8 +622,7 @@ if ( C4::Context->preference("memberofinstitution") ) { my %org_labels; foreach my $organisation ( keys %$organisations ) { push @orgs, $organisation; - $org_labels{$organisation} = - $organisations->{$organisation}->{'surname'}; + $org_labels{$organisation} = $organisations->{$organisation}->{'surname'}; } $member_of_institution = 1; $CGIorganisations = CGI::popup_menu( @@ -658,30 +633,43 @@ if ( C4::Context->preference("memberofinstitution") ) { ); } -$amountold = $temp[1]; +my $lib_messages_loop = GetMessages( $borrowernumber, 'L', $branch ); +if($lib_messages_loop){ $template->param(flagged => 1 ); } + +my $bor_messages_loop = GetMessages( $borrowernumber, 'B', $branch ); +if($bor_messages_loop){ $template->param(flagged => 1 ); } + +# Computes full borrower address +my (undef, $roadttype_hashref) = &GetRoadTypes(); +my $address = $borrower->{'streetnumber'}.' '.$roadttype_hashref->{$borrower->{'streettype'}}.' '.$borrower->{'address'}; $template->param( - issued_itemtypes_count_loop => $issued_itemtypes_loop, - findborrower => $findborrower, - borrower => $borrower, - borrowernumber => $borrowernumber, - branch => $branch, - branchname => GetBranchName($borrower->{'branchcode'}), - printer => $printer, - printername => $printer, - firstname => $borrower->{'firstname'}, - surname => $borrower->{'surname'}, + issued_itemtypes_count_loop => \@issued_itemtypes_count_loop, + lib_messages_loop => $lib_messages_loop, + bor_messages_loop => $bor_messages_loop, + all_messages_del => C4::Context->preference('AllowAllMessageDeletion'), + findborrower => $findborrower, + borrower => $borrower, + borrowernumber => $borrowernumber, + branch => $branch, + branchname => GetBranchName($borrower->{'branchcode'}), + printer => $printer, + printername => $printer, + firstname => $borrower->{'firstname'}, + surname => $borrower->{'surname'}, + othernames => $borrower->{'othernames'}, dateexpiry => format_date($newexpiry), expiry => format_date($borrower->{'dateexpiry'}), categorycode => $borrower->{'categorycode'}, categoryname => $borrower->{description}, - address => $borrower->{'address'}, + address => $address, address2 => $borrower->{'address2'}, email => $borrower->{'email'}, emailpro => $borrower->{'emailpro'}, borrowernotes => $borrower->{'borrowernotes'}, city => $borrower->{'city'}, - zipcode => $borrower->{'zipcode'}, + zipcode => $borrower->{'zipcode'}, + country => $borrower->{'country'}, phone => $borrower->{'phone'} || $borrower->{'mobile'}, cardnumber => $borrower->{'cardnumber'}, amountold => $amountold, @@ -690,12 +678,14 @@ $template->param( duedatespec => $duedatespec, message => $message, CGIselectborrower => $CGIselectborrower, + totalprice => sprintf('%.2f', $totalprice), + totaldue => sprintf('%.2f', $total), todayissues => \@todaysissues, previssues => \@previousissues, inprocess => $inprocess, memberofinstution => $member_of_institution, CGIorganisations => $CGIorganisations, - is_child => ($borrower->{'category_type'} eq 'C'), + is_child => ($borrower->{'category_type'} eq 'C'), circview => 1, ); @@ -704,13 +694,19 @@ if ($stickyduedate) { $session->param( 'stickyduedate', $duedatespec ); } -#if ($branchcookie) { -#$cookie=[$cookie, $branchcookie, $printercookie]; -#} - my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'}); $template->param( picture => 1 ) if $picture; +# get authorised values with type of BOR_NOTES +my @canned_notes; +my $sth = $dbh->prepare('SELECT * FROM authorised_values WHERE category = "BOR_NOTES"'); +$sth->execute(); +while ( my $row = $sth->fetchrow_hashref() ) { + push @canned_notes, $row; +} +if ( scalar( @canned_notes ) ) { + $template->param( canned_bor_notes_loop => \@canned_notes ); +} $template->param( debt_confirmed => $debt_confirmed, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl index b93488c..31341d9 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl @@ -1,13 +1,13 @@ Koha › Circulation <!-- TMPL_IF NAME="borrowernumber" --> -› Checking out to <!-- TMPL_VAR name="surname" -->, <!-- TMPL_VAR name="firstname" --> +› Checking out to <!-- TMPL_VAR name="surname" -->, <!-- TMPL_IF NAME="othernames" -->"<!--TMPL_VAR NAME="othernames" -->"<!-- /TMPL_IF --><!-- TMPL_VAR name="firstname" --> (<!-- TMPL_VAR NAME="cardnumber" -->) <!-- /TMPL_IF --> - - + + @@ -58,7 +144,8 @@ $.tablesorter.addParser({ - + +
@@ -79,6 +166,43 @@ $.tablesorter.addParser({ + +
Patron's account has been renewed until
@@ -88,7 +212,7 @@ $.tablesorter.addParser({
    -
  • The patron has a debt of $
  • +
  • The patron has a debt of
  • @@ -259,15 +383,24 @@ No patron matched
    -
    +
    + + + + +
    - + + + + +
    Enter item barcode:
    -
    Specify Due Date:
    +
    Specify Due Date :
    " /> /lib/calendar/cal.gif" alt="Show Calendar" border="0" id="CalendarDueDate" style="cursor: pointer;" /> @@ -282,7 +415,7 @@ No patron matched } }; function refocus(calendar) { - document.getElementById('barcode').focus(); + $('#barcode').focus(); calendar.hide(); }; //#TODO - ADD syspref (AllowPostDatedCheckouts). @@ -323,7 +456,7 @@ No patron matched -

    Checking out to ()

    +

    Checking out to "" ()

    @@ -373,7 +506,7 @@ No patron matched
  • - Fines: Patron has ">Outstanding fines of $. + Fines: Patron has ">Outstanding fines of . Checkouts are blocked because fine balance is over the limit. @@ -393,7 +526,7 @@ No patron matched

    Holds waiting:

    -
      +
      • "> (), by Hold placed on .
        Waiting at @@ -408,9 +541,39 @@ No patron matched

        Notes:

    + + + +
    +

    Messages:

    + +
    + +
  • @@ -424,7 +587,7 @@ No patron matched 0 Checkouts
  • - Holds(s) + Hold(s) 0 Holds
  • @@ -434,23 +597,54 @@ No patron matched
    - + " /> " /> " /> - - - - - - - - + + + + + + + + + + + + + + + + + @@ -460,17 +654,16 @@ No patron matched - - + + + - - - + + + + + - - - - + + + + + + - + - - + + @@ -521,17 +718,18 @@ No patron matched - + + - - - + + + + + - - - - - + + + + + + @@ -573,15 +774,16 @@ No patron matched
    Due dateTitleItem TypeCall noBarcodeRenewalsRenew?Check In?Due dateTitleItem TypeChecked out onCall noChargePriceRenew

    select all | none

    Check in

    select all | none

    Totals: +

    + Renewal due date: " /> + /lib/calendar/cal.gif" id="newduedate_button" alt="Show Calendar" /> + +

    +

    + +

    +
    &type=intra">, by - - - - " /> - - &type=intra">, by - &itemnumber=#item"> " alt="" /> &itemnumber=#item"> + Renewal Failed " checked="checked" style="display: none;" /> @@ -493,23 +686,27 @@ No patron matched On Hold - Too Many Renewals + Not Renewable ">Check InRenewal FailedCheckin Failed" onclick="uncheck_sibling(this);" /> + " checked="checked" style="display: none;" /> +
    Previous checkouts
    Previous checkouts
    Previous checkouts
    Previous checkouts
    &type=intra">
    -
    &type=intra">, by - &itemnumber=#item"> - - " /> - &itemnumber=#item"> + Renewal Failed0 " checked="checked" style="display: none;" /> @@ -554,18 +752,21 @@ No patron matched On Hold - Too Many Renewals + Not Renewable ">Check InRenewal FailedCheckin Failed" onclick="uncheck_sibling(this);" /> + " checked="checked" style="display: none;" /> +
    - + - - - -
    + + + + +
    @@ -592,21 +794,22 @@ No patron matched
    +
    + - + "> - - + +
    Hold date TitleItem Type Call Number Barcode PriorityDelete?
    ">, by ">, by Item waiting at @@ -617,15 +820,22 @@ No patron matched hasn't been transfered yet from - - Hold priority - + + " /> + " /> +
    +
    +
    -

    Patron has no pending holds.

    +

    Patron has nothing on hold.

    -- 1.5.6.5