Joe Atzberger [Mon, 19 May 2008 21:23:35 +0000 (16:23 -0500)]
Add AJAX output sub, EXPORT_TAGS and enable loop_context_vars for HTML::Template::Pro.
The loop_context_vars will be very useful in display. They are:
__first__, __last__, __inner__, __odd__, __counter__.
Note: apparently __even__ does not exist, so instead use something like:
<!-- TMPL_UNLESS NAME="__odd__" -->
Frederic Demians [Tue, 20 May 2008 20:06:58 +0000 (22:06 +0200)]
Facets (current) translatable via template
This patch allows to translate facets label with standart
templates / PO files. Facets are still hard coded in Koha.pm.
Template wait those hard coded facets: Topics, Places, Titles,
Autors and Libraries.
Owen Leonard [Thu, 22 May 2008 14:49:40 +0000 (09:49 -0500)]
Terminology correction: cancelled -> withdrawn. Also adding dateformat variable to new holds queue script to allow correct table sorting with metric dates.
Galen Charlton [Tue, 20 May 2008 16:09:16 +0000 (11:09 -0500)]
various bugfixes for MARC21 Z39.50 targets
[1] Added MARC-8 as an encoding choice on the target
administration page.
[2] Fixed TMPL coding errors.
[3] Set the correct encoding (as it happens, 'MARC-8')
for all of the English sample Z39.50 targets.
Documentation note: due to this patch and the ones from
Frederic, screenshots of the page for editing a Z39.50
target should be redone.
[1] Increase sleep interval between checks of zebraqueue
from 0.01 seconds to 0.50.
[2] Batch up commits of changes to the zebraqueue table
[3] If the same record appears multiple times in the queue,
handle only once.
[4] Properly postpone failures to process record deletes to
avoid spinning.
[5] Correct how queue entries are marked done - avoid skipping
an authority record update, e.g., if it has the same
ID number as a bib that was updated.
[6] Added a FIXME about a possible later enhancement to
batch up updates so that Zebra isn't told to commit
after each record.
Owen Leonard [Tue, 20 May 2008 12:50:22 +0000 (07:50 -0500)]
Allowing delete-biblio menu item to trigger javascript warning. Style now mimicsa disabled menu item. Addresses Bug 2135, "Cannot Delete MARC Records."
Joshua Ferraro [Tue, 20 May 2008 17:36:40 +0000 (12:36 -0500)]
Final update to holds queue work: adds link to holds queue
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
Joshua Ferraro [Tue, 20 May 2008 15:58:24 +0000 (10:58 -0500)]
Adds a cron script to be run periodically that populates
the tmp_holdsqueue table. This is an alternative holds
targeting workflow that is more suitable for multi-location
libraries than the default holds picklist report.
Note to documentation writers: this summary should be
added to any holds documentation as an overview of
the avaialable methods for holds fulfillment.
This alternative holds workflow assumes an
expectation that the system should target a specific
item for a given hold request, attempt to fulfill the
hold with that item, and if unable to fulfill, select
an available item at another location to fulfill the
hold.
This is quite different than the default Koha behavior
which uses a 'broadcast' method of hold fulfillment.
How it works:
This script weights available locations for holds based
on options specified in two system preferences:
StaticHoldsQueueWeight
Allows the library to specify a list of library
location codes -- if used alone, it will rank the
list statically, selecting the top-ranking available
location to be added to the picklist.
RandomizeHoldsQueueWeight
If RandomizeHoldsQueueWeight and StaticHoldsQueueWeight
are set, the list of library codes in the
StaticHoldsQueueWeight syspref are randomized rather
than statically ranked. If RandomizeHoldsQueueWeight
alone is set, the list of all available library codes
is used to randomize the weight.
If neither syspref is set, the list is statically
ranked according to how they are pulled out of the system
database.
NOTE: This has not yet been tested with item-level holds
Joshua Ferraro [Tue, 20 May 2008 14:36:26 +0000 (09:36 -0500)]
DB Update .086: adding new table tmp_holdsqueue,
used for reporting picklist for holds in multi-location
libraries. This is a temporary workaround to a longer-term
post-3.0 cleanup of the holds process.
Following this will be a cron job for managing the
holds picklist queue as well as a report for viewing
the list of items from circulation
Galen Charlton [Mon, 19 May 2008 19:28:36 +0000 (14:28 -0500)]
kohabug 2141 - avoid carp on display of details of deleted bib
When displaying details of bib in staff interface, check
that bib actually exists and display 404 page if not. Avoids
following fatal error:
Can't call method "field" on an undefined value at /home/gmc/koha/dev/C4/Biblio.pm line 944.
This situtation can arise when running Zebra; if a bib is deleted,
Zebra will not necessarily be reindexed instantly, allowing a link
from a search result list to point to a missing record.
Joe Atzberger [Mon, 19 May 2008 20:36:37 +0000 (15:36 -0500)]
BUGFIX - pagination bar was not in template, so only the first 20 hits were
pagination bar was not in template, so only the first 20 hits were
visible. Probably it wasn't included because the script referenced a bogus base URL.
Also debugified warn statement in script. Note FIXME for bogus template reference.
We probably don't need that template or the related selector lines for it.
Galen Charlton [Mon, 19 May 2008 14:59:02 +0000 (09:59 -0500)]
test suite: allow skipping of expensive tests
Defined a function attribute for KohaTest and subclasses
called 'Expensive'. When a test method has that attribute,
it is skipped unless the RUN_EXPENSIVE_TESTS environment
variable is true.
To mark a test method, expensive, do this:
sub test_foo : Tests(4) Expensive { ... }
To mark a whole class and its subclasses expensive,
define a SKIP_CLASS sub (with empty body) with the
Expensive attribute:
sub SKIP_CLASS : Expensive { }
Updated the t/Makefile so that 'make test' runs
nonexpensive tests, while 'make fulltest' runs both
cheap and expensive tests.
Marked KohaTest::Installer test class expensive.
Signed-off-by: Andrew Moore <andrew.moore@liblime.com> Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Owen Leonard [Mon, 19 May 2008 14:34:16 +0000 (09:34 -0500)]
A couple of fixes: Logs tab was not highlighted when chosen; Serials checkexpiration.pl linked to biblio detail rather than subscription detail. Also adding 'edit' and 'renew' links to those results.
Koha Production [Sun, 18 May 2008 03:39:26 +0000 (23:39 -0400)]
Fix links for web resources to display a 'Click here to access online' when no label is specified (XSLT only). Note that on the results screen, the links now show up in place of the Availability: section
Frederic Demians [Sat, 17 May 2008 21:23:12 +0000 (23:23 +0200)]
Fix bug in /admin/z3950servers.pl
Third attempt to correct a bug affecting this page.
Combo lists wasn't reflecting DB content in modification.
To Joshua: You have to apply patch 2 first (patch 1 isn't required)
since I applied this quick fix without rolling back to original state!
Frederic Demians [Sat, 17 May 2008 10:55:24 +0000 (12:55 +0200)]
Fix a bug in /admin/z3950servers.pl page
On /admin/z3950servers.pl page, modifying a z3950 host wasn't working
properly. Selected values in Syntax and Encoding combo boxes were hard
coded rather than selected based on record values.
Problem with ModMember : parameters were not passed safely
memberentrygen.tmpl deleted guarantorid for a children if step2 or step3 used fore edition.
Changeing TMPL_IF EXPR into TMPL_IF Name
Owen Leonard [Thu, 15 May 2008 19:40:26 +0000 (14:40 -0500)]
Altering CSS to make holding table on opac MARC view more compact. Adding "new" link to opac suggestions screen for display when there are no suggestions (Bug 2110 Can't place suggestion from my suggestions tab in OPAC)
Galen Charlton [Wed, 14 May 2008 22:09:43 +0000 (17:09 -0500)]
bugfix - fix 'not' operator in NoZebra
Corrected bug that prevented the 'not' operator
from working consistently - i.e., a search of
'mice not men' would not always work.
Also added test cases for NoZebra, so far focusing on
NZanalyse and adding and deleting bibs. A couple of
the test cases are currently known to fail and
therefore are marked TODO. The tests in question
are to verify that rows in nozebra are removed if
no bib is linked to the relevant word. However, it
looks like such rows are retained, just with
nozebra.biblionubmers set to ''. Is there any
reason to keep these rows?
Galen Charlton [Wed, 14 May 2008 22:09:42 +0000 (17:09 -0500)]
kohabug 2020 - fix infinite loop in NoZebra on Perl 5.10
When running Koha in NoZebra mode under Perl 5.10, a search
containing a operator (e.g., "mice and men") could cause
a bib search to enter into an infinite loop in NZanalyse.
This possibility arises from the fact that NZanalyse used
to use capture variables from regular expressions without
verifying whether the regular expressions actually matched.
It was compounded by the fact that NZanalyse is recursive;
however, because $1, $2, etc. are dynamically scoped,
*they are not automatically cleared when NZanalyse calls
itself*.
Consequently, if the search string contains a boolean
operator, it would be split into
left = mice
operator = and
right = men
Then NZanalyse would be called recursively on the search
string 'mice'. However, because $1, $2, and $3 are not
automatically cleared when the function is called again,
and because they are not cleared if a match fails, the code
would fail to recognize that 'mice' is leaf, and would
call NZanalyse('mice') repeatedly, to the promotion of
warm server rooms.
The wrinkle in this is that because of a bug in Perl 5.8, a
failing matches can sometimes alter the capture variables, thus
avoiding the infinite recursion. However, this bug was fixed in
Perl 5.10, leading to the NZanalyse bug becoming evident.
The Perl bug is described at http://rt.perl.org/rt3/Public/Bug/Display.html?id=19049
and the fix http://public.activestate.com/cgi-bin/perlbrowse/p/29279.
The fix to the Koha code is to check whether each regexp
that uses capture variables matches or fails, then act
accordingly.
Galen Charlton [Wed, 14 May 2008 22:09:41 +0000 (17:09 -0500)]
kohabug 2100 - allow deletion of non-default MARC framework
An earlier attempt to prevent deletion of default framework
by passing a suitably constructured URL actually had
the opposite effect - the default framework could be deleted,
but ia hon-default one could not.
Andrew Moore [Tue, 13 May 2008 17:00:55 +0000 (12:00 -0500)]
Bug 1953: removing potential SQL injections from C4::Calendar::_init
This patch changes the 4 select statements in C4::Calendar::_init.
tests for this method were included in a previous patch.
There are more potential problems in C4::Calendar::delete_holiday, but that
method seems to have deeper bugs than just these. I'll open another bug for
them if I can figure out how it's supposed to work.
Andrew Moore [Tue, 13 May 2008 17:00:54 +0000 (12:00 -0500)]
Bug 1953: adding tests and 2 corrections for C4::Calendar
In the course of writing tests for C4::Calendar, I found two bugs and am fixing them here.
One is a documentation bug.
The other prevented C4::Calendar::insert_exception_holiday from working. I was unable
to find anywhere else in the code that depended on the broken behaviour.
Galen Charlton [Tue, 13 May 2008 21:40:15 +0000 (16:40 -0500)]
kohabug 2105: prevent crash on IE7
Three scripts were incorrect setting the HTTP type
header to 'utf-8' instead of something appropriate
like 'text/html' - Firefox evidentally can ignore that
mistake, but IE7 does not.
Fixed by replacing an invalid print of the HTTP header
and template output with a call to
C4::Output::output_html_with_http_headers.
Also corrected POD in C4::Auth and InstallAuth to
reflect correct use of output_html_with_http_headers.
Galen Charlton [Tue, 13 May 2008 17:32:06 +0000 (12:32 -0500)]
kohabug 1621 - add subtitle to main results and details pages
Including the subtitle in search results and OPAC and staff
details templates. The subtitle is expected to be in the
MARC subfield that is mapped to the (now nonexistant) column
bibliosubtitle.subtitle.
This is a fairly hackish patch that is meant to be minimally
disruptive while allowing subtitles to be displayed for those
not using the experimental XSLT bib display feature. It
does *not* cover all cases where you have a MARC
record and want to display its subtitle.
UNIMARC notes: at the moment, none of the fr-FR UNIMARC
frameworks appear to be map any subfields to bibliosubtitle.subtitle.
This could be changed, but caveat programmer: the UNIMARC 200$e
is repeatable (meaning that get_koha_field_from_marc will put in ' | '
between multiple subtitles) and one may want to also include the
200$d (parallel title). A GetMarcSubtitle routine may be in order
if absolutely necessary.
This points to a long-term need to make display of MARC (and later, hopefully,
non-MARC) bib records more flexible - the XSLT feature is one approach;
there may be others.
Galen Charlton [Tue, 13 May 2008 15:56:49 +0000 (10:56 -0500)]
patron cleaning - do not delete staff borrowers
Adjusted C4::Members::GetBorrowersWhoHaveNotBorrowedSince so
that staff member records are not selected for deletion.
This functionality change is motivated by the consideration
that a staff member who is authorized to operate Koha is
not necessarily a prolific user of the library's services.
If a batch purge job for inactive staff records is really need,
it should be a separate tool.
Galen Charlton [Tue, 13 May 2008 15:56:48 +0000 (10:56 -0500)]
kohabug 1573 - properly count patrons to delete
When both the patron delete and patron anonymize checkboxes
were selected, the patron cleaning tool would not
properly register the number of patrons to delete. Fixed
by correcting form input handling.
Also, count of patrons to delete or anonymous now correct
when running with IndependentBranches = ON.
Owen Leonard [Tue, 13 May 2008 12:41:31 +0000 (07:41 -0500)]
Swapping tablesorter version. GZipped version may have been responsible for errors in Internet Explorer. Change to usermenu.inc is whitespace only, for proper display in IE.
Galen Charlton [Mon, 12 May 2008 21:59:35 +0000 (16:59 -0500)]
kohabug 2017: ensure MARC21 $9 are in correct bib editor tab
Update MARC21 bib framework to ensure that subfield $9 in 110,
110, 111, 130, 240, 243, 440, 410, 411, and 440 remain
in same bib editing tab as rest of subfields in those fields.
This helps ensure that authority-controlled fields are not
mangled when editing a bib record.
Change also fixes editing tab for subfields in the 037, 584, and
760.
Galen Charlton [Mon, 12 May 2008 21:59:31 +0000 (16:59 -0500)]
MARC21 frameworks: keep a tag's subfields in the same tab
Changed default mandatory and optional MARC21 frameworks
to ensure that all the subfields of 037, 100, 110, 111, 130,
240, 243, 400, 410, 411, 440, 584, and 760 are all either
ignored (tab = -1) or assigned to the same editing tab.
Most of these changes involve the subfield $9 in authority-controlled
fields, which for the affected 1xx, 2xx, and 4xx fields was assigned
to tab 6, not 1, 2, or 4. Because of this, any such field with a
$9 was effectively split, leading to record corruption.
Galen Charlton [Mon, 12 May 2008 21:59:29 +0000 (16:59 -0500)]
MARC framework test - tests all frameworks
Changed some of the tests so that all frameworks
are tested, not just the first row.
This patch has turned up a reported error in the
unimarc_lecture_pub - items.homebranch
and items.holdinbranch for the WEB framework are
in tab -1 (i.e., ignored), but the check is expecting
them in tab 10. Not sure if this is a real error or not:
perhaps no items should be created for bibs in that framework;
on the other hand, it is still possible to do so, in which
case the branches need to be set.