Koha::Patron - Koha Patron Object class
my $patron = Koha::Patrons->find_by_identifier($identifier);
Find a patron by either userid or cardnumber. Returns the first patron found or undef if no patron matches the identifier.
This method searches first by userid, then by cardnumber if no match is found.
my $patrons = Koha::Patrons->search_limit( $params, $attributes );
Returns all the patrons the logged in user is allowed to see
Returns all Patrons which are Housebound choosers.
Returns all Patrons which are Housebound deliverers.
my $patrons = Koha::Patrons->search_upcoming_membership_expires();
The 'before' and 'after' represent the number of days before/after the date that is set by the preference MembershipExpiryDaysNotice. If the pref is 14, before 2 and after 3 then you will get all expires from 12 to 17 days.
my $patrons = Koha::Patrons->search_patrons_to_anonymise( { before => $older_than_date, [ library => $library ] } );
This method returns all patrons who has an issue history older than a given date.
Koha::Patrons->search({ some filters here })->delete({ move => 1 });
Delete passed set of patron objects.
Wrapper for Koha::Patron->delete. (We do not want to bypass Koha::Patron
and let DBIx do the job without further housekeeping.)
Includes a move to deletedborrowers if move flag set.
Just like DBIx, the delete will only succeed when all entries could be
deleted. Returns true or throws an exception.
Koha::Patrons->filter_by_expiration_date{{ days => $x });
Returns set of Koha patron objects expired $x days.
Koha::Patrons->search_unsubscribed;
Returns a set of Koha patron objects for patrons that recently
unsubscribed and are not locked (candidates for locking).
Depends on UnsubscribeReflectionDelay.
Koha::Patrons->search_anonymize_candidates({ locked => 1 });
Returns a set of Koha patron objects for patrons whose account is expired
and locked (if parameter set). These are candidates for anonymizing.
Depends on PatronAnonymizeDelay.
Koha::Patrons->search_anonymized;
Returns a set of Koha patron objects for patron accounts that have been
anonymized before and could be removed.
Depends on PatronRemovalDelay.
Koha::Patrons->search({ some filters })->lock({ expire => 1, remove => 1 })
Lock the passed set of patron objects. Optionally expire and remove holds.
Wrapper around Koha::Patron->lock.
Koha::Patrons->search({ some filters })->anonymize();
Anonymize passed set of patron objects.
Wrapper around Koha::Patron->anonymize.
my $patrons = Koha::Patrons->search_patrons_to_update_category( {
from => $from_category,
fine_max => $fine_max,
fine_min => $fin_min,
too_young => $too_young,
too_old => $too_old,
});
This method returns all patron who should be updated from one category to another meeting criteria:
from - borrower categorycode fine_min - with fines totaling at least this amount fine_max - with fines above this amount too_young - if passed, select patrons who are under the age limit for the current category too_old - if passed, select patrons who are over the age limit for the current category
too_young and too_old logically cannot be used in combination (One cannot be both too old and too young) fine_min takes precedence over fine_max if both are passed
Koha::Patrons->search->update_category_to( {
category => $to_category,
});
Update supplied patrons from current category to another and take care of guarantor info. To make sure all the conditions are met, the caller has the responsibility to call search_patrons_to_update to filter the Koha::Patrons set
my $patrons = Koha::Patrons->filter_by_attribute_type($attribute_type_code);
Return a Koha::Patrons set with patrons having the attribute defined.
my $patrons = Koha::Patrons->filter_by_attribute_value($attribute_value);
Return a Koha::Patrons set with patrong having the attribute value passed in parameter.
Koha::Patrons->filter_by_amount_owed(
{
less_than => '2.00',
more_than => '0.50',
debit_type => $debit_type_code,
library => $branchcode
}
);
Returns patrons filtered by how much money they owe, between passed limits.
Optionally limit to debts of a particular debit_type or/and owed to a particular library.
my $patrons = Koha::Patrons->search->filter_by_have_permission('suggestions.suggestions_manage');
my $patrons = Koha::Patrons->search->filter_by_have_permission('suggestions');
Filter patrons who have a given subpermission or the whole permission.
my $expired_registrations = $patrons->filter_by_expired_opac_registrations;
Return patrons that have not upgraded from the 'temporary' category
my $safe_to_delete_patrons = $patrons->filter_by_safe_to_delete;
Return the patrons that are safe to delete
my $match_result = Koha::Patrons->check_for_existing_matches( $patron_data );
Uses the fields from the PatronDuplicateMatchingAddFields preference to check for existing matches
Kyle M Hall <kyle@bywatersolutions.com>