=over 4
-=item C<$borrower> hash with borrower informations (from GetMember or GetMemberDetails)
+=item C<$borrower> hash with borrower informations (from GetMember)
=item C<$barcode> is the bar code of the book being issued.
=over 4
-=item C<$borrower> is a hash with borrower informations (from GetMember or GetMemberDetails).
+=item C<$borrower> is a hash with borrower informations (from GetMember).
=item C<$barcode> is the barcode of the item being issued.
my $issue = GetItemIssue($itemnumber);
if ($issue and $issue->{borrowernumber}) {
- $borrower = C4::Members::GetMemberDetails($issue->{borrowernumber})
+ $borrower = C4::Members::GetMember( borrowernumber => $issue->{borrowernumber} )
or die "Data inconsistency: barcode $barcode (itemnumber:$itemnumber) claims to be issued to non-existent borrowernumber '$issue->{borrowernumber}'\n"
. Dumper($issue) . "\n";
} else {
# Send a renewal slip according to checkout alert preferencei
if ( C4::Context->preference('RenewalSendNotice') eq '1' ) {
- $borrower = C4::Members::GetMemberDetails( $borrowernumber, 0 );
+ $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber );
my $circulation_alert = 'C4::ItemCirculationAlertPreference';
my %conditions = (
branchcode => $branch,
my $itemissue = GetItemIssue($itemnumber) or return;
$borrowernumber ||= $itemissue->{borrowernumber};
- my $borrower = C4::Members::GetMemberDetails($borrowernumber)
+ my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber )
or return;
my $branchcode = _GetCircControlBranch( $item, $borrower );
# If a borrower lost the item, add a replacement cost to the their record
if ( my $borrowernumber = $issues->{borrowernumber} ){
- my $borrower = C4::Members::GetMemberDetails( $borrowernumber );
+ my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber );
if (C4::Context->preference('WhenLostForgiveFine')){
my $fix = _FixOverduesOnReturn($borrowernumber, $itemnumber, 1, 0); # 1, 0 = exemptfine, no-dropbox
sub ProcessOfflineIssue {
my $operation = shift;
- my $borrower = C4::Members::GetMemberDetails( undef, $operation->{cardnumber} ); # Get borrower from operation cardnumber
+ my $borrower = C4::Members::GetMember( cardnumber => $operation->{cardnumber} );
if ( $borrower->{borrowernumber} ) {
my $itemnumber = C4::Items::GetItemnumberFromBarcode( $operation->{barcode} );
# Get Member details
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Return the results
# Get the member, or return an error code if not found
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Get the item, or return an error code if not found
# Get borrower infos or return an error code
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Get the item, or return an error code
# Get the borrower or return an error code
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Get the biblio record, or return an error code
# Get the borrower or return an error code
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Get the biblio or return an error code
# Get the borrower or return an error code
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Get the reserve or return an error code
@ISA = qw(Exporter);
#Get data
push @EXPORT, qw(
- &GetMemberDetails
&GetMember
&GetMemberIssuesAndFines
=head1 FUNCTIONS
-=head2 GetMemberDetails
-
-($borrower) = &GetMemberDetails($borrowernumber, $cardnumber);
-
-Looks up a patron and returns information about him or her. If
-C<$borrowernumber> is true (nonzero), C<&GetMemberDetails> looks
-up the borrower by number; otherwise, it looks up the borrower by card
-number.
-
-C<$borrower> is a reference-to-hash whose keys are the fields of the
-borrowers table in the Koha database. In addition,
-
-=cut
-
-sub GetMemberDetails {
- my ( $borrowernumber, $cardnumber ) = @_;
- my $dbh = C4::Context->dbh;
- my $query;
- my $sth;
- if ($borrowernumber) {
- $sth = $dbh->prepare("
- SELECT borrowers.*,
- category_type,
- categories.description,
- 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,
- FROM borrowers
- LEFT JOIN categories ON borrowers.categorycode = categories.categorycode
- WHERE cardnumber = ?
- ");
- $sth->execute($cardnumber);
- }
- else {
- return;
- }
- my $borrower = $sth->fetchrow_hashref;
- return unless $borrower;
-
- return ($borrower);
-}
-
=head2 patronflags
$flags = &patronflags($patron);
syslog("LOG_DEBUG", "new ILS::Patron(%s): no such patron", $patron_id);
return;
}
- $kp = GetMemberDetails($kp->{borrowernumber});
- $debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
+ $kp = GetMember( borrowernumber => $kp->{borrowernumber});
+ $debug and warn "new Patron (GetMember): " . Dumper($kp);
my $pw = $kp->{password};
my $flags = C4::Members::patronflags( $kp );
my $debarred = defined($flags->{DBARRED});
my $patron;
if ($borrowernumber) {
$patron = Koha::Patrons->find( $borrowernumber );
- $borrower = GetMemberDetails( $borrowernumber, 0 );
+ $borrower = GetMember( borrowernumber => $borrowernumber );
my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrowernumber );
# if the expiry date is before today ie they have expired
# reload the borrower info for the sake of reseting the flags.....
if ($borrowernumber) {
- $borrower = GetMemberDetails( $borrowernumber, 0 );
+ $borrower = GetMember( borrowernumber => $borrowernumber );
}
##################################################################################
my $borrowernumber = $input->param('borrowernumber');
# Set informations for the patron
-my $borrower = GetMemberDetails( $borrowernumber, 0 );
+my $borrower = GetMember( borrowernumber => $borrowernumber );
foreach my $key ( keys %$borrower ) {
$template->param( $key => $borrower->{$key} );
}
# get the borrower information.....
my $borrower;
if ($borrowernumber) {
- $borrower = GetMemberDetails( $borrowernumber, 0 );
+ $borrower = GetMember( borrowernumber => $borrowernumber );
}
my $borrowernumber = $input->param('borrowernumber');
# Set informations for the patron
-my $borrower = GetMemberDetails( $borrowernumber, 0 );
+my $borrower = GetMember( borrowernumber => $borrowernumber );
if ( not defined $borrower ) {
$template->param (unknowuser => 1);
output_html_with_http_headers $input, $cookie, $template->output;
$0 -h
-f, --field=FIELD Field to export. It is repeatable and has to match
- keys returned by the GetMemberDetails function.
+ keys returned by the GetMember function.
If no field is specified, then all fields will be
exported.
-s, --separator=CHAR This character will be used to separate fields.
# If the user did not specify any field to export, we assume he wants them all
# We retrieve the first borrower informations to get field names
my ($borrowernumber) = $sth->fetchrow_array or die "No borrower to export";
-my $member = GetMemberDetails($borrowernumber);
+my $member = GetMember($borrowernumber); # FIXME Now is_expired is no longer available
+ # We will have to use Koha::Patron and allow method calls
@fields = keys %$member unless (@fields);
if ($show_header) {
print $csv->string . "\n";
while ( my $borrowernumber = $sth->fetchrow_array ) {
- $member = GetMemberDetails($borrowernumber);
+ $member = GetMember( borrowernumber => $borrowernumber );
$csv->combine(
map {
( defined $member->{$_} and !ref $member->{$_} )
}
$template->param(
- borrower => GetMemberDetails($borrowernumber),
+ borrower => GetMember( borrowernumber => $borrowernumber ),
accountview => 1
);
);
# get borrower information ....
-my ( $borr ) = GetMemberDetails( $borrowernumber );
+my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
$template->param(%{$borr});
$branchcode = $item->{'homebranch'};
}
elsif ( $renewalbranch eq 'patronhomebranch' ) {
- my $borrower = GetMemberDetails($borrowernumber);
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
$branchcode = $borrower->{'branchcode'};
}
elsif ( $renewalbranch eq 'checkoutbranch' ) {
}
# get borrower information ....
-my ( $borr ) = GetMemberDetails( $borrowernumber );
+my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
my $patron = Koha::Patrons->find( $borrowernumber );
# check if this user can place a reserve, -1 means use sys pref, 0 means dont block, 1 means block
# checking reserve
my ($reservedate,$reservedfor,$expectedAt,undef,$wait) = GetReservesFromItemnumber($itemNum);
- my $ItemBorrowerReserveInfo = GetMemberDetails( $reservedfor, 0);
+ my $ItemBorrowerReserveInfo = GetMember( borrowernumber => $reservedfor );
# the item could be reserved for this borrower vi a host record, flag this
$reservedfor //= '';
use C4::Output;
use C4::Circulation;
use C4::Biblio;
-use C4::Members qw/GetMemberDetails/;
+use C4::Members qw/GetMember/;
use Koha::DateUtils;
use Koha::Reviews;
use POSIX qw(ceil floor strftime);
my $bib = &GetBiblioData($biblionumber);
my $record = GetMarcBiblio($biblionumber);
my $frameworkcode = GetFrameworkCode($biblionumber);
- my ( $borr ) = GetMemberDetails( $result->{borrowernumber} );
+ my ( $borr ) = GetMember( borrowernumber => $result->{borrowernumber} );
$result->{normalized_upc} = GetNormalizedUPC($record,$marcflavour);
$result->{normalized_ean} = GetNormalizedEAN($record,$marcflavour);
$result->{normalized_oclc} = GetNormalizedOCLCNumber($record,$marcflavour);
# Is the person allowed to choose their branch
if ( C4::Context->preference("AllowPurchaseSuggestionBranchChoice") ) {
- my ( $borr ) = GetMemberDetails( $borrowernumber );
+ my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
# pass the pickup branch along....
my $userbranch = '';
}
# get borrower information ....
-my ( $borr ) = GetMemberDetails( $borrowernumber );
+my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
my ( $today_year, $today_month, $today_day) = Today();
my ($warning_year, $warning_month, $warning_day) = split /-/, $borr->{'dateexpiry'};
my $issuenoconfirm = 1; #don't need to confirm on issue.
#warn "issuerid: " . $issuerid;
-my $issuer = GetMemberDetails($issuerid);
+my $issuer = GetMember( borrowernumber => $issuerid );
my $item = GetItem(undef,$barcode);
if (C4::Context->preference('SelfCheckoutByLogin') && !$patronid) {
my $dbh = C4::Context->dbh;
my $resval;
($resval, $patronid) = checkpw($dbh, $patronlogin, $patronpw);
}
-my $borrower = GetMemberDetails(undef,$patronid);
+my $borrower = GetMember( cardnumber => $patronid );
my $currencySymbol = "";
if ( my $active_currency = Koha::Acquisition::Currencies->get_active ) {
elsif ( $op eq "returnbook" && $allowselfcheckreturns ) {
my ($doreturn) = AddReturn( $barcode, $branch );
#warn "returnbook: " . $doreturn;
- $borrower = GetMemberDetails(undef,$patronid);
+ $borrower = GetMember( cardnumber => $patronid );
}
elsif ( $op eq "checkout" ) {
my $impossible = {};
userid => 'TESTUSERID'
);
-my $borrower = C4::Members::GetMemberDetails( $borrowernumber );
+my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber );
C4::Acquisition::ModOrderUsers( $ordernumber, $borrowernumber );
my $addmem=AddMember(%data);
ok($addmem, "AddMember()");
-my $member=GetMemberDetails("",$CARDNUMBER)
+my $member = GetMember( cardnumber => $CARDNUMBER )
or BAIL_OUT("Cannot read member with card $CARDNUMBER");
ok ( $member->{firstname} eq $FIRSTNAME &&
$member->{phone} = $PHONE;
$member->{emailpro} = $EMAILPRO;
ModMember(%$member);
-my $changedmember=GetMemberDetails("",$CARDNUMBER);
+my $changedmember = GetMember( cardnumber => $CARDNUMBER );
ok ( $changedmember->{firstname} eq $CHANGED_FIRSTNAME &&
$changedmember->{email} eq $EMAIL &&
$changedmember->{phone} eq $PHONE &&
sub try_issue {
my ($cardnumber, $item ) = @_;
my $issuedate = '2011-05-16';
- my $borrower = GetMemberDetails(0, $cardnumber);
+ my $borrower = GetMember( cardnumber => $cardnumber );
my ($issuingimpossible,$needsconfirmation) = CanBookBeIssued( $borrower, $item );
my $issue = AddIssue($borrower, $item, undef, 0, $issuedate);
return dt_from_string( $issue->due_date() );
#always add firstname and surname for librarian/user
if ( $result->{'user'} ) {
- my $userdetails = C4::Members::GetMemberDetails( $result->{'user'} );
+ my $userdetails = C4::Members::GetMember( borrowernumber => $result->{'user'} );
if ($userdetails) {
$result->{'userfirstname'} = $userdetails->{'firstname'};
$result->{'usersurname'} = $userdetails->{'surname'};
#add firstname and surname for borrower, when using the CIRCULATION, MEMBERS, FINES
if ( $result->{module} eq "CIRCULATION" || $result->{module} eq "MEMBERS" || $result->{module} eq "FINES" ) {
if ( $result->{'object'} ) {
- my $borrowerdetails = C4::Members::GetMemberDetails( $result->{'object'} );
+ my $borrowerdetails = C4::Members::GetMember( borrowernumber => $result->{'object'} );
if ($borrowerdetails) {
$result->{'borrowerfirstname'} = $borrowerdetails->{'firstname'};
$result->{'borrowersurname'} = $borrowerdetails->{'surname'};