Koha::Patron - Koha Patron Object class
Autogenerate next cardnumber from highest value found in database
trim whitespace from data which has some non-whitespace in it. Could be moved to Koha::Object if need to be reused
$patron->plain_text_password( $password );
stores a copy of the unencrypted password in the object for use in code before encrypting for db
Patron specific store method to cleanup record and do other necessary things before saving to db
$patron->delete
Delete patron's holds, lists and finally the patron.
Lists owned by the borrower are deleted, but entries from the borrower to other lists are kept.
my $patron_category = $patron->category
Return the patron category for this patron
Returns a Koha::Patron object for this patron's guarantor
Returns the guarantees (list of Koha::Patron) of this patron
Returns the HouseboundProfile associated with this patron.
Returns the HouseboundRole associated with this patron.
Returns the siblings of this patron.
my $patron = Koha::Patrons->find($id); $patron->merge_with( \@patron_ids ); This subroutine merges a list of patrons into the patron record. This is accomplished by finding all related patron ids for the patrons to be merged in other tables and changing the ids to be that of the keeper patron.
$wants_check = $patron->wants_check_for_previous_checkout;
Return 1 if Koha needs to perform PrevIssue checking, else 0.
$do_check = $patron->do_check_for_previous_checkout($item);
Return 1 if the bib associated with $ITEM has previously been checked out to $PATRON, 0 otherwise.
my $debarment_expiration = $patron->is_debarred;
Returns the date a patron debarment will expire, or undef if the patron is not debarred
my $is_expired = $patron->is_expired;
Returns 1 if the patron is expired or 0;
my $is_going_to_expire = $patron->is_going_to_expire;
Returns 1 if the patron is going to expired, depending on the NotifyBorrowerDeparture pref or 0
my $updated = $patron->update_password( $userid, $password );
Update the userid and the password of a patron. If the userid already exists, returns and let DBIx::Class warns This will add an entry to action_logs if BorrowersLog is set.
$patron->set_password({ password => $plain_text_password [, skip_validation => 1 ] });
Set the patron's password.
The passed string is validated against the current password enforcement policy. Validation can be skipped by passing the skip_validation parameter.
Exceptions are thrown if the password is not good enough.
my $new_expiry_date = $patron->renew_account
Extending the subscription to the expiry date.
my $has_overdues = $patron->has_overdues;
Returns the number of patron's overdues
$patron->track_login; $patron->track_login({ force => 1 }); Tracks a (successful) login attempt. The preference TrackLastPatronActivity must be enabled. Or you should pass the force parameter.
my $is_moved = $patron->move_to_deleted;
Move a patron to the deletedborrowers table. This can be done before deleting a patron, to make sure the data are not completely deleted.
my @requests = $borrower->article_requests(); my $requests = $borrower->article_requests();
Returns either a list of ArticleRequests objects, or an ArtitleRequests object, depending on the calling context.
my @requests = $patron->article_requests_current
Returns the article requests associated with this patron that are incomplete
my @requests = $biblio->article_requests_finished
Returns the article requests associated with this patron that are completed
my $enrolment_fee = $patron->add_enrolment_fee_if_needed;
Add enrolment fee for a patron if needed.
my $checkouts = $patron->checkouts
my $pending_checkouts = $patron->pending_checkouts
This method will return the same as $self->checkouts, but with a prefetch on items, biblio and biblioitems.
It has been introduced to replaced the C4::Members::GetPendingIssues subroutine
It should not be used directly, prefer to access fields you need instead of retrieving all these fields in one go.
my $old_checkouts = $patron->old_checkouts
my $overdue_items = $patron->get_overdues
Return the overdue items
my @routinglists = $patron->get_routing_lists
Returns the routing lists a patron is subscribed to.
my $age = $patron->get_age
Return the age of the patron
my $account = $patron->account
my $holds = $patron->holds
Return all the holds placed by this patron
my $old_holds = $patron->old_holds
Return all the historical holds for this patron
my $email = $patron->notice_email_address;
Return the email address of patron used for notices. Returns the empty string if no email address.
my $first_valid_email_address = $patron->first_valid_email_address
Return the first valid email address for a patron. For now, the order is defined as email, emailpro, B_email. Returns the empty string if the borrower has no email addresses.
my $is_locked = $patron->account_locked
Return true if the patron has reach the maximum number of login attempts (see pref FailedLoginAttempts). Otherwise return false. If the pref is not set (empty string, null or 0), the feature is considered as disabled.
my $can_see = $patron->can_see_patron_infos( $patron );
Return true if the patron (usually the logged in user) can see the patron's infos for a given patron
my $can_see = $patron->can_see_patrons_from( $branchcode );
Return true if the patron (usually the logged in user) can see the patron's infos from a given library
my $libraries = $patron-libraries_where_can_see_patrons;
Return the list of branchcodes(!) of libraries the patron is allowed to see other patron's infos. The branchcodes are arbitrarily returned sorted. We are supposing here that the object is related to the logged in patron (use of C4::Context::only_my_library)
An empty array means no restriction, the patron can see patron's infos from any libraries.
my $is_adult = $patron->is_adult
Return true if the patron has a category with a type Adult (A) or Organization (I)
my $is_child = $patron->is_child
Return true if the patron has a category with a type Child (C)
my $patron = Koha::Patrons->find(42); $patron->userid( $new_userid ); my $has_a_valid_userid = $patron->has_valid_userid
my $patron = Koha::Patron->new( $params ); my $has_a_valid_userid = $patron->has_valid_userid
Return true if the current userid of this patron is valid/unique, otherwise false.
Note that this should be done in $self->store instead and raise an exception if needed.
my $patron = Koha::Patron->new( $params ); $patron->generate_userid
Generate a userid using the $surname and the $firstname (if there is a value in $firstname).
Set a generated userid ($firstname.$surname if there is a $firstname, or $surname if there is no value in $firstname) plus offset (0 if the $userid is unique, or a higher numeric value if not unique).
Kyle M Hall <kyle@bywatersolutions.com> Alex Sassmannshausen <alex.sassmannshausen@ptfs-europe.com>