At client request, I added code for a rowtitle_display and coltitle_display. This
allows the script to substitute human-readable lables into the table instead of just
the literal hashkeys. For this client with dozens of numerical patron categorycodes
having a row titled "29" was not very useful.
I cleaned up the templates and a lot of the report code. It is of the same style as
the other copy/paste reports and still need further cleanup. Added sql and debug
feedback (default styled to hidden), as I have for other reports.
Owen Leonard [Mon, 21 Jul 2008 16:23:12 +0000 (11:23 -0500)]
Fix for Bug 2373 ("Tags missing from the left menu"). Also doing some cleanup and reformatting on review.tmpl. Fixing some capitalization--I hope that's not a translation problem.
Fix a bug where the 008 field got replaced if you
inadvertantly clicked in the field and it wasn't empty.
This patch prevents the field from being replaced unless
it's empty.
Koha supports modifying the output of your MARC records for public-facing
Z39.50 and SRU servers. You can set up custom mappings to convert fields such
as 952 (Koha items) to 852 (MARC21 location fields). For example here would
be a popular mapping:
Name: Koha Field Mapping in MARC21
---------------------------
Location: 952 $b => 852 $b
Barcode: 952 $p => 852 $p
Price: 952 $v => 852 $r
Item type: 952 $y => 852 $w
Notes: 952 $z => 852 $z
This would make the output from the SRU server suitable for a
resource sharing network that used the above convention for location
information. To add this configuration to your Zebra, add the following
block of code in the koha-conf.xml in the <retrievalinfo> area:
The retrieval set name (in this case, marc21location) is arbitrary and
should be set as required by your resource sharing network, so long as it won't
conflict with internal usage within Koha itself. It's the retrieval set name
that is used to trigger the server to respond and parse the record through the
stylesheet and apply the mappings.
This patch resolves a few MARC21 Framework issues for
a default installation:
1. Re-names several of the item fields to make more sense to catalogers and patrons
2. Remove links Non-public note from items.paidfor
3. Changes Non-public note to be hidden in the OPAC view
Fixes issues with the 'hidden' field in the framework, specifically:
1. the editor obeys the rules of possible values for hidden (>4, or <-4)
2. the OPAC MARC display obeys the rules of positive values meaning 'hidden in OPAC'
3. the staff MARC display now obeys the rules specified in the hidden values description
Added error catching for bad user input on number of days. I.E., if you
try to filter by "bAd", you now get an error message prompting for valid
digits. Also I updated highlighting to use loop_context_vars.
Fixed filtering to work on either days, vendor or both. Previously, if
you selected a number of days, you had to select a vendor or else got
empty results. DOCUMENTATION NOTE: this supplies the expected behavior,
so specifying vendor is no longer required.
fix for bug 2359: Returning an item from moremember.pl...
Adds a 'forgive fines' checkbox to moremember.pl that defaults to off, and removes the hardcoded $exemptfine = 1 argument to AddReturn in reserves/renewscript.pl. Also, cleans up a little inline CSS.
fix for bug 2221: Problems with Guarantor Fields...
This patch corrects this problem, by, when a patron record is linked as a guarantor, showing that and not allowing the name to be edited. It still allows manual entry of a guarantor. It also untabifies a few places in the affected files and fixes some inconsistent names.
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.
Andrew Moore [Tue, 15 Jul 2008 12:54:26 +0000 (07:54 -0500)]
bug 2274: adding libmime-lite-perl (MIME::Lite) to list of required debian packages
MIME::Lite is now a required perl module. The libmime-lite-perl debian package provides it.
Thanks to Zeno Tajoli for pointing out the omission.
http://markmail.org/message/np3m2zkafr2togez
misc/maintenance/fix_accountlines_date.pl runs through the accountlines table and converts every date in the 'description' column from us or metric format (specified on the command line) to the format in the 'dateformat' syspref.
Fix for bug 2342: Searching on more than 1 itemtype breaks
The problem was that the 'mc-' was removed from the checkboxes a while back and
that's what triggers the automatic application of OR boolean searching. I've
added it back to the templates and modified the ccl.properties file to include
mapping for itype,itemtype and ccode
The debugging feedback (default style: hidden) is necessary to
investigate client reports where even after "backfill_statistics"
this report still fails to return results.
Owen Leonard [Thu, 10 Jul 2008 18:29:43 +0000 (13:29 -0500)]
Adding javascript to deselect appropriate input fields when 'next available copy' is checked or unchecked. Changing checkboxes to radio buttons to prevent multiple selections. Note: with javascript off, an item-level hold will be placed for the selected item even if the 'next available copy' box is checked.
Andrew Moore [Thu, 10 Jul 2008 16:34:38 +0000 (11:34 -0500)]
bug 2329: removing unused RSS transport type - DB version 098.
I didn't implement a way for patrons to get their advance notices and other
messages through RSS, so I'm removing it from the list of available transport types.
This will cause the "RSS" column in the patron messasging pages to be
unavailable. When we implement RSS, we can add it back in and the checkboxes will return.
Andrew Moore [Thu, 10 Jul 2008 14:32:56 +0000 (09:32 -0500)]
bug 2284: ModMember can erase the dateofbirth field
patch to C4::Members::ModMember to prevent it from deleting the dateofbirth field when none is supplied.
I also added a KohaTest::random_date method to help generate randomish dates for the test suite.
Added some tests for Member::ModMember. This is an easy method to test, and this bug shows that it
could use some closer examiniation.
Andrew Moore [Thu, 10 Jul 2008 14:12:38 +0000 (09:12 -0500)]
bug 1980 [3/3]: remove bug workaround from pagination links
yesterday, the C4::Output::pagination_bar had a bug in it that I was crudely working around.
atz fixed that bug this morning. This patch removes the workaround. Thanks, atz!
I'm sending along atz's patch again with my signoff. It needs to be applied before this, as does the
other 1980 patch. I have sent that along (again), too, with a modified subject line. That makes a total of 3 patches for 1980.
Andrew Moore [Thu, 10 Jul 2008 13:45:27 +0000 (08:45 -0500)]
bug 2329 [1/1]: remove RSS from list of transport options for patron messaging
I didn't implement a way for patrons to get their advance notices and other messages
through RSS, so I'm removing it from the list of available transport types.
This will cause the "RSS" column in the patron messasging pages to be unavailable.
When we implement RSS, we can add it back in and the checkboxes will return.
Joe Atzberger [Thu, 10 Jul 2008 13:31:16 +0000 (08:31 -0500)]
Bugfix pagination_bar to work with only one param/value pair.
A valid test of this patch is this command:
perl -MC4::Output -e 'print pagination_bar("my/script?query=foobar",5,2,"page"),"\n";'
The output before patch begins:
<a href="my/script?query=foobar?page=1" rel="start"><<</a>
and AFTER patch:
<a href="my/script?query=foobar&page=1" rel="start"><<</a>
Andrew Moore [Thu, 10 Jul 2008 13:06:48 +0000 (08:06 -0500)]
bug 2274: correcting call to new interface of overdue_notices.pl
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.
Joe Atzberger [Wed, 9 Jul 2008 23:36:40 +0000 (18:36 -0500)]
Total overhaul of broken "Items with no checkouts" report.
Previous implementation was a crude copy/paste from a larger report.
CSV output was and is not functional (disabled in interface accordingly).
Output now includes and is sorted by itemcallnumber, because the purpose
of this report is to isolate uncirculating items to cull from the shelves.
Output also includes a summary at the top, with links to individual tables
below when broken out by a grouping. Also included in the feedback but
default styled to display="none" are the actual SQL queries. This is
incredibly useful for debugging and should probably be done in all reports.
Yet TODO: allow date range for checkouts and instead of
"no checkouts" (=0) allow the query to filter based on =x, >x, <x, etc.
Andrew Moore [Wed, 9 Jul 2008 20:52:24 +0000 (15:52 -0500)]
bug 1980: updateing calls to SimpleSearch to limit number of things returned
C4::Search::SimpleSearch was alredy patched to let you pass in the number of results you want back.
These instances were not using the new API. This patch makes all calls to SimpleSearch specify a limit.
I improved the documentation of SimpleSearch a bit to include the third returned value.
I believe there's a bug in C4::Output::pagination_bar, in that it doesn't deal well with URLs
with only one pair of parameter=value passed to it. I'm getting around this by passing in a second
pair that does nothing.
Andrew Moore [Wed, 9 Jul 2008 16:56:41 +0000 (11:56 -0500)]
Bug 2274 [3/5]: consolidating overdue notice cronjobs into one
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
Andrew Moore [Wed, 9 Jul 2008 16:56:40 +0000 (11:56 -0500)]
Bug 2274 [2/5]: adding MIME::Lite to list of required modules
formerly, the overdues cronjobs were crafting their own MIME message attachments (poorly). This
patch adds a dependency on MIME::Lite, the de facto standard perl module for forming usable
emails with MIME attachments. MIME::Lite is pure perl and well supported on numerous platforms:
http://testers.cpan.org/show/MIME-Lite.html
Andrew Moore [Wed, 9 Jul 2008 16:56:39 +0000 (11:56 -0500)]
bug 2274 [1/5] database changes (DB rev 097) to add email address to message_queue table
I added three fields to the message_queue table:
- to_address
- from_address
- content_type: necessary to hold email header for attachments
I changed one field in message_queue:
- borrowernumber can now be NULL for messages sent to the admin
These can be used to override the default addresses used. By default, emails are sent to
the borrowers.email address and sent from the KohaAdminEmailAddress syspref address. These
values are still used if the to_address or from_address values are NULL. These changes
are necessary to let overdue_notices.pl be backwards compatible.
fix for 2316: editing MARC subfield structure limits on subfield codes
This is one place that TMPL EXPRs actually made sense, against my better
judgement. It's already used in this template, so if someone wants to clean
it up, feel free.