Jesse Weaver [Tue, 19 Aug 2008 19:01:23 +0000 (14:01 -0500)]
fix for bug 2477: Improve Speed of the Shelf Browser
This patch updates the queries for the shelf browser in opac-detail.pl for a
slight performance gain. It also adds a param for dateformat to C4::Auth to
fix a warning.
Andrew Moore [Wed, 20 Aug 2008 16:21:52 +0000 (11:21 -0500)]
bug 2503: refactoring and bugfixing on create_koc_db.pl
This is the script that generates the patron and holdings database for the offline circ module. I
touched up a few parts of it:
* fixed the database syntax to squash a bug or two
* extracted some methods for readability and reuse
* added some documentation
* added a --file and --force command line argument
* made it die if DBD::SQLite is not present. That module is required for this feature.
Here's an example crontab line that will generate the borrowers.db file each midnight.
Andrew Moore [Wed, 20 Aug 2008 16:21:51 +0000 (11:21 -0500)]
bug 2503: moving offline circulation db generator to misc/cronjobs directory
This script generates a sqlite database of patron and holdings data for the offline circulation tool.
It's a cronjob, so it should go into misc/cronjobs
Andrew Moore [Wed, 20 Aug 2008 16:21:48 +0000 (11:21 -0500)]
bug 2503: tests for C4::Circulation
I'm adding some tests for C4::Circulation methods that I'm altering
to allow the offline circulation tool to use C4::Circulation to upload
its data. These test a bit of the old functionality and try to show
that the new functionality does what I think it does.
C4::Circ::Addissue to tests issuedate
these also test AddRenewal.
tests for C4::Circ::MarkIssueReturned
Andrew Moore [Wed, 20 Aug 2008 16:21:47 +0000 (11:21 -0500)]
bug 2503: removing Force* subs and replacing them with calls to C4::Circulation subs
The offline circulation file processor originally used its own methods to
insert circulation data. This patch takes advantage of the updated
C4::Circulation methods that allow us to specify dates in the past.
This makes the offline circulation file processor use C4::Circulation
functions instead of its own and removes the deprecated subs.
moving from ForceIssue to AddIssue
replacing ForceRenewal with AddRenewal
moving from ForceReturn to MarkIssueReturned
removing deprecated Force* subs
fixing a few bugs in process_koc.pl
Andrew Moore [Wed, 20 Aug 2008 16:21:46 +0000 (11:21 -0500)]
bug 2503: adding dates to some C4:Circulation methods to allow offline circulation tool to specify dates other than today
When uploading an offline circulation file, some actions may need to take place
in the past. This patch adds date parameters to some C4::Circulation methods
to allow us to set dates on them
added issuedate to C4::Circulation::AddIssue
adding issuedate to C4::Circulation::AddRenewal
adding returdate to C4::Circulation::MarkIssueReturned
Galen Charlton [Fri, 15 Aug 2008 21:38:22 +0000 (16:38 -0500)]
bug 2527: avoid targeting of items on hold shelf
SQL fix to properly ensure that if an item is on
the hold shelf, it will not be used for request
targeting, which applies only to items that are
not already on the hold shelf.
Prior to this fix, when checking out an item on the
hold shelf that fills patron A's hold request, it
was possible for that request to not be marked as
filled if another patron had an item-level request
on the item; the second patron's request was
incorrectly targeted by that item.
Andrew Moore [Fri, 15 Aug 2008 18:17:14 +0000 (13:17 -0500)]
Bug 2524: improving the submitted test reports
switching from 'prove' to 'perl' to run the test scripts when we're preparing
them to be submitted to smolder. Prove adds an additional summary at the end
of the test run which confuses the TAP parser in smolder. It thinks that an
additional test has been run, and it fails it.
Then, I added a '-' before the command in the Makefile. THat's so that even
if 'perl' returns a failing code (because some tess failed), the rest of the
rules are run and a report gets submitted. Othewise, only passing reports
get sent.
Andrew Moore [Fri, 15 Aug 2008 13:41:28 +0000 (08:41 -0500)]
Bug 2524: Adding script to submit test reports to smolder server
This patch adds a target in the t/Makefile and a script in t/smolder_smoke_signal
to submit the results of test runs to a smolder server. It will allow users to submit
their own test results to a central location by running "make submit" from the t/
directory.
Smolder is a web-based application that aggregates and presents the output of
tests. We have an instance running at:
http://arwen.metavore.com:8000/app/public_projects/smoke_reports/1
More information about using smolder for Koha is available at:
http://wiki.koha.org/doku.php?id=en:development:smoke_reports
I intend to have the test suite run each night automatically and the results
sent to the smolder server. This will help us keep track of the current state
of the the code and possibly catch bugs introduced by changes. I encourge others
to submit their own test results if they want, especially if they are on an unusual
platform or are with a non-standard configuration.
Galen Charlton [Fri, 15 Aug 2008 01:59:49 +0000 (20:59 -0500)]
bug 2522 [1/3]: DB rev 3.1/001 - hold request targetting
For bug 2522, add a new table called hold_fill_targets to
implement hold request targeting. This table
has the following columns:
borrowernumber - identify request
biblionumber - ditto
itemnumber - item targeted to fill request
source_branchcode - current location of item
item_level_request - if 1, request is item-level
For bug 2331, adds a column called item_level_request
to tmp_holdsqueue.
Note: both of the item_level_request columns can
go away once reserves is modified so that
it is clear whether a request is item-level or
bib-level.
Galen Charlton [Fri, 15 Aug 2008 01:59:52 +0000 (20:59 -0500)]
bug 2523: add columns to holds queue report
* 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.
Galen Charlton [Fri, 15 Aug 2008 01:59:50 +0000 (20:59 -0500)]
bug 2522 [2/3]: C4::Reserves support for request targeting
_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.
Galen Charlton [Fri, 15 Aug 2008 01:59:51 +0000 (20:59 -0500)]
bug 2522 [3/3]: populate hold_fill_targets
This batch job now automatically populates the
holds request targeting table hold_fill_targets.
This patch is essentially a revamp of the job,
and includes fixes for the following bugs:
2281 (holds queue report including unavailable items)
2331 (holds queue report not working with item-level
holds)
2332 (holds queue script should attempt to fill
many requests as possible).
Several functions in this batch job are candidates
for being moved to C4::Reserves:
Jesse Weaver [Thu, 14 Aug 2008 18:08:47 +0000 (13:08 -0500)]
Fix for bug 2155: duplicate checkin box on returns screen
This changes some css and markup to make the return box at the top not show when one is on the checkin screen. It also moves the markup for the autocompleting search box to its own file.
Joe Atzberger [Thu, 14 Aug 2008 18:52:39 +0000 (13:52 -0500)]
Prevent compilation errors from complex C4 import/export.
SIP code uses UNIVERSAL modules that do not tolerate the circular deps in
C4, specifically, in Auth.pm. Changing the order so that UNIVERSAL follows
the other imports is important to avoiding failures like:
perl -w -e 'use UNIVERSAL qw(can); use C4::Auth;'
"MarkIssueReturned" is not exported by the C4::Circulation module
This patch should resolve the problem earlier seen with Shelves too.
Galen Charlton [Thu, 14 Aug 2008 16:48:41 +0000 (11:48 -0500)]
bug 2341: OPAC title-level holds permitted when items are on-order
Changed so that the presence of an on-order item (items.notforloan =- -1)
permits a title-level hold request to be made. Prior to this patch,
if all of the items linked to the bib were on-order, no title-level
request was permitted.
When placing a hold request from the staff interface,
now correctly indicate if the patron account has expired.
Prior to this patch, would warn that the account
had expired even when the expiry date is in the future,
and vice versa.
Galen Charlton [Thu, 14 Aug 2008 15:43:08 +0000 (10:43 -0500)]
bug 2520: don't change item-level requests to bib-level
Prior to this fix, changing the priority of any hold requests
in the queue of requests for a bib would convert
all item-level requests to title-level requests.
As part of this fix, improved display of the holds queue
so that item-level and bib-level requests can be more
clearly distinguished.
Documentation note: new screenshot of list of requests for
a bib in the staff interface.
Galen Charlton [Thu, 14 Aug 2008 15:43:06 +0000 (10:43 -0500)]
bug 2518: remove useless patron and branch lookups
AddIssue does not use the results of the lookup
of the patron whose hold request was preempted
by the issue. This patch now leaves a no-op in
the '$restype eq "Waiting"' test, but I'm not going to
refactor the hold cancellation logic now.
Joe Atzberger [Tue, 12 Aug 2008 20:56:28 +0000 (15:56 -0500)]
masthead - realign terminology for Tag Cloud
Tag Cloud should link to user-generated tags, in a cloud display.
What used to be called "Tag Cloud" (ISBD subject links for UNIMARC libraries)
should be called a "Subject ...". AFAICT it doesn't currently use a "cloudy"
display, so some other term might be more appropriate.
Ryan Higgins [Sun, 10 Aug 2008 21:07:11 +0000 (16:07 -0500)]
Update labels formatstring parse to pick the correct item tag from MARC data.
This patch allows use of "952a" e.g. in labels format string, getting the item-level
data from the correct MARC tag. Previously it just grabbed the data from the first item tag.
Ryan Higgins [Sun, 10 Aug 2008 20:42:29 +0000 (15:42 -0500)]
Update longoverdue.pl cron job to manage setting lost values.
This patch deprecates the NoReturnSetLost system preference, which, as it
turns out, was not implemented anyway. New longoverdue script allows one to
specify on the commandline system-wide delays for changing items to different
lost statuses, and optionally charge for the item.
Joshua Ferraro [Sun, 10 Aug 2008 20:38:42 +0000 (15:38 -0500)]
Adding three statistics files that NPL uses, they don't
work 100% with stock 3.0 yet but are good examples of
custom scripts that libraries might want to write and
schedule periodically
Ryan Higgins [Sun, 10 Aug 2008 10:25:55 +0000 (05:25 -0500)]
Final cleanup of labels for 3.0
This patch adds the callnum_split and text_justify options to the templates,
fixes bad javascript to switch between 'formatstring' and fixed-field means of specifying labels content,
fixes csv output when fixed-fields specifiers are used, and adds some help text for the formatstring case.
Ryan Higgins [Sat, 9 Aug 2008 20:27:27 +0000 (15:27 -0500)]
Prevent borrower import from overwriting data that it shouldn't, and polish off a couple error conditions.
When an imported patron matches an existing one, keep data in the original record unless our import file
includes that column. Also, check for branch & categorycodes, and produce error if invalid. Finally,
auto-calculate expiry date if not given.
kohabug 2475 [3/?] Adding splitting algorithm for fiction call numbers
This patch also looks for the call number type in items.cn_source and if
that is NULL, falls back to the DefaultClassificationSource syspref.
Splitting algorithms need to be written for other known/supported call
number systems (ie. sudocs, udc, generic, etc.)
Documentation Notes:
For now, if a call number falls through the regex checking for formal lccn or ddcn,
it is passed through the regex for a fiction call number; if it falls through that,
it is returned unsplit.
If a call number does not split, please update enhancement request 2500 with the
requested information.
Joshua Ferraro [Sat, 9 Aug 2008 17:56:04 +0000 (12:56 -0500)]
2433: Cannot apply manual credits with an item number
This patch changes the behavior so that you can enter in
a barcode instead of an itemnumber for the manual credit
and invoice screens. Also, the borrower's account page now
displays a link back to the item record if an item was
linked to the charge
merge works on the fly now.
But for an obscure reason, merge_authority.pl fails to update database when lanched on command line.
Adding one table to LOCK for noZebra UPDATE in Biblio.pm
You should remove C4::Search from merg_authority.pl