On Fri, 12 Jan 2001, Chris Cormack wrote:
==================== getpatroninformation ==================== I think maybe this might need to return reference to a hash of flags also. For example if the borrower owes a substantial amount of money, or a has a note on his/card a warning should be displayed. Depending on the flag different actions should be taken also. The flags could be included in patroninformation though I guess, eg $patroninformation->{'flags'}=\%flags;
Right. Missed the flags. Okay, looking for flags currently being used to get an idea for what is needed here: CHARGES -- Accounts::checkaccount() returns $amount > 0 LOST -- card reported as lost NOTES -- displays contents of borrowers->borrowernotes field ODUES -- checkoverdues() returns > 0 WAITING -- Main::checkwaiting() returns nowaiting>0 Some of these can be handled with a simple message returned that the interface module must display to the user (ie Patron owes $6.40, Patron's card reported lost, Patron Note: _____). Overdues and Waiting might need to be treated more carefully. In tk-perl, I like displaying item information in a table format, so returning a simple message with a list of overdues or reserves would be less than ideal. It might be sufficient to have the flags display interface be capable of showing a message and an optional list of items? That doesn't quite work. For reserves, holdingbranch is important, but not for overdues. Could return an array listing which fields of the item should be displayed for the message.
========= issuebook =========
Yeah this looks like a good way to do it, i think that maybe we could pass to issuebook the patroninformation, rather than the borrowernumber. That way we wouldnt have to check certain flags again like the borrower owing more than x dollars, which prohibits issues. That is assuming that u call getpatroninformation before issuebook. Just a thought.
Makes good sense. The interface code will certainly want to call getpatroninformation before starting issuing books.
The other things contained in circ like renewals, and payments are there because of speed issues.
Aren't renewals handled by the issuebooks() call? If the book is already issued to the user, it will get renewed. Steve.