Currently, Koha creates a default value of 2 days ago (-2) for the start date of the Holds to pull List. This system preference allows users to specify their own default start date for this list, since users might not want to have to manually change the date all the time when they already know the set date period they want to view.
The system preference value is specified as a positive integer, which is then passed as a negative integer in the handler script. This saves users from having to include a qualifer to the sys pref value.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Adds a system preference BlockReturnOfWithdrawnItems to control
whether or not Koha should allow a withdrawn item to be returned
or not.
Also fixes the behavior where Koha will attempt to use a withdrawn
item to fill a hold.
Test Plan:
1) Set BlockReturnOfWithdrawnItems to "Block" ( this is the default )
2) Check an item out to a patron
3) Mark item as withdrawn
4) Attempt to return the item, you should still see the item on the
borrower's record
5) Set BlockReturnOfWithdrawnItems to "Don't Block"
6) Attempt to return the item, you should see the item is no longer
on the borrower's record.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
In the circulation page, you can now export (as csv or iso2709) a list
of items which are currently checked out by a borrower.
3 export types:
- iso2709 with items: Export the items list in iso2709 format with item
informations.
- iso2709 without items: Export the items list in iso2709 format without
item informations.
- CSV: Export the items list based on a csv profil.
2 new system preferences:
- DontExportFields: a list of fields not to be export
- CsvProfileForExport: The Csv profile name used for the csv export
Test plan:
- Fill the CsvProfileForExport syspref
- go on the borrower circulation page containing checkouts
- Select one or more items and export them to the 3 different formats.
- check if the result file is what you expected
- Test there is no regression with the export authority
- Test there is no regression using tools/export.pl with the command
line interface
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Create transport_cost table, added UseTransportCostMatrix syspref.
transport_cost table contains branch to branch transfer
costs. These are used for filling inter-branch hold transfers.
Moved GetHoldsQueueItems() from .pl to HoldsQueue.pm
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
With hourly loans Koha can make items due specific hours,
but if you have the specify due date box on the checkout
screen you can't enter an hour/minute. It will always default
to 23:59.
* Add jquery timepicker plugin
* Update jquery ui to include timepicker prerequisite slider
* Set timepicker's default time to 23:59, remove the hard
coded 23:59 setting from circulation.pl
* Resize input fields such that the entire date and time are
visible.
Signed-off-by: Marc Veron <veron@veron.ch>
Works as expected, input field displays entire date and time.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Suspended holds are showing up in both the holds queue and holds to pull reports.
This patch adds to the sql queries such that any hold that is suspended
is not selected.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
If the ReturnToShelvingCart syspref is on, and something needs to go in transit,
the shelving cart setting is overriding the transit.
What seems to be happening is this:
* Item is checked in, and flagged as needing to go in transit from A to B.
* Item is immediately flagged as shelving cart, though. Current display says both shelving cart and in transit.
* After the cart-to-shelf script runs, item comes out of transit and
shows as being available at the destination library, although it hasn't
arrived yet and no one has manually checked it in.
http://bugs.koha-community.org/show_bug.cgi?id=3701
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
As noted in comment #4 by Jonathan Druart, this should be fixed in every call
to DateTie::truncate function. This patch does exactly that.
julian_m tested that truncate( to => 'days' ) didn't actually do anything, so
it is understandable that this 'fix' might introduce new bugs as we might have
'fixed' at a higher libs level this issue.
'minutes' is used in truncate function too, so fixing.
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Removes all date formatting done in circ/circulation, and sets any/all date
outputs to iso format. The formatting of dates is now handled in the template
using the KohaDates plugin.
This allows use to remove a dependency on C4/Dates.pm from the script.
This patch also removes the usage of C4/Overdues/CheckBorrowerDebarred. Since
borrowers.debarred is returned by GetMemberDetails, it doesn't make sense to
include another module to run another MySQL query just to fetch the date again.
To Test:
1. View the checkout page for a patron with materials checked out today and in days past, as
well as items on reserve.
2. View a patron who is nearing their expiry date
3. Renew a patron
4. Renew a material from the checkout page using the renewal date selector
5. Attempt to checkout a book to a patron that is on hold for someone else
6. Attempt to checkout a book that is currently checked out
7. View a debarred patron
In all cases, any dates displayed should be in syspref format
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
When a hold is placed on an item where the pickup location is
different than the holding library, Koha initiates a branch
transfer for that item to fill that hold when items is run through
the returns system.
If the item is then run through returns a second time, the system is
supposed to close that transfer as a 'wrongtransfer', and open a new
transfer with the same from and to branches as the original.
The problem is that the original transfer is closed, but the new
transfer is not created. This is because at some point, someone
replaced the template variable WrongTransfer, which had previously
contained the branchcode for the library to transfer to, with the
full name of the library instead ( I assume to make a look nicer ).
Solved by removing the line that was changing the variable contents
from the branchcode to the branch name, and adding a new TT filter,
KohaBranchName that functions in the same way as KohaDates, except
it takes a branchcode and returns the branch name for the given
branchcode.
The consequence of this, is the the name of the library is passed to updateWrongTransfer instead of the branchcode, causing the failure.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 7851 introduced our scoping for vairables, unfortunatly it has
side-effect that checkout rows accumulate on page reloads instead
of being initialized to empty array (which this patch fixes)
This also fixes %renew_failed initialization on each request.
Test scenario:
1. start intranet under plack
2. open /cgi-bin/koha/circ/circulation.pl and reload page few time
confirming that rows gets duplicated
3. apply patch and reload page to verify that it works
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
In order to facilitate a more painless process for converting
to jQueryUI I will submit separate patches for various "widgets,"
starting with Autocomplete.
This patch replaces all instances of YUI autocomplete with
a jQueryUI version. The patch includes an up-to-date version
of jQuery and jQueryUI libraries.
The patch also moves some markup in instances where it should
have been removed in favor of a different include.
To test, find the various autocomplete instances and confirm
that they are working:
- Circulation search header autocomplete
- Overdues patron attribute authorized value filter (must
have patron attributes enabled, and a patron attribute
defined which uses authorized values.
- Authorities search plugin. Edit a MARC record and use
an authorities plugin link to do a search for authority
records.
Incomplete: There is a YUI autocomplete instance in a UNIMARC
plugin (unimarc_field_210c_bis.tt) which I couldn't figure out
how to test, even on a sandbox set up with UNIMARC. I could use
help with a follow-up.
http://bugs.koha-community.org/show_bug.cgi?id=7447
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Passes all tests outlined, is quite pretty.
Passes t xt
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
preference works as expected.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Tested that CircAutoPrintQuickSlip clear the screen still works well
When I try to run the overdues with fines report I get the following:
Software error:
Undefined subroutine &main::dt_from_string called at
kohaclone/circ/branchoverdues.pl line 116.
Fixed by add a use line for Koha::DateUtils to branchoverdues.pl
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Scripts are currently not linked from anywhere in the templates
- Functionality can also be achieved with a custom report
- There are unresolved problems with the sql in the existig scripts
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Removed a compile time warning caused by a void context
in a bit of too clever obscure code
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
* Switch from C4::Dates to $KohaDates
* Fix 'Resume All Suspended All Requests'
* Change button text to follow capitalization rules
* Change 'requests' to 'holds'
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch is an alternate patch for the bug. Instead of having
one column 'name' for a concatenated first and last name it
adds 2 separate columns to the exported csv file.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Errors:
Variable "$totalprice" is not available at /srv/koha/circ/circulation.pl line 448.
Variable "%renew_failed" is not available at /srv/koha/circ/circulation.pl line 456.
Variable "$todaysdate" is not available at /srv/koha/circ/circulation.pl line 458.
Variable "@todaysissues" is not available at /srv/koha/circ/circulation.pl line 459.
Variable "@relissues" is not available at /srv/koha/circ/circulation.pl line 459.
Variable "@previousissues" is not available at /srv/koha/circ/circulation.pl line 461.
Variable "@relprevissues" is not available at /srv/koha/circ/circulation.pl line 461.
Test scenario:
1. go to circulation page
2. verify errors in console output of plack
3. apply patch
4. reload and verify that errors are gone
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adds the ability to suspend reserves. The new system preference
AutoResumeSuspendedHolds enables the ability to set a date for
a suspended hold to automatically be resumed.
When a hold is suspended, it will continue to increase in priority
as the holds above it are fulfilled. If the first holds in line
to be filled are suspended, the first non-suspened hold in line
will be used when an item can fulfill a hold that has been placed.
http://bugs.koha-community.org/show_bug.cgi?id=7641
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested with the preference on and off:
1. placed several holds in the staff client
2. suspended some with a date
3. suspended some without a date
4. triggered hold message by checking in for hold with suspensions
5. the suspended hold was skipped as it should be
6. tested suspending holds in the OPAC w and w/out dates
7. ran the cron to clear suspensions with dates
All the above tests worked as expected. Signing off.
ISO dates were being compared with DateTime objects, and DateTime::Durations
with integers. This patch reimplements the _FixFineDaysOnReturn subroutine
to use the new hourly loans functionality.
Also moves date formatting of patron debar date out of circ/returns.pl and into
KohaDates on the template
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
items.enumchron is now displayed when not null
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Branches can have their own version of notices - added branchcode to
letter table.
Support html notices - added is_html to letter table.
Support for borrower attributes in templates.
GetPreparedletter() is the interface for compiling letters (notices).
Sysprefs for notice and slips stylesheets
Added TRANSFERSLIP to the letters
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Data is there and correct - very helpful patch, thanks!
passes prove t xt t/db_dependent in line with current master failures.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The 'Add Child' button is not shown if 'borrowerRelationship' is empty.
System preference description changed.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch makes these flags functionnal.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Part 2: This patch shows the message at checkout and checkin
How to test:
* Add a note in cataloguing
* Check it displays at checkout and checkin
* Check items without a note don't display anything
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Adds a new system preference, CircAutoPrintQuickSlip:
When an empty an empty barcode field is submitted in circulation
[ clear the screen | open a print quick slip window ].
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Fixed a merge conflict with the updatedatabase.pl
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Another merge conflict resolved. Marked as Passed QA.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
To test:
Create 4 holds on a bib, for patrons A, B, C, and D,
Check in the item to mark hold as waiting for patron A
Check out the item to patron B -> reserve for patron B should be removed
Check in the item to mark hold as waiting for patron A
Check out the item to Patron A, hold should complete normally
Check in the item to mark hold as waiting for patron C
Check out the item to patron D -> reserve for patron D should be removed.
Check in the item to mark hold as waiting for patron C
Check out the item to patron C, hold should complete normally
Check in the item -> there should be no more reserves.
We also tested:
Created 4 holds on a bib with two items, for patrons A, B, C, and D
All worked as expected.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Other fixes thrown in for good measure:
- Adding data to the results table to match output of returns
- Better checking of error codes in the script to control
output of error messages (don't show error box when there
are no errors).
- Move some errors/messages from the right column onto the
top of the page to match Koha's established pattern.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
If the surname or firstname of a patron is NULL, the MySQL concat()
function (properly) returns NULL, leading to the patron name not
displaying in the overdue report.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
I know there's talk of getting rid of this patron search method, but I had a
request for this and so here it is.
To test:
verify that branchcode is displayed on patron search results from
circulation.pl.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Some code coming from BibLibre has been lost in the process of inclusion in
3.4. The result is that fine in days does not work at all (you can setup rules,
but it does nothing)
Step to reproduce:
- Koha > Admin > circ rules > set 1 day fine every day of overdue for default
rule
- Issue a book return date last week
- check-in the book => no debarment is set
The following patch will fix all of those problems by :
* updating borrowers.debarred to a date field (instead of tinyint). It contains
the limit of the debarment
* changing API of DebarMember and UpdateBorrowerDebarred to pass a date
* display debarrdate where applicable. Note that a debarrdate of 31/12/9999 is
considered as unlimited and not displayed
* added a debarrcomment, usefull to explain why a patron is debarred (this is
independant from debarrdate changes and can be used when placing an unlimited
debarment too)
[2011-05-12] F. Demians. It works as described. And I can confirm this
functionality is impatiently awaited by French libraries since one year. Thanks
BibLibre for the good work and for contributing this code.
Bug 6328 Followup--update DB structure
Thanks Katrin.
Bug 6328: make comment a textbox / fix debar by notice trigger
Debarring by notice triggers was broken, because the new function
expects a date as second parameter.
The comment field in patron account details was a very long text field.
Patch changes it to be a textbox instead.
Bug 6328: Lift debarment leaves patron account
'Lift debarment' redirects to an empty circulation page.
BZ6328 follow-up 3
Fixes comment 23 from Fernando L. Canizo : when the patron was debarred and debar removed
he still could not check-out.
The changes in the IsMemberBlocked (that were on biblibre/master) were lost somewhere
The sub was still checking for old_issues instead of calling CheckBorrowerDebarred
to get a debardate if applicable
Note : this bug was appearing only is you had issuing rules defined for itemtype/categorycode/branch.
Seemed to work if you had only default rules. That's probably why it hadn't been spotted before
BZ6328 follow-up 4
Comments fron Zeno Tajoli: The patch is OK and I sign-off it. Two little changes done on
installer/data/mysql/kohastructure.sql and installer/data/mysql/updatedatabase.pl
Signed-off-by: koha <koha@kohabase.localdomain>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as advertised, doesn't affect display for non-organisational patrons.
Note: Display change in OPAC only affects the summary tab.
It would be a little bit more consistent to make the name show the
same on all tabs in OPAC patron account.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I repeated Katrin's signoff here (with permission). The patch only changed for some minor rebasing and cosmetic QA requests. Passed QA now.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch adds a check for the value of the ExtendedPatronAttributes
preference to the scripts and corresponding logic to the templates
controlling the sidebar menu.
The patch also corrects a duplication of attributes code in moremember.pl
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
1) Added extended patron attributes in configuration, turned ExtendedPatronAttributes on
2) Altered patron details, added values for patron attributes
> Verified patron attributes show show correctly
3) Turned off ExtendedPatronAttributes
> Verified patron attributes were hidden everywhere
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
uploading the circ overdues result in a csv with columns in a strange order
and not the order of the screen
This patch reorder the column by putting the usefull ones first
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Removed SearchMembers() and replaced with more generic Search()
Amended Search() to try cardnumber first
Replaced SearchMembers() calls with Search()
Replaced SELECT with Search() where appropriate
C4::SQLHelper:
- added support for '' key for search filter.
- when passing an array to filter, join with OR (rather than AND)
- added support for key => [val1, val2] in filter
- did not document - there was no input documentation to start with,
and SQLHelper should be replaced with something better anyway
Signed-off-by: Liz Rea <lrea@nekls.org>
(again - testing merge issue)
The functionality of the patch seems to be maintained with Biblibre's changes.
I tested the following:
Extended attribute searching: works
3 part name searching: works
2 part name searching: works
1 part name searching: works
From:
mainpage.pl
members-home.pl
Patron search limited by branch: Works
Patron search limited by patron category: works
Ordering by cardnumber instead of surname: works
The "Check Out" field in the masthead.
Circ Autocomplete is not reliably functional at this time, but the problem appears to predate this patch.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch adds a check for the item-level_itypes preference
when building the SQL for the overdues report.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adds a new system preference, RecordLocalUseOnReturn, which when active will change the statistical
entry type from "return" to "localuse" in AddReturn() if the material was not on loan when returned.
The intended use-case here is for libraries with 'open' book drops, in which patrons can put locally
used (but unissued) materials.
Adds a small message to the user interface to confirm that Local Use was recorded.
This change opens up the possibility to record more types of statistics on return; one would just need
to update the $stat_type variable accordingly.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Explicitly specifies which fields to return in C4::Overdues::checkoverdues
SQL: all of biblio, items, and issues, and everything in biblioitems
EXCEPT marc, marcxml and timestamp.
Bug 6801: member details page taking long time to load when many checkouts present
This patch removes the call to GetMemberDetails in build_issue_data; this heavy-weight
subroutine was being run for every single item a patron (or their relatives) have checked out.
Instead, the borrowers first name, surname and cardnumber are added to the GetPendingIssues query.
I believe this is reasonable since GetPendingIssues can now return issues for multiple borrowers.
Also corrects the $borrowernumber used for GetIssuesCharges and CanItemBeRenewed; was using the borrower whose
page we were on, NOT the borrower of that specific item (which would be different in the Relatives Checkouts tab).
Template calls to [% scope.borrowername %] are now broken up into [% scope.firstname %] [% scope.surname %].
Signed-off-by: Liz Rea <lrea@nekls.org>
On my test data, a patron with 180 checkouts (without this patch) would take more than a minute to bring back the circulation.pl and moremember.pl pages.
With this patch, the time is reduced to 5 or so seconds.
Big ups to Ian for tenaciously hunting this one down.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Added a LIMIT 10 to the SQL statement
Edited the circulation.pref stating that autocomplete returns the first 10 results at a time
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Show patron attributes in the sidebar on circ and patron pages
[Edit from Owen Leonard: This patch takes changes originally in
Bug 5436 and isolates just the parts relating to display of
patron attributes. Because function for pulling patron attributes
was merged with the function for displaying address information
in SetMemberInfosInTemplate() (also found in Bug 5749), I moved
the call to GetBorrowerAttributes into the individual scripts.
That keeps the functionality relating specifically to patron
attributes separate from the proposed changes to displaying
addresses.
Because I think it's important to keep the display consistent,
I added display of patron attributes to all pages which include
the patron information sidebar.]
Rebased for compatability with bug 3489 and database documentation by
Ian Walls, 9-21-11
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adds "checked out from" column to the right of "checked out on" on both
circ/circulation.pl and members/moremembers.pl. Columns are sortable with tablesort
(though only on circ/circulation.pl if syspref enabled).
The branch name is sourced from issues.branchcode.
EDIT BY Owen Leonard: Adjusting table columns which are sorted by default
to accommodate the new column.
Things look good! Thanks!
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch does a couple of things.
1. Changes permission over all to set branch printer (change branch/Set Library) from "circulation" privileges to "view catalogue" permissions. Reasoning: anyone who has privileges to view catalogue could reasonably be expected to perhaps need to change the set branch, but you might have people who don't have circulate permissions who need to change the branch, centralized cataloguing, for example. Those people would never circ and wouldn't need circ privileges, but *would* need to be able to change the set branch.
2. Changes the template flags to see the "Set Library" link with independent branches set from "manage users" to "manage users or edit catalogue." Reasoning: even with indy branches on, there might be reasons for catalogers to be able to change the set branch (that reason was the impetus for this patch in the first place).
To test:
Create a user with only "View Catalogue" Permissions (no circulate permissions), that user should be able to change set library with Independent branches OFF.
With independent branches on, give a user edit catalogue permissions. That user should be able to change set library.
I want to add that this patch was specifically written in response to chris_n's bug report. It may not be practical for these changes to be in mainline, but I haven't thought of any reasons why it would be explicitly bad. That doesn't mean there aren't some, though.
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Separating perl standard uses from koha uses
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
On holds over, when cancelling hold and returning to his branch a bug fill the branchtransfers.tobranch field with the branchname instead of the branch code.
BibLibre MT5647
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This reduced execution time on the report from timeout (1400 holds waiting + 200 holds over) to 6 or so seconds, with 1566 holds over (test data, no holds waiting).
Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Change to parameter list in GetPendingIssues made it
callable by an empty list resulting in invalid sql being
sent to server. As this was occuring on most issues error log
was filling up. Put safeguard in the routine
Also don't bother calling when you have no need
Some of the processing was needlessly obscure
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The script tries to parse the patron expiration date without
checking that it is a valid date. If expiration date is empty
it doesn't get caught along with past expiration dates.
I wonder if this line was supposed to catch this problem:
Line 233: if ( $warning_year*$warning_month*$warning_day==0
This patch adds "!$borrower->{'dateexpiry'} ||" to that line.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch includes the changes by Catalyst found at
http://git.catalyst.net.nz/gw?p=koha.git;a=shortlog;h=refs/heads/bug_2941
and adds a "cancel transfer" link to the transferstoreceive
script, including a redirect check to send the user back to
that report.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Moving columns around to match display of patron's own checkouts
- Correcting terminology (issues, borrowers)
- Hiding columns added in previous patch which do not display in
the standard checkout list: materials, stock number, collection.
If these are to be added they should be added to all displays.
[edit] Adding display of relative's cardnumber alongside their name
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adding state variable to various circ and member pages so that
sidebar display of patron details includes state.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Duplicate of '[PATCH] MT3747: Shows member relatives in issueslists' : Subject was wrong
MT3747, Follow-up: Adds siblings issues
MT3747, Follow-up: Shows member relatives in issues lists
- Now displays patron's and relatives' issues apart
MT3747, Follow-up: Shows member relatives in issues lists
- Removes renewal in circulation.pl
- Adds links to moremember.pl
MT3747, Follow-up: Shows member relatives in issues lists
- Remove unuseful warn
MT3747, Follow-up: Shows member relatives in issues lists
- Removes renewal in moremember.pl
MT3747, Follow-up: Shows member relatives in issues lists
- Adds sorting for circulation.pl
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Enables the library to choose whether to have patrons scan their barcodes for self checkout, or login
with username and password. Uses 'checkpw' for compatibility with LDAP authentication.
Also introduces a few new system preferences to make Self Checkout more secure and manageable:
SelfCheckTimeOut: the number of seconds before the self-checkout login times out for a patron
AllowSelfCheckReturns: indicate whether or not patrons can return materials via self-checkout
SelfCheckHelpMessage: user-configurable HTML to show specific text on the Help page.
Thank you to Marlboro College in Marlboro, VT for sponsoring and testing this development!
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Implements the RFC found at http://wiki.koha-community.org/wiki/Hard_Due_Dates_Circ_Rule_RFC. See squashed commits
messages below for details of implementation.
Squashed commit of the following:
commit 871b91af00871146eb1216ebf5ce673dda2c5925
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date: Tue Dec 28 15:09:49 2010 -0500
Hard Due Dates dev part 3: implementing the due dates in circ
CalcDateDue now calls GetLoanLength, rather than each invocation running separately one after another. Therefore, instead of
the 'loanlength' param, CalcDateDue now takes 'itype', and uses the info to get both the issuelength and the hardduedate info (if it exists)
Global Due Date no longer populates in the sticky due date field in Circ, since it can't be determined before the item is scanned. Any specified
due date still overrides the circulation rules, if allowed.
Hard Due Dates in the past will return an error message, but can be manually specified if truly desired.
Also, a small fix to updatedatabase.pl to allow the old data to populate if possible.
commit 14d5505f3c01287a2464a759f0076c1d4b665c49
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date: Mon Dec 27 18:28:11 2010 -0500
HardDueDates dev part 2: adding admin interface
Adds columns to Smart Rules page, including calendar for easy date selection.
Removes globalDueDate and ceilingDueDates from system preferences editors
commit 76e3e3d86a7a54c6ce4253e7f68278b4dc75a0bb
Author: Ian Walls <ian.walls@bywatersolutions.com>
Date: Mon Dec 27 15:58:05 2010 -0500
HardDueDates dev part 1: database changes
Adds two new columns to issuingrules, a hardduedate and a hardduedatecompare. If globalduedate is set, use that as the universal value
for all circ rules. Else, if ceilingduedate is set, use that as the universal value. Adjust the comparison accordingly (-1 before, 0
exact, 1 after). the old system preferences globalDueDate and ceilingDueDate are then removed.
Rebased onto 3.03.00.032
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch adds a new syspref FineNotifyAtCheckin.
With syspref ON there will be a message when checking in books from
a patron with outstanding fines.
With syspref OFF (default) no message will be shown.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The link to the Fast add framework was never shown.
Now the link is shown if you have the right permissions (fast cataloging or superlibrarian).
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Double clicking on an item in the list of matching names now automatically
submits the form when checking out to a patron by name rather than barcode.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Original patch submitted by dswhite42@yahoo.com
Reformatted to apply cleanly.
Changed alert message during check-in to message used
on borrower account checkout page.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Adding title, subtitle, and author to output
- Reworking display of shelving location selection
Patch does not address the contents of 'overdue status' and 'notified by'
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Also correcting display of itemtype based on item-level_itype preference
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Adding subtitle to Hold Ratio report output
- Sorting by default on ratio, descending
- Adding author
- Removing description
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch improves the phrasing of several messages by
breaking the message variable into distinct parts for more
natural-sounding warnings when:
- Checking out an item on hold for another patron
- Checking out an item which is waiting for another patron
- Checking out an item which is checked out to another patron
- Checking out an item which is checked out to this patron
- Checking out to a patron who has too many checked out
I would appreciate special attention to my changes to the
TooMany function in Circulation.pm to make sure I handled
it correctly.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Need to set up keyword to marc mappings for subtitle, parts, numbers for this to work
adds:
- the subtitles into the title link (originally Chris Cormack)
- barcodes for every listed hold
- denoted which items were only item and which could be filled by any item on that bib.
- added id's to every column for ease of jquery suppression of data (example: publication data or patron column could be suppressed)
[EDIT]: Added missing template variable
[EDIT]: Converted table cell IDs to classes. Having multiple identical IDs is invalid.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Raise warning rather than disallowing
Remove due date js validation when checking out
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed small error in circulation.tmpl
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This system preference allows the librarian to toggle on or off whether the JQuery tablesort is used on the
circ/circulation.pl page. For patrons with many checkouts, this sort may cause very slow page loading (and
therefore slow circulation transaction time), depending on the browser and local machine used. Staff can
still see a sortable list of current checkouts on the members/moremember.pl page.
My revision prevents the template from including *any* tablesorter code if the
preference is feature is turned off: both the circulation list and
the holds list will have no jQuery tablesorter.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
An embedded query in circulation.pl for BOR_NOTES authorized
values can be replaced with a call to GetAuthorisedValues
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The removed section of code contained a "my $dbh = C4::Context->dbh"
which was required for the query of BOR_NOTES. That line has been
moved accordingly.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
this patch create a new systempreference "homeorholdingbranch"-like used only for returns.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
An additional edit was made to circ/returns.pl by Ian Walls of ByWater Solutions to force the dialog message for the return to
use the branch specified by the new HomeOrHoldingBranchReturn system preference, rather than always Homebranch.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Disabling rotating collections for 3.2.0 release; after more testing,
candidate for 3.4 as well as backport into 3.2.1.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- Use GetRecordValue() to show subtitle
- Show author
- Separate branch and call number display for better sorting
- Correct teriminology (reserve -> hold)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Copies the regexp from circulation.pl to strip leading and trailing spaces from barcodes to returns.pl.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
[cherry-pick from 3.0.x]
This patch :
* fix indentation
* Separate waiting holds from holds over with tabs
* Select only holds for librarian library
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Works for HTML5 because it loads smoothly and no plugins required but *at
this time* this update will only work with staff clients which are Firefox
version >=3.5 (std for Koha) but other browsers will soon be adding support.
Additional sounds are included for people to modify and play with, but this
is such a simple upgrade I doubt at this time Koha needs another complex
selector so users can add their own sounds. It could be a nice enhancement
later, of course.
Suggest we stick with HTML5 <audio tag because it is a standard and no
plug-ins.
This simple update has been running live for SMFPL.org for almost 2 weeks
-Darrell Ulm
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Reverted because, as it describes itself, this was an incomplete
fix that simply commented out a feature that had been committed to HEAD
and sponsored by a library. Bug 4139 has been opened for the underlying
performance issue.
This reverts commit 943aa38564.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch does the following:
* Fixes the typos in updatedatabase.pl ( updates colBranchcode to varchar(10)
* Adds the rotating_collections template files that somehow were not committed
* Adds a missing sub from RotatingCollections.pm that must been deleted by accident
* Adds the neccessary hooks in returns.pl to warn that and item needs to be returned
to the branch that currently holds the collection.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- Changing 'check this transfer' message to more informative
'Transfer is XX days late'
- Adding note in the case of late transfers: 'Transfers are
considered late after XX [TransfersMaxDaysWarning] days.'
This feature is designed to manage collections of items that move
from library to library periodically. Koha can already track who *has*
and item, and who *owns* and item, but not who *should have* an item.
That is the issue this feature addresses.
It allows a persion to create a collection, and add any number of items
to that collection. The collection can then be transferred from library
to library. If an item shows up at a library that does not currently
'hold' that collection, Koha will ask you to transfer it to the library
that does currently 'hold it. In that way, one can even transfer
collections where some of the items are currently checked out. As soon
as they make it back to a library, they will get transferred to the
current library holding that collection.
The feature consists of 4 main pages.
'Home' Page: The landing page, lists collections and provides access to
the rest of the tools.
Access is via the Tools page.
Edit Collections: Add/Delete new rotating collections
Add/Remove Items: Add/Remove items from a given collection
Transfer Collection: Set the current 'holder' of a given collection.
Librarian access is controlled by 'CAN_user_tools_rotating_collections'
Fix obvious warning generators
use of string comparison on numeric values
use of capture variables without testing comparison
reuse of variable names in same lexical scope
Tidy some layout issues
remove commented out code
remove unused variables
remove tabs from mixed space tab layouts
rewrite a couple of expressions where code flow obscured
The performances of this script felt back. Investigating, it's due to the extended attribute filtering improvement
when there are ext attributes, the script does a:
SELECT borrowernumber AS bn, b.code, attribute AS val, category AS avcategory, lib AS avdescription
FROM borrower_attributes b
JOIN borrower_attribute_types bt ON (b.code = bt.code)
LEFT JOIN authorised_values a ON (a.category = bt.authorised_value_category AND a.authorised_value = b.attribute)
that returns a LOT of datas when you have 10 000 patrons and 5 attributes.
That results in the page needing something like 10 seconds to be loaded.
There are some other caveats. I've commented a few lines that remove the extended attr option. The best solution would be to fix it better, but I can't find how to do that now.
(note : i also have commented some lines that are unused)
This update the way Member is added and editing so that import and Edition
could be best automatized
GetMember evolves and allow ppl to serach on a hash of data
Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The patch sets a "flagged" variable for displaying the messages correctly, bringing it in line with the way other messages are displayed. The patch also includes some markup tweaks and a change to make display of the "add message" link javascript-dependent.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This system is indended to replace the old opacnotes
and borrowernotes fields in the borrowers table.
This system allows an unlimited number of Libraran and OPAC notes to be
attached to a borrower. Each note has a message, a message type,
the data it was created, and which library created it.
Each message can only be deleted by the library that created it unless the syspref
AllowAllMessageDeletion has been set.
This system may be used simultaneously with the old notes system and does not affect it in any way.
A new database table (messages) was added for this feature.
The System also allows for pre-defined notes for Borrower records
To use these, just create authorised values with the category BOR_NOTES
where the Authorized Value is the short description shown in the pulldown,
and the description is the text that should be in the note.
Original Author: PTFS Contractor <dbavousett@ptfs.com>
This work co-sponsered by Middletown Township Public Library, Middletown, NJ, USA
and East Brunswick Public Library, East Brunswick, NJ, USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Button added to clear the last Borrower record after transaction is complete
To enable, turn on the syspref DisplayClearScreenButton.
This work was sponsored by Middletown Township Public Library, Middletown, NJ USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Allows temporary locations corresponding to 'in processing' and 'shelving'
so that newly-created items, and newly-returned items do not show
immediately as a available. Three new system preferences govern the usage
of these features.
NewItemsDefaultLocation. If system pref NewItemsDefaultLocation is set to a location code,
all newly catalogued items will be set to the location set in this preference.
Location code must be a valid LOC authorized value type.
InProcessingToShelvingCart. if the system pref InProcessingToShelvingCart is turned on,
any items run through returns.pl with a location code for 'PROC', will be modified to
have a new location code of 'CART'.
ReturnToShelvingCart. If the syspref ReturnToShelvingCart is turned on,
all items returned other than confirmed holds will have a new location code of 'CART'.
Any item issued is automatically taken of the shelving cart.
Adds a cron script shelf_to_cart.pl which should be run hourly.
Updates all items with a location of CART to the item's permanent location.
The original location code is stored in the new items column 'permanent_location'.
Original Author: PTFS Contractor <dbavousett@ptfs.com>
This work co-sponsored by
Middletown Township Public Library, Middletown, NJ USA and
East Brunswick Public Library, East Brunswick, NJ USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Code cannot rely on issueinformation being populated.
Note there is room for better efficiency to have AddReturn also provide the
itemnumber (where existing) so that GetItemnumberFromBarcode is not called
at both levels. Unfortunately there is discrepancy between this idea (for
efficiency) and the stated purpose of the $iteminformation object returned,
since $iteminformation is specifically the info from the issues table and
MUST be empty when the item was not in fact issued.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Delivered range was 10 years ago to yesterday; changed default
to be two days ago to today. Also removed notes field from report
output; 5xx fields can be quite large and including them in the
display resulted in a very lengthy printout for staff.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
selectbranchprinter now posts to itself to set the branch. That also means that
other pages can set the branch by linking to selectbranchprinter like:
/cgi-bin/koha/circ/selectbranchprinter.pl?branch=MAIN
We use HTTP_REFERER to allow the user to continue back to wherever they linked from,
defaulting to circulation.pl (the former POST target).
Note that all "branchprinter" functions are basically useless as the data is not
properly handled in the session storage. Chris C. expects this to be addressed
with later patches for HLT. There appear to be no 3.0 users of this intended
functionality yet.
Includes squashed patch to fix tmpl and to automatically redirect if there are no
POST params to be recycled.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Use GetBranchesLoop and warnings. Remove unused code. Moved the Get's to after auth.
I begin to show how this script will use referer to redirect back to the sending
page upon successful change of branch or printer (see hidden div and recycle_loop).
Indicator for singleBranchMode added.
Also added another helper function for GetBranchesLoop, namely mybranch. This
encapsulates the logic for finding an intelligent default selection, which is
almost always desirable.
This does not resolve bug 2426, but is work in that direction.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Patch by Rick Welykochy <rick@praxis.com.au> with some squashing
by me.
Bug Report: 2866 Filtering and sorting the overdue report using patron attributes
1. Create a new system preference ?FilterBeforeOverdueReport?
2. Option to filter *before* the overdue report runs, avoiding report slowness
3. Add searchable patron attributes to the list of overdue report filters
4. Add searchable patron attributes to the sort fields on the overdue report
5. add item call number and replacement price
6. the CSV download link now returns the same
data as the web report, rather than (inconsistently)
trying to run the overdue_notices.pl batch job
7. always run report if requesting CSV
8. barcodes are now links
9. use item-level item type for overdue itemtype filter
Included is a new callback for searching patron attributes, similar
to circ/ysearch.pl.
The following additional bugs are fixed:
2748: Nothing is output to the .csv file for the "Overdues" circulation report
This is fixed by having circ/overdues.pl produce the CSV output directly instead
of trying to call the overdues cronjob. The CSV output includes all of the fields
that are displayed on the web table plus the item replacement price and any extended
patron attributes.
2836: overdues.csv may contain HTML
2837: Descending sort doesn't descend on the overdues report plus other probs with report
This enhancement was sponsored by the Plano Independent School District.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Before this patch, we used to test for flags == 1, which was wrong when patron had all privileges.
This patch just adds a %2 to check that patron has superlibrarian privilege, and maybe something else we don't care.
I think I fixed it everywhere except in acquisition, that will be addressed by BibLibre new acquisition module.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed many unused variables.
Switched to elsif where appropriate.
Cleaned up some whitespace.
Corrected comments.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Use warnings and provide fallback values to avoid them.
Move waitingdate check up to top of loop.
Move $today creation outside loop (should be same for all).
Remove unused and unnecessary variables.
Add subtitle escaping to .tmpl and slightly standardize formatting.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Convert to GetBranchesLoop.
Insert template message to display for ALL libraries search, so that the
message is n0t truncated like "X items found for".
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Remove unused sub and variables.
Convert to using GetBranchesLoop instead of local code.
Use elsif where appropriate.
Added fallback values and enabled warnings.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed unused variables. Replaced EXPR.
Inserted hidden span to correct tablesorter behavior on title field. Without this patch
because of the link href in the cell, the sort would end up being effectively on
biblionumber, not title.
Mostly whitespace edits in template.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This also fixes a deficiency with overdue.tmpl not retaining the
user's selection of sort order when displaying results.
Removed 9 unused variables.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Remove ton of unused variables.
Remove wrong use of BiblioDefaultView on INTRANET side.
Consolidate failover values.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Eliminated bug with date handling outputting an English string.
Row striping added. Highlight for "my branch" row added.
GetBranchesLoop used instead of recreating data structure, so we get the
benefit of branches being sorted (by display name).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Use one $userenv_branch instead of many calls to C4::Context->userenv->{'branch'}
for comparisons. Script is not warnings safe yet, but getting closer.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This is to allow patron proxy relationships to be built using the patron barcode.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The array was populated and values flagged with an accessor, like:
for (@failedrenews) { $renew_failed[$_] = 1; }
But this means that an array of possibly hundreds of thousands of elements
would have to be auto-populated for high itemnumbers. A hash is the correct
structure. We also haven't checked the user input for validity, so we do not know
for sure that @failedrenews really does contain just itemnumbers.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Store the stickyduedate in the session. So "Remember for Session" means
for session rather than "while on this page".
Includes some updates since initial submission of patch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Per suggestion from Joe Atzberger, match on \s
instead of [ \t] for stripping leading and
trailing whitespace from barcode lookups.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Javascript error in FF and IE when loading page and no data matches criteria.
This was because it was passing more holds than necessary to the template and
letting a template conditional inside the loop control whether to display or not.
That doesn't make sense, and it forces the table to be displayed even when all
rows FAIL the conditional. jquery.tablesorter was confused trying to be added
on top of an empty table with nothing to sort.
There were several other errors addressed by this patch:
~ 13 unused variables deleted.
~ regexps run on user-supplied $var before checking $var defined
~ decimal ratio prohibited and silently replaced with "3"
I also added the hold ratio to a column display, with a jquery tweak to put it in
the ratio input box on click. Hidden .sql div now contains the actual query run,
like the other wizard reports.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds a system preference controlled feature. This controls how
many returned items are shown on the check-in page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
A member returns a book : it would be better to see the category of this member
in "information member" near his name.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
bookcount.pl: Illegal Date 'Item has no branch transfers record' does not match 'iso' format: yyyy-mm-dd at /home/mason/git/kap-k3-2/circ/bookcount.pl line 88
tested on 3.0.x
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
branchoverdues.pl
~ Removed unused variables.
~ Use elsif where applicable.
~ Added many FIXMEs.
~ Added help description.
~ Changed link to more accurate description.
~ REFACTORED branchoverdues-specific function in C4 for obvious consolidation.
This report is still of questionable value, since it's dataset has such strange
hardcoded limitations. It is not clear that "FU" type fines and notifys=0 are
reliable or useful indicators to query on, in hardcoded form.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
circulation.pl lacked the code to check whether category codes existed, meaning it would only display category types.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
GetPendingIssues did several bad things:
~ select * on a 4 table join,
~ including multiple namespace collisions,
~ including large fields marc and marcxml from biblioitems,
~ return ($count, \@array_being_counted).
Not everything is fixed here (see FIXMEs), but the situation is
improved considerably, with bug 2900 resolved. The "timestamp"
namespace collision in query should be resolved by separate patch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds a little javascript to the Patron Selection form input after searching for a patron to check out to.
On click it redirects to checking out to the clicked patron.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Added syspref to updatedatabase.
Updated kohastructure.sql with the limits table.
Signed-off-by: Andrew Moore <andrew.moore@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch also lightly refactors the conditional structure wrapping the
call to AddItem, renaming a couple variables to remove double-negatives and
abstruse logic. If SpecifyDueDate is ON, then the input box is used to pass
GlobalDueDate, allowing modification by circ staff, resulting in a default
'sticky' due date of the global due date in that mode.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Before, if you do not provide a "branchcode" you have an empty csv export.
Now, if you have an empty branchcode you have all overdues listed in csv.
(I made a typo error in code)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed unused $dbh variables, converted to loop_context_var instead of togglecolor.
Prevented double comparison in sort. The rest is whitespace cleanup.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Originally by Jesse Weaver <jesse.weaver@liblime.com>
This patch creates a new system preference, AllowRenewalLimitOverride,
that, if YES, allows the renewal limit to be manually overridden. It
updates C4::Circulation and reserve/renewscript.pl to obey this.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
holdingbranch table not referenced in view_holdsqueue.pl, causing irresolvable ambiguity in
sql query when limited by library (holdingbranch). This was causing DBI errors to be thrown
in test database, and library-limited holdsqueue display was thus empty.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
the stickyduedate input isn't sent on from the question dialogs. This
causes it to un-stick if there is a question.
Also removed month, day, and year as there seems to be no use for them.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fixes several improperly named variables and includes the home library variable on the pages that were missing it. The category
description was added to the GetMemberDetails function since a couple of the pages using that function required the variable.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Added the zipcode to display along with the patron address when you are viewing a Patron from the intranet.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Had to add itemnumber to the hash of returned item information.
Links to moredetail.pl with itemnumber and #item in the url.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* added author, ccode, location, and item enumchron
* sorted by collection, locatoin, call number, author, title
As part of this patch, commented out the JavaScript tablesorter,
which could cause the browerer to lock up if the picklist
contains more than a couple hundred items to pull.
Some sort of pagination is clearly required, but since
it is necessary for customers to be able to print out
the picklist, there still needs to be an option to
see the complete list for a branch.
This patch includes the final component of the fix
for bug 2331.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
_Findgroupreserve, which identifies which hold request an
item should fill, is modified to check to see if
that item is targeted to fill a specific hold request.
It first checks for a targeted match with an item-level hold request,
then a targeted match with a title-level request. If no
such targeted match exists, it then checks for the top entries
in the holds queue.
The hold targeting map (i.e., the hold_fill_targets table) is
populated by the build_holds_queue.pl batch job. If that
job is not used, the behavior of _Findgroupreserve
is not changed.
This patch also
* adjusts ModReserveMinusPriority so that it calls
_FixPriority().
* adjusts circ/returns.pl so that it
correctly detects transfers.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Title-level and item-level requests are now more
clearly distinguished in the patron details page
and the patron checkout page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
fixing a translation problem with borrowers_stats.ptmpl:
xgettext.pl: Warning: borrowers_stats.tmpl: line 28: SGML "closed start tag" notation: <p<!-- TMPL_IF NAME="debug"--> class="debug"<
This adds a variable to the checkout form, debt_confirmed, that is 1 when the de
bt block message has been canceled for this session.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This makes C4::Circulation::AddRenewal update lastreneweddate, then has circulation.pl check today's date against issuedate or lastreneweddate. It also cl
eans up a little parenthesis spacing.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Modified overdue check in circ/circulation.pl to use Date::Manip's Date_Cmp. This would likely be useful other places in the file.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
I changed the interface to overdue_notices.pl at the last moment and forgot to correct one call to it.
This corrects circ/overdue.pl to call misc/cronjobs/overdue_notices.pl with the correct parameters.
Even better would be to move most of the code from overdue_notices.pl to a method somewhere
that both of these programs could call. It's inappropriate to call a cronjob from one of our CGIs.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch adds the misc/cronjobs/overdue_notices.pl script that is intended to replace
overduenotices.pl, overduenotices-30.pl and overduenotices-csv.pl. It adds messages to
the message_queue to be sent later (by process_message_queue.pl). It also marks borrowers
as debarred if their issues become too overdue.
It is intended to be run from cron nightly with usage something like:
0 2 * * * misc/cronjobs/overdue_notices.pl
C4::Members:
- improved documentation on ModMember
- made ModMember return a useful value (the return value of the database call)
- added a DebarMember method
- adding t/lib/KohaTest/Members/DebarMember.pm to test ModMember
misc/cronjobs/overdue_notices.pl
- designed to replace overduenotices.pl, overduenotices-30.pl, and overduenotice-csv
Changes to C4::Letters:
- EnqueueLetter now lets you pass in to_address and from_address which can override defaults
- _send_message_by_email pays attention to these defaults.
- now handles attachments with MIME::Lite
C4::Overdues
- added GetBranchcodesWithOverdueRules
- added t/lib/KohaTest/Overdues/GerBranchcodesWithOverdueRules.pm to test that.
circ/overdue.pl
- replaced call to obsolete overduenotices-csv.pl with call to overdue_notices.pl
KohaTest:
- added three helper methods: random_phone, random_email, random_ip
- these can be used to populate example records
- you can now pass an optional lengh to random_string
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The "transfers to receive" report included
unused code to delete a transfer. Since the
"transfers to receive" report is still useful
to give a library a report of items that it should
expect to receive, I am retaining the report. However,
since the cancel transfer functionality would not
work even if it were uncommented in the template, that
portion is removed.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This hold request and transfer report no longer
works now that hold requests are processed via
checking items in.
This patch removes the report; please consult
the koha-devel message re "RFC - remove circ/transferstodo.pl prior to general release"
for more details.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This resolves all remaining significant parts of the bug.
Note that this may have to be revisited for hourly or partial-day circ functionality
for 3.2.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If a patron's fine balance is over the limit set by the
noissuecharges syspref, checkouts are blocked. However,
this was not made very clear in the interface.
Improved the display by doing the following:
[1] If the fine balance is over the noissuecharges limit, use the "blocker"
styling (i.e., make all of the text red).
[2] Add wording to explicitly signal whether or not the fine balance is
blocking charges.
Documentation changes: new screenshots of blocked checkouts.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
ysearch.pl returns a list of borrower details for circulation
autocomplete widget. Accented characters wasn't displayed
correctly.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
from circulation dashboard, creates new sysprefs, assigns
the sysprefs to the proper tab in sysprefs (Circulation),
updatedatabase changes to do the previous, and fixing one
redundent limit in the query for build_holds_queue.pl
Note: still need to address item-level holds
* Added authorization check - user must have a valid
session cookie to use this feature; before this change,
anybody could use circ/ysearch.pl to retrieve the entire
patron directory without authorization.
* (bug 1953) now uses SQL placeholders
Note: this does, unfortunately, noticeably slow down automcompletion;
this indicates a need for factoring of C4::Auth to make authentication
for AJAX scripts as fast as possible.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding a new routine GetBorrowercategoryList in C4/Member
Displaying categoryname when listing categories in memberentrygen.pl
using categorytype returned with GetMember wherever it is possible.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding New Systempreference AddPatronLists
This systempreference allow administrator to choose if patrons are created on categorycode lists or category_type ones.
Overloading GetBorrowerCategory so that if no parameter provided, it returns the list of category records
Changing memberentry.pl in order to use the categorycode when provided.
Bug Fixing Circulation.pl so that doesnot come up with Error 500
with no category selected for GetBorrowerCategory
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Note: I question the use of GROUP_CONCAT(... SEPARATOR '<br/>'),
because that puts knowledge of the output mechanism (currently HTML)
into the SQL query. However, I am not fixing this right now.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
New billing report has nothing to do with hold requests per se,
so change template variables in order to not confuse customizers.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
* use Date::Calc to perform date arithmetic
* use Date::Calc::Today to consistently format the current date
* format date per syspref in overdue report
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Billing.pl -- new, gives bills that occur in a range, works
pendingreserves.pl -- fixed, works now, with branches also
reserveratios.pl -- indicates distressed reserves
itemslost.pl -- Fix to this to make it more useful and fix bugs
Itmes.pm -- small change to work for itemslost, should not affect
anything else
and all tmpl files.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>