[#14999551] catch other cases of cascading dialog forms, esp. lost+transf
[#16468403 and #15591571] standardize use of GetCircControlBranch,
- fixed wrong way to get superlibrarian permission - fixed namespace problem in Circulation.pm calling ModReserve
which will fix change in multiplier upon renewal (continue to use initial issuing branch for previous due calculations) and longoverdue checkin as lost charges
…r fixes: - fix undef Perl warning in mapping in fines.pl - fix overdue from datedue calculation, was using object instead of ISO date from issues - finally finished work on refund owed for backdate checkin resulting in downward adjustment of fine - converted Yes|No option to Continue prompt: Remove from patron's Lost Items - retested and fixed some lost prompts +notissued/issued, +hold/nohold, &c.
notissued, noholds. Tested against other cases: case 1) lostNcharge+nohold+notissued 1.a. checkin at A - OK 1.b. checkin at B - OK 1.b.ii. had previous transfer - OK case 2) lostMissing+nothold+notissued 2.a. checkin at A - OK, click <OK> and form will now submit 2.b. checkin at B 2.b.i. no prior transfer - OK 2.b.ii. have prior transfer - OK
[fixes #14986797] fixes for fastadd
- in circulation, allow creation of bib and item using FA framework which, after deliberation, is decided to be hardcoded rather than controlled by syspref. If the FA framework doesn't exist yet, the librarian will get a friendly warning message but can proceed w/ fastadd and checkout using default framework - get 952$c explicitly (the barcode) for displaying at top of framework in additem.pl, eliminating the bug that the field's text never displayed and merely left behind a hyphen since code previously used regex instead of hash keys. This also incidentally fixes the bug that attempting to submit the form fails due to a JS error with trying to pass rmBarcode over a nondisplaying field
- <Confirm and transfer> button was dead - patron details: On Holds tab was displaying both intransit and waiting - put intransit and add to branchtransfers when notlost, notissued * TODO: fault tolerance for intransit but no entry in branchtransfers
GetOtherReserves() should be deprecated. Anytime priorities or found status change, all the Reserves.pm routines call _Normalize*, so there's no need to decrement priorities anymore. Also, when we requeue the impossible case of Waiting at A but checkin at B, requeue as bib-level hold.
The package global assignment of $C4::VirtualShelves::dbh, in addition to being just plain shoddy, is not persistence-safe. It also demands a database connection at module load time, which is a dependency we need to avoid both for testing and for the Plack localization middleware. This also removes a couple of other stray $dbh initializations and other cruft in other files.
At this point all we're doing is turning on warnings, strict, and 5.10 features by default in all files. This also defines a $Koha::VERSION variable which is going to be the basis for the code revision number, as opposed to $C4::Context::VERSION, which is the data config version number.
- default select logged in branch for home and holding branch - make specify due date work
- deprecated AddIssuingCharge() - fix metaphysical confusion of item's physical location: upon checkout, remove from branchtransfers and tmp_holdsqueue (did in renewal) - show waiting reserves cancelled before they expire in Holds Shelf Action - repurposed syspref reservesNeedConfirmationOnCheckout into pipe-delimited list to handle combos: same|diff patron, pending|intransit|waiting, sameitem| diffitem
The amount of information the patron info box at the bottom of the circ window compiles is too great for a speedy checkout process if the patron has many items on reserve, especially if those reserves are on bibs with lots of items and/or bibs that have lots of reserves. This eliminates the patron_infobox and streamlines acquisition of many of the other details about the patron account. It also replaces the infobox with a listing of the item that was just checked out after a successful issue.
checkin. deprecated ModReserveFillCheckin(), used RmFromHoldsQueue(). - redid rental fee: charge only once per circulation cycle - added sanity checks to renewal: remove from transfers and holdsqueue
(*) itemstatus toggle: lost, claims returned (moredetail.pl) (a) co->lost+charge->cr:patrontab ->notlost -OK co->lost+charge->cr:itemstatus->notlost -OK co->lost+charge->notlost -OK co->lost+charge->cr->crundo->missing->notlost -OK (b) co ->cr ->prompt:cobor -OK noco,notlost,notoverdue->cr =>OK ->lastbor -OK ->nolastbor -OK (c) noco->lost+charge =>OK ->lastbor -OK ->nolastbor -OK (d) co ->missing -OK noco->missing -OK missing->cr =>OK ->charged -OK ->notcharged -OK (*) checkin dialog msg for lost issued notissued lost+link -OK -OK +trans -OK -OK +hold -OK -OK +holdtrans -OK -OK lost+nolink -OK -OK +trans -OK -OK +hold -OK -OK +holdtrans -OK -OK (*) reroute nohold -OK -OK hold -OK -FAIL:TODO
holds, transfers, item status, checkin, checkout. addresses 12895645, 13284525, 13229501, 13390195 and unreported bugs. Additions: - manual transfer via circ Transifers, branchtransfers.pl: item is already at destination library and/or duplicate rows in branchtranfers, one of them Wrong: allow manual reroute by cancelling previous transfer, cannot transfer twice, cannot transfer dest=curr, grep out curr branch from pulldown menu of destinations. - claims returned, returned by a different patron - overdue (notlost): refuse return, backdate returndate lt issuedate - allow spoofing today's date in fines.pl as a cmdline argument - backdate to no longer max, so remove 'max overdue' verbiage - overdue charge is per circ cycle based on due date - show item "lost by [borrower]" in moredetail.pl - fix lost by different patron upon checkout, gets credit (zero outstanding) regardless claims returned, autoremoved from that patron's Lost Items - handle wrong workflow: notlost->claims returned: no link between patron and item, don't create one. prompt that updateitem failed. Fixes: - obscure one-time bug: lost, change syspref to MarkLost..=ON, set to notlost, error: Calendar.pm line 625 - tweak fines log - append "due on [datedue]" in description to grep upon - overdue was not being charged at checkin when fines.pl cron isn't running - bogus SQL statement was zeroing out both amount and amountoutstanding, should be only amountoutstanding - add a line of overdue forgiven to patron account for exemptfine - refund owed, give refund total balance, need append ' issued at no.[accountno]' - append ', paid at no.[accountno]' in recordpayment() and makepayment() so we can pass regex or RLIKE to handle refund owed on charges, not just lost returned - handle 4 varieties of payments: full lineitem, partial lineitem, full dispersal, partial dispersal - don't display overdue red text if not overdue after backdate recalc. Fix issue's overdue key to use returndate instead of today - fines resulted in impossible set of amount=1.25 and outstanding=2.50. fix is to adjust both fields and append text of "adjusted backdate returned [returndate]" - don't charge it not overdue, don't zero out - overdue accruals are adjusted due to backdate checkin - swap precedence of issuingrule max_fine vs. syspref MaxFine. issuingrule supercedes. max overdue is a threshold, not a separate charge - calculate overdues upon item status change (nocron) or MarkLost..toggled - don't autocharge max overdue if not maxed - waslost+claims returned: use authorised vlaue 1 in category LOST for claims returned undo. when changing from Lost to Claims Returned in catalogue, don't autocheckin if ML=0, don't remove. make claims returned lookup old issues if ML=1. item was unlinked from patron account. in chargelostitem, lookup lost in lost_items instead of issues. lost now found at checkin, refund if applicable. don't autorefund upon ->notlost if never paid. - checkin w/ hold priority, not lost, upon ignore hold do not autoset to Waiting - process lost (and unlink from patron account) and hold together if have both - auto cancel transfer if it was intransit from A to B but checked out at A - item homebranch is B, checked out at A, no holds pending, checked in A: either confirm was in transit or cancel transfer and keep at A, or initiate transfer to B - at pickup branch checkin, differentiate b/w hold to pull b/c was intransit from hold already waiting - wonky superlibririan activity: hold waiting at pickup branch A but tries to checkin at branch B: confirma dn transfer to A, or requeue and keep at B a lot more to go
This patch changes the barcode entry from a text to textarea, processing multiple line-separated barcodes to be added to a course simultaneously.
* don't display cancel confirm popup for normal priority holds * tweak popup for waiting and intransit holds upon wanting to requeue or cancel hold * for intransit item, don't display empty waitingdate, display branch needing to pull * after talking to Amy, allow cancelling of intransit hold * upon requeueing intransit hold, pass pickup branch info
* remove item from Holds Queue upon checkout, not just ModReserveFillCheckout() * consolidate instances of DELETE FROM tmp_holdsqueue to use C4::Reserves::RmFromHoldsQueue() * consolidate C4::Reserves::UnorphanCancelledHolds() into CleanupQueue() * do ModReserveFillCheckin() at normal circ checkin, not jsut from Holds Queue so that trapped hold successfuly removes reserve from Queue
* don't prompt for username and passowrd authorization for superlibrarian * allow option to re-enqueue or cancel reserve * handle reserve even if it's a renewal * changed parameters to C4::Circulation::AddIssue() from flat list to associative array * fixed tags in circulation.tmpl * fixed sanity check in circulation.pl for Koha installer user who doesn't have a branch set * make offline circ script send requeue param for holds
* 11712685: moved 2 SQL statements in C4::Reserves::*getBranchesQueueWeight to C4::Branch::GetBranchcodes(). * exempt negative numbers (used for items on order) from barcode expansion so that checkin directly from Holds Queue is smooth * 11926695: handle possible duplicates by eliminating items by itemnumber already in reserves and/or tmp_holdsqueue. Tested against SCLS sandbox
This feature should have no functional effect for superlibrarians. This feature also has no functional effect if there are no categories defined under the "Patrons" category type. Once there is at least one of those categories is created, view/modify constraints go into effect. As described in the spec, staff will be able to work with patrons who are 1) members of their branch or 2) members a branch which is belongs of one or more of the same "patrons"-type branch categories as the active staff member's branch. This work completed as per the Pioneer "Patron Record Ownership" spec.
This patch addresses the bizarre case of librarian clicking No, do NOT remove from patron's account when checking in a lost item. * removed refundlostitemreturned() and ForgiveFineForClaimsReturned(), refactored into makeClaimsReturned() for toggling on/off and crediting account and, if applicable, owing refund on payment made * tweaked AddReturn() to separate lost_items table from items.itemlost status * the dialogue message for "Item lost, now found.. remove from.." now specifies the patron who's linked to the lost item regardless whether it's the same or different from the checkin issued patron