Joe Atzberger [Thu, 14 May 2009 20:28:40 +0000 (15:28 -0500)]
@renew_failed can cause enormous performance-killing array.
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.
This adds two new C4 modules, C4::Service and ::Output::JSONStream, and
makes important modifications to C4::Output. The first two are a basic
framework for JSON-based AJAX services and a simple JSON output wrapper,
respectively. C4::Output has been slightly refactored, with a new
function, output_with_http_headers, that supports different
content-types. output_html_with_http_headers still exists, and the three
pages affected by this change have been refactored to support it.
Galen Charlton [Thu, 14 May 2009 00:37:17 +0000 (19:37 -0500)]
bug 3223: add 500 and 590 to MARC21 bib Note index (Zebra)
Note: to completely apply this change, ensure that the working
copy of record.abs is updated and rebuild the bib indexes
using rebuild_zebra.pl -b -x -r
Garry Collum [Tue, 12 May 2009 20:53:15 +0000 (16:53 -0400)]
Bug 1440: Show a list of holidays. Second patch.
Fixed XHTML error that was introduced in the first patch. Added zebra striping to the tables. Removed an erroneous line with a date experiment that had no affect on the dates.
Garry Collum [Tue, 12 May 2009 02:51:07 +0000 (22:51 -0400)]
Bug 1440: Show a list of holidays
This patch adds displays for holidays. A table for each type of holiday. It could be improved by adding a link for a holiday listed in one of the tables to the edit panel. The date formats could also be changed.
Chris Catalfo [Tue, 12 May 2009 00:35:13 +0000 (00:35 +0000)]
Bug 1907 partial fix: prevent warnings on undefined params.
This patch adds default blank values for a couple of params the script might receive which were producing warns in the error log. Also wraps GetMarcBiblio in an eval.
Joe Atzberger [Mon, 11 May 2009 21:44:29 +0000 (16:44 -0500)]
Script to check for corruption of marcxml, and optionally to attempt fix.
When marcxml cannot be parsed into a MARC::Record object, the biblio is
undisplayable and it obviously breaks many features in Koha. This script
can test to parse every marcxml, and alert on failures. Optionally, the
marcxml can be replaced from the marc field.
(bug #1578) Add the (quasi)full COinS(Zotero) support
this patch do a lot of things :
* Add the function GetCOinSBiblio in C4::Biblio, return the COinS value that must be put in a span title
This will be usefull for OpenURL support.
* Replace the span in opac-detail, and put the var get from GetCOinSBiblio
* Fix an <img> tag that wasn't autoclosed
* Add the COinS in search result
* Full COinS support of UNIMARC, the MARC21 support should be improved to provide all kind of document types
Joe Atzberger [Fri, 23 Jan 2009 22:22:40 +0000 (16:22 -0600)]
Prevent fines failure on NULL borrowernumber.
The problem is that we do not ensure that the issues table has valid
borrowernumber in each line. This is exacerbated by Getoverdues()
returning data sorted BY borrowernumber. So one NULL borrowernumber
in issues prevented ALL fines from being assessed. The actual error
from fines.pl cron log is:
No branchcode argument to new. Should be C4::Calendar->new(branchcode => $branchcode)
at /home/user/kohaclone/misc/cronjobs/fines.pl line 98
This patch deals only with getting fines to avoid crashing. It does
not fix the underlying data integrity problem.
Galen Charlton [Mon, 11 May 2009 21:22:04 +0000 (16:22 -0500)]
excised hard-coded reference to HLT
Note to Chris Cormack: I suspect the current ability
to override most circulation conditions is sufficient,
but if HLT still needs to establish a patron category
that can ignore issuingimpossible limitations, needs
to be done in a more flexible way.
Galen Charlton [Mon, 11 May 2009 20:25:14 +0000 (15:25 -0500)]
bug 2770: add RenewalPeriodBase syspref for 3.2 (DB rev 032)
Reconciliation patch to add the RenewalPeriodBase system
preference, which per code by Nahuel Angelinetti changes
the process of calculating the due date after a renewal:
If RenewalPeriodBase is set to 'now', the due date is
set to the current date + the loan period. This is the
current behavior.
If RenewalPeriodBase is set to 'date_due', the due date
is set to the due date before the renewal + the loan period.
Unless like the corresonding database update in the 3.0.x branch
(3.00.01.007), the default value of RenewalPeriodBase is set to
'now' so as not to unexpectedly change the calculation.
change the date calc, to set the date_due to date_due+loanlength.
At the moment when you renew a document the date_due calculated is now+loanlength, but it's a bad thing, It should be
date_due+loanlength.
This patch do change Circulation.pm to use the date_due as renew base and add the loanlength to get the new date_due after
renewal.
Paul Poulain [Sat, 18 Apr 2009 20:51:41 +0000 (22:51 +0200)]
fix for #988
When a borrower can't issue any book (issuingrules=0), the message should be
"this user can't issue book" and not "too many books already issued"wrong message
Add a date field in news edition, and permit to set the "timestamp" field, that is the publication date and modify the GetNewsToDisplay to return only news that timestamp is < to current date that permit to publish news later without any action.
Michael Hafen [Wed, 6 May 2009 22:15:08 +0000 (16:15 -0600)]
bugfix stickyduedate more sticky - couple more forms in circulation.tmpl
There are a couple more forms in circulation.tmpl that need the
stickyduedate and duedatespec hidden inputs. The 'Don't Check Out' form
of the needsconfirmation block, and the findborrower form.
Galen Charlton [Fri, 8 May 2009 20:10:15 +0000 (15:10 -0500)]
bug 3212: MARC21 bib leader plugin sets Leader/09 to 'a'
Changed the plugin so that the form for editing the MARC21
leader now sets postion 9 (character coding) to 'a' (UCS/Unicode)
and no longer gives the cataloger the option to change it. Koha
uses UTF-8 exclusively for MARC records, and a number of bugs
can be triggered by storing MARC21 bib and authority record
whose Leader/09 is anything other than 'a'. Since internal
routines are increasingly ensuring that the MARC21 Leader/09 is
set to 'a', it doesn't make sense to give catalogers the idea
that it's possible (or a good idea) to set the Leader/09 to any
other value.
Note that as a result of this patch, not only will the
page use valid XHTML, but the intranet stylesheets are
now used, IMO improving the display of the form.
This patch also fixes the descriptions of the Leader/09
and Leader/17.
Galen Charlton [Fri, 8 May 2009 20:10:13 +0000 (15:10 -0500)]
bug 3209: add 'p' (mixed materials) to MARC21 Leader/06 dropdown
Also made the following updates to the MARC21 leader plugin
[1] Changed description of Leader/08 to 'Type of control'
[2] Fixed typo in description value for 'z' in Leader/17
[3] Updated Leader/19, which is now 'Multipart resource record level'
Galen Charlton [Fri, 8 May 2009 22:31:14 +0000 (17:31 -0500)]
bug 3120: tweak splitting of Dewey call number
If a call number prefix contains a hyphen, try not to
split on the hyphen. For example, rather than
splitting the call number 'CD-ROM 787.87 EAS'
like this:
Frédéric Demians [Mon, 11 May 2009 11:41:50 +0000 (13:41 +0200)]
Bug 3213 - Add UNIMARC XSLT stylesheet
With those stylesheets result and detail pages
render better UNIMARC biblio record than normal
views. But works still have to be done in order
to reach UNIMARC-ISBD compliant display.
Owen Leonard [Thu, 30 Apr 2009 16:36:19 +0000 (11:36 -0500)]
More fixes for Bug 2704, 440 Display Issues
Multiple series now display along with other detailed bibliographic information. Series title is displayed along with volume information. The template no longer displays information from biblioitems like volume and volumedesc in favor of information pulled directly from the MARC record.
Galen Charlton [Fri, 8 May 2009 16:54:29 +0000 (11:54 -0500)]
bug 3205: fix another error in the OAI-PMH Identify response
The optional description element of an Identify response
can't just be a string. Identify.description is a container
for one or more elements; see http://www.openarchives.org/OAI/2.0/guidelines.htm
Jane Wagner [Thu, 30 Apr 2009 14:58:39 +0000 (10:58 -0400)]
Bug 3173 Place Hold link visible in OPAC even if syspref turned off
If the syspref RequestOnOpac is turned off, the link to place a hold does not
show in the detail page. However, the link is still present in the results
list as well as in the basket and in lists. Modified templates to check
for the syspref and to obey it.
NOTE: This does not turn off the display of the Holds tab in the OPAC
user account. I think there are situations where library staff may be
allowed to place holds but users are not allowed to do so through the
OPAC. Leaving the Holds tab visible shows users what they have on hold,
but does not allow them to place holds. It does allow users to cancel
holds. If there is a need to hide this tab, that would probably be
best accomplished by a separate syspref.
Galen Charlton [Fri, 8 May 2009 13:44:03 +0000 (08:44 -0500)]
bug 2287: handle case where autoMemberNum is off
When importing a patron file where new records
do not have a card number *and* autoMemberNum is
off, make sure that bororwers.cardnumber is set to NULL
for those new patrons rather than '' - otherwise, only
one patron with an empty barcode can be created, as there is
a uniqueness constraint on borrowers.cardnumber
This patch fix the funciton SetMarcUnicodeFlag for UNIMARC support, now the function will fix the length of the field, and set encoding as "50 " instead of "5050".
Avoid reading marc_tag_structure for each biblo record to
transform by XSLT. Not totaly useless on OPAC result page.
Should be done via application variables rather than
request variable, but this is another story.
Garry Collum [Sun, 3 May 2009 04:23:14 +0000 (00:23 -0400)]
Bug 3081 - The category code in the patron personal details page in opac showed the category code and not the description. This patch makes the description appear instead. Looking at both opac-userupdate.pl and opac-userupdate.tmpl, the actual value of this text box is not retrieved for any purpose.
David Birmingham [Thu, 30 Apr 2009 16:54:48 +0000 (12:54 -0400)]
Bug fix to OPAC shelf browsing query statement
If the items.location field was NULL, then the current
SQL query would produce no results. I have turned this
into a conditional block that removes the location condition
in the query if the location is not specified.
In addition, there was a small change to opac-detail.tmpl
that changed Library to Shelves when the shelf browser was
open. This removes a potential redundant Library Library
display if Library is contained in the starting_homebranch.
Garry Collum [Fri, 1 May 2009 01:54:31 +0000 (21:54 -0400)]
Bug #2974 Adding category code to BorrowerMandatoryField produced a "The following fields are mandatory: categorycode"
If you made a column that is implemented by a select box mandatory in
BorrowerMandatoryField, Members.js would throw an error on the first
element. The original intent of the function was probably to catch
the first option for a drop-down list such as "Salutation" where the
text is blank. Added code to check for an empty string in the first
element.
You can test this by making salutation (title) mandatory.
Also fixed some typos in some of the comments. Why? Because I'm a Librarian.
(bug #3174) fill borrower number, and show author and creation date in saved reports
This patch add 2 columns in "Use Saved" page whith creation date, and the creator id.
It fix the creation of a report, to save the borrowernumber in reports table(to show it after).
new author test for syntax errors in HTML templates
Added a new author test to look for syntax errors
in the HTML templates. Run by doing
prove xt/author/valid-templates.t
from the root of a Koha source tree.
This test will help catch the following errors:
* unbalanced TMPL_IF, TMPL_UNLESS, and TMPL_LOOP contructs, e.g.,
cases where a TMPL_IF is not closed by a /TMPL_IF.
* references to nonexistant include files
* syntax errors within a HTML::Template::Pro tag
This test currently ignores errors related to TMPL_IF EXPR, which
is currently deprecated for use in Koha -- this may be made
stricter in the future.
Jane Wagner [Wed, 29 Apr 2009 18:14:56 +0000 (14:14 -0400)]
Enhancements/fixes for OPAC advanced search screen
Fixed opac-search.pl for correct test of expanded options and
to pass variable for MARC21 to advanced search screen.
Added Publication Date Range search to advanced search screen
Removed obsolete item type code section from advanced search screen
(wasn't displaying anyway because expanded options wasn't working,
superceded by site-specific item type searches).
Changed wording on Additional Content Types pulldown to make clear
it's limited to Books/Printed Materials -- this is basing off the
008 positions 24-27, but the options (and those positions) are only
valid for Book material types. Other material types have different
008 settings in those positions.
Syndetics: add support for AVSUMMARY and AVPROFILE
Added support for the Syndetics AV summary and AV profile
data elements. The AV summary is displayed in the description
tab if present, while the AV profile is displayed as
a link off of the OPAC bib details page.
Syndetics: start switch to XML::LibXML to parse results
XML::Simple doesn't handle mixed content, which is a
problem because reviews provided by Syndetics sometimes
contain HTML tags. Furthermore, it's often easier to write
XPath to extract bits of an XML document than trying
to play with XML::Simple's options.