14 years agoAdding an automated test for POD correctness.
Andrew Moore [Fri, 20 Jun 2008 18:02:03 +0000 (13:02 -0500)]
Adding an automated test for POD correctness.

This test script checks all perl files in the C4 directory for POD correctness. It is
completely optional, and as of yet, is not actually run when you run the test suite.
It's just a handy way to check our POD documentation, which should be correct before
we release code.

This script can be invoked with 'prove -v xt/author/podcorrectness.t'

Additionally, this is the first test in the 'xt' directory. Current perl testing practices
have reserved the 'xt' directory for tests that should be run by the code authors before
release. See:
for more information.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBug 2176 (5/5): adding staff interface to patron messaging preferences
Andrew Moore [Fri, 20 Jun 2008 18:02:02 +0000 (13:02 -0500)]
Bug 2176 (5/5): adding staff interface to patron messaging preferences

I added another tab to the "patron" area of the staff interface to let staff
edit patron messaging preferences.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBug 2176 (4/5): adding RSS feed for patron overdue alerts
Andrew Moore [Fri, 20 Jun 2008 18:02:01 +0000 (13:02 -0500)]
Bug 2176 (4/5): adding RSS feed for patron overdue alerts

opac-mymessages.pl and opac-mymessages.tmpl generate an RSS feed of a patron's messages from the message_queue.

Some more methods in C4::Letters to let us pluck out the right entries in the queue.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBug 2176 (3/5): adding methods to manage message_queue, new advance_notices.pl, new...
Andrew Moore [Fri, 20 Jun 2008 18:02:00 +0000 (13:02 -0500)]
Bug 2176 (3/5): adding methods to manage message_queue, new advance_notices.pl, new C4::SMS module

I've added methods to to C4::Letters to manage the database table
message_queue. This will let us keep track of messages sent
via email, sms, and rss to patrons. That way, we can show the history,
deal with failures, and reconstruct an RSS feed when needed.

misc/cronjobs/overduenotics.pl has been added. It prepares advance notices
and item due notices and stages messages to be sent in the message_queue

C4::Overdues::Getoverdues now takes two optional arguments to tell it how
old of overdues to fetch.

Also, a C4::Circualtion::getUpcomingDueIssues method was added that
advance_notices.pl uses.

misc/cronjobs/process_message_queue.pl has been added. It sends the email
or SMS messages out of the message queue.

The C4::SMS module didn't work at all, and it has been rebuilt to use
an external perl module from CPAN, SMS::Send.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBug 2176 (2/5): adding patron interface to update messaging preferences
Andrew Moore [Fri, 20 Jun 2008 18:01:59 +0000 (13:01 -0500)]
Bug 2176 (2/5): adding patron interface to update messaging preferences

This patch allows patrons to update their messaging preferences. This
includes methods in C4::Members to manage patron messaging preferences.

added cgi script to allow patron to edit their messaging preferences

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agorefactor C4::Auth::get_template_and_user for readability
Andrew Moore [Fri, 20 Jun 2008 18:01:58 +0000 (13:01 -0500)]
refactor C4::Auth::get_template_and_user for readability

I'd like to add another template parameter to geta_template_and user, but found it diffiult due to unreadability.

I stanadardized the whitespace in a portion of get_template_and_user,
alphabetized the parameters, finding a duplicate in one spot,
and then extracted the common template parameters that are set the same
regardless of template type.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBug 2176 (1/5): database update: adding message_queue table and tables to hold patron...
Andrew Moore [Fri, 20 Jun 2008 15:58:31 +0000 (10:58 -0500)]
Bug 2176 (1/5): database update: adding message_queue table and tables to hold patron messaging preferences

Updates to kohastructure.sql and updatedatabase.pl:
- add new message_queue table
- add message_transport_types table
- add message_attributes table
- add message_transports table
- add borrower_message_preferences table
- add borrower_message_transport_preferences table
- adding EnhancedMessagingPreferenes to sysprefs SQL.

Added column to borrowers table to hold SMS Alert Number.
Added some more sample notices (letters) that will be sent for patron alerts
added some sample SQL to configure messaging.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agokohabug 2238 This patch allows patrons to add books to public open/free lists whether...
Chris Nighswonger [Fri, 20 Jun 2008 05:36:10 +0000 (00:36 -0500)]
kohabug 2238 This patch allows patrons to add books to public open/free lists whether they are logged in or not.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agokohabug 1873 Fixes shelves.pl so that the date is displayed in the 'date added' colum...
Chris Nighswonger [Fri, 20 Jun 2008 02:08:16 +0000 (21:08 -0500)]
kohabug 1873 Fixes shelves.pl so that the date is displayed in the 'date added' column of the virtual shelf contents

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agokohabug 1875 Public lists/virtualshelves are displayed and viewable whether a patron...
Chris Nighswonger [Wed, 11 Jun 2008 12:10:02 +0000 (07:10 -0500)]
kohabug 1875 Public lists/virtualshelves are displayed and viewable whether a patron is logged in or not.

NOTE: This patch introduces code which generates an anonymous session when a patron first browses to OPAC.
This anonymous session contains a minimal amount of information including the results of a query to discover
all public lists/shevles. When the user logs in, the anonymous session is cleared and a new session created
for that user.

kohabug 1875 - fix error when editing a patron record

C4::Auth::checkauth was not distinguishing between a
'userid' input from an OPAC or staff login form and
a 'userid' input from (e.g.,) the patron editor.
Consequently, adding or editing a patron record would
result in Koha trying to log in as the new patron.

To resolve this, added a hidden input to all login
forms, 'koha_login_context', to explicitly signal
when a login is occurring.  The value of this input
can be 'opac', 'intranet', or 'sco' - the value is
not used at present, but may be of use later.

C4::Auth - added debug flag to two warns

kohabug 1875 - create anonymous sessions only for OPAC

No need to create an anonymous session for the intranet.

set yuipath correct for login pages

When preparing the template parameters for a login form,
C4::Auth was overriding the value of yuipath set
by C4::Output::gettemplate(), thus causing 404 errors
if the 'yuipath' syspref was set to 'local'.

kohabug 1875 - avoid warns viewing lists anonymously

During an anonymous OPAC session, the $loggedinuser variable
is not set.  As the undefined value causes warns in
C4::VirtualShelves::Page::shelfpage, for the purpose of the
shelfpage call the loggedinuser is set to -1, which should
not correspond to any real borrower number.

This is admittedly a hack to avoid digging through all
of C4::VirtualShelves to deal with lists viewed anonymously.

kohabug 1875 Refactoring of &ModShelf to avoid overwriting list owner needlessly

kohabug 1875 Avoid warning if can't find owner of shelf

Since virtualshelves.owner is not a true FK of borrowersnumber.number,
set ownername to '' if can't find the patron

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2265: fix problem when cloning MARC field
Galen Charlton [Fri, 20 Jun 2008 14:35:42 +0000 (09:35 -0500)]
bug 2265: fix problem when cloning MARC field

Correctly set indicators when cloning a field
in the MARC editor.  Prior this fix, a cloned
field would not be saved.  Bug introduced in
patch for bug 2207.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoDarrel's patch to fix sorting by size of order
Joshua Ferraro [Fri, 20 Jun 2008 14:14:17 +0000 (09:14 -0500)]
Darrel's patch to fix sorting by size of order

14 years agosorting authority list
paul [Fri, 20 Jun 2008 10:34:46 +0000 (12:34 +0200)]
sorting authority list

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agovarious fixes for acquisition histsearch
paul [Fri, 20 Jun 2008 10:34:45 +0000 (12:34 +0200)]
various fixes for acquisition histsearch

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agojust doing a <= / >= instead of a < / > in history search.
paul [Fri, 20 Jun 2008 10:34:43 +0000 (12:34 +0200)]
just doing a <= / >= instead of a < / > in history search.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - remove base64 functions from C4::Koha
Galen Charlton [Fri, 20 Jun 2008 13:11:23 +0000 (08:11 -0500)]
bug 2000 - remove base64 functions from C4::Koha

With the removal of admin/finesrules.pl and admin/issuingrules.pl,
the functions str_to_base64() and base64_to_str() in C4::Koha
are no longer used.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - remove admin/issuingrules.pl
Galen Charlton [Fri, 20 Jun 2008 13:11:22 +0000 (08:11 -0500)]
bug 2000 - remove admin/issuingrules.pl

Patch to remove issuingrules.pl in favor of
using smart-rules.pl to manage loan and fine
rules.  Several reasons for this:

* issuingrules.pl's matrix could grow rather large
  if the library has a large number of item types
  and patron categories
* successfully entering rules via issuingrules.pl
  requires placing commas within input fields
* a sparse circulation policy matrix takes the
  same amount of screen space as one that uses
  rules for a lot of specific patron category/item type
* having two administrative interfaces to the same
  policy settings could be confusing.
* UI design of smart-rules.pl better lends itself
  to adding more policy setting attributes to the
  rules matrix.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - removed finesrules.pl
Galen Charlton [Fri, 20 Jun 2008 13:11:21 +0000 (08:11 -0500)]
bug 2000 - removed finesrules.pl

Removed the separate admin/finesrules.pl script
to set the fines policy matrix: since admin/finesrules.pl
and admin/issuingrules.pl both touch issuingrules.pl, creating
a specific fine rule could silently override a default issuing
rule and prevent items from being checked out.

Circulation policy matrix settings for fines are now
handled in admin/smart-rules.pl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - changes to TooMany()
Galen Charlton [Fri, 20 Jun 2008 13:11:20 +0000 (08:11 -0500)]
bug 2000 - changes to TooMany()

The C4::Circulation::TooMany() function, which determines
if a patron is at the maximum loan limit, has been
changed to work as follows:

1. Checks the issuing rule that would apply to the
   prospective loan to see if a loan limit (maxissueqty)
   has been set.
2. Counts the number of loans that the patron has
   that would fall under that loan rule.

IMPORTANT: that means that if a specific loan rule
exists for the branch, patron category, and item type
in question, *only* that rule's maxissueqty will be
checked here - it will not go on to check whether
a less specific rule has a lower loan limit.

3. If adding one more loan would bring that count
   over the limit, returns a "too many" error.
4. If the loan hasn't exceeded a specific limit, checks
   whether a branch/patron category circ rule has
   specified a loan limit, regardless of item type.
   If the patron has already reached *that* limit, returns
   the "too many" error.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - add C4::Circulation::GetBranchBorrowerCircRule
Galen Charlton [Fri, 20 Jun 2008 13:11:19 +0000 (08:11 -0500)]
bug 2000 - add C4::Circulation::GetBranchBorrowerCircRule

This routine retrieves the branch/patron category circulation
rules for a given branch and patron category.  The return
value is a hashref containing the following key:

maxissueqty - maximum number of loans across all item types

This will first check for a specific branch and
category match from branch_borrower_circ_rules.

If no rule is found, it will then check default_branch_circ_rules
(same branch, default category).  If no rule is found,
it will then check default_borrower_circ_rules (default
branch, same category), then failing that, default_circ_rules
(default branch, default category).

If no rule has been found in the database, it will default to
the built in rule:

maxissueqty - undef

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000: addition changes to rules editor
Galen Charlton [Fri, 20 Jun 2008 13:11:18 +0000 (08:11 -0500)]
bug 2000: addition changes to rules editor

* Added ability to specify total loans allowed at a library
  for the default patron category.  If set, the default
  limit is applied if no rule for the specific library
  and patron category is set.
* Added ability to specify default total loans allowed
  for the default library; this is applied if no rule
  for the specify library is set.
* Form now indicates if the number of current checkouts
  allowed is unlimited.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - add total loan limit to alt. issuing rules
Galen Charlton [Fri, 20 Jun 2008 13:11:17 +0000 (08:11 -0500)]
bug 2000 - add total loan limit to alt. issuing rules

The alternate issuing rules editor can now allow
defining the maximum number of loans that a borrower
of a given category can take out per branch, regardless
of item type.

The form for entering this limit now appears below
the form for setting loan rules per patron category
and item type.  The form only appears if a specific
branch is chosen, not if the default branch is used.

Also, some terminology changes:

* "Amount Loanable" => "Current Checkouts Allowed"
* "Amount" => "Fine Amount"
* "Grace Period" => "Fine Grace Period"
* "Charging Interval" => "Fine Charging Interval"
* "Loan time" => "Loan Period"

Documentation change: new screenshots for the alternate
loan rules form.

squashme terminology

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - fix order of issuingrule lookup
Galen Charlton [Fri, 20 Jun 2008 13:11:16 +0000 (08:11 -0500)]
bug 2000 - fix order of issuingrule lookup

Extended help on the alternate circulation rules
form to list the order of issuingrules lookup as

same library, same patron type, same item type</li>
same library, same patron type, default item type</li>
same library, default patron type, same item type</li>
same library, default patron type, default item type</li>
default library, same patron type, same item type</li>
default library, same patron type, default item type</li>
default library, default patron type, same item type</li>
default library, default patron type, default item type</li>

This includes modifying two routines in C4::Circulation to
follow this order: GetLoanLength() and GetIssuingRule().

The reason for this change is to have Koha exhaust all issuingrules
possibilities for a branch before checking the rules for
the default branch - this is consistent with what an admin
might expect from looking at the issuingrules forms, which display
settings a branch at a time, and is more consistent with how
circulation rules should work for indepdendent branches.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - alternate issuing rules - set sorting of rules
Galen Charlton [Fri, 20 Jun 2008 13:11:15 +0000 (08:11 -0500)]
bug 2000 - alternate issuing rules - set sorting of rules

Issuing rules are now explicitly sorted by patron category,
then item type.  The default patron category sorts last; within
a list of item types for a given patron category, the default
item type sorts last.  This follows the order in which
the issuing rules are applied.

Since the primary sort is patron category, also moved that
to be the first column in the issuing rules table.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - alternate issuing rules - some form cleanup
Galen Charlton [Fri, 20 Jun 2008 13:11:14 +0000 (08:11 -0500)]
bug 2000 - alternate issuing rules - some form cleanup

Improvements to smart-rules.pl to allow it to
replace issuingrules.pl.

* standardized "borrower type" to "patron category"
* made default item type and patron category ('Any')
* regularized construction of parameters for rule
  deletion operatrion

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2000 - added several circ rules tables (DB rev 090)
Galen Charlton [Fri, 20 Jun 2008 13:11:13 +0000 (08:11 -0500)]
bug 2000 - added several circ rules tables (DB rev 090)

The first new table is branch_borrower_circ_rules.

This table is used to store circulation rule attributes
that apply to a combination of patron category and branch
across all item types.  The one attribute defined is
maxissueqty, which sets the maximum number of loans
that a patron of a given category can take out at a given

Note that branch_borrower_circ_rules is for attributes
that apply across all item types.  This means that
issuingrules.maxissueqty has a different meaning: it is
the maximum number of loans per branch, category, and item type;
if issuingrules.itemtype is '*', that is a *default*
circulation rule used if no more specific rule is found.

The new table will allow the implementation of total
loan limit across item types without making the wildcard
'*' in issuingrules ambiguous.  Specifically, if branchcode,
categorycode, or itemtype is issuingrules is '*', that will now
always mean a loan rule to be applied if a more specific rule cannot be found.
Setting issuingrules.itemtype to '*' will no longer mean
to set a total limit across item types for maxissueqty.

The remaining new tables are used to store default
rules for the default branch, the default patron category,
or both:

default_branch_circ_rules - for a given branch, specify
the rule to apply if no more specific rule on
branch and patron category is found (i.e. patron category is default)

default_borrower_circ_rules - for a given patron category,
specify the rule to apply if no more specific rule
on branch patron category is found (i.e., branch is default)

default_circ_rules - global default if no more specify rule
on patron category and branch is available.  Note that this
table is constructed so that it can have at most
one row.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoadding string for translator
paul [Fri, 20 Jun 2008 10:34:52 +0000 (12:34 +0200)]
adding string for translator

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agofrench translation updated (again)
paul [Fri, 20 Jun 2008 10:34:51 +0000 (12:34 +0200)]
french translation updated (again)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoupdating french translation (lot of fixes)
paul [Fri, 20 Jun 2008 10:34:50 +0000 (12:34 +0200)]
updating french translation (lot of fixes)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agomovin patron flags to template to have translatable strings
paul [Fri, 20 Jun 2008 10:34:49 +0000 (12:34 +0200)]
movin patron flags to template to have translatable strings

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoescaping field to deal with quotes in shelf name
paul [Fri, 20 Jun 2008 10:34:48 +0000 (12:34 +0200)]
escaping field to deal with quotes in shelf name

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agominor fixes in marc frameworks
paul [Fri, 20 Jun 2008 10:34:47 +0000 (12:34 +0200)]
minor fixes in marc frameworks

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agominor translation fixes
paul [Fri, 20 Jun 2008 10:34:44 +0000 (12:34 +0200)]
minor translation fixes

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoAdding some suggestion reasons in french
paul [Fri, 20 Jun 2008 10:34:42 +0000 (12:34 +0200)]
Adding some suggestion reasons in french

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoSIP - Lots of regexp hacking of input streams and verbose debugging feedback.
Joe Atzberger (siptest [Fri, 20 Jun 2008 03:23:00 +0000 (22:23 -0500)]
SIP - Lots of regexp hacking of input streams and verbose debugging feedback.

The basic problem is that the SIP logic doesn't know where the
input is coming from.  It might be a RAW socket, and it might
be telnet.  If it is telnet, although the specs declare a
character set (from MS, unfortunately), they do not specify a telnet
implementation.  So you might get telnet handshaking or
renegotiations in the middle of an otherwise peaceful session and
these should not be taken as SIP commands.  Patches include a move
towards using $CRLF from Socket to avoid problems w/ foreign platform
mapping \n and \r to \015 or \012.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2264: do not clear patron zipcode and city
Galen Charlton [Thu, 19 Jun 2008 21:20:28 +0000 (16:20 -0500)]
bug 2264: do not clear patron zipcode and city

When edting only a part of the patron record (e.g.,
the library use section or the alternate address), the
zipcode and city were cleared due to an error in
form processing.  Now the city and zipcode are set
only of those fields are actually in the submitted form.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2263 - transfer zipcode when selecting guarantor
Galen Charlton [Thu, 19 Jun 2008 21:20:27 +0000 (16:20 -0500)]
bug 2263 - transfer zipcode when selecting guarantor

The template for the guarantor search implies that
the zipcode is one of the values to be copied from
guarantor to guarantee.  Fixed so that the transfer
can actually take place.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2262 - fix delete guarantor button
Galen Charlton [Thu, 19 Jun 2008 21:20:26 +0000 (16:20 -0500)]
bug 2262 - fix delete guarantor button

Added an ID attribute so that the JavaScript
for the 'delete guarantor' button could
clear the guarantorid field.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoRedesigning and bugfixing language-picker. Switching from fixed footer positioning...
Owen Leonard [Thu, 19 Jun 2008 15:49:27 +0000 (10:49 -0500)]
Redesigning and bugfixing language-picker. Switching from fixed footer positioning to one with flows with page length. Fixing major unreported bug which prevented any but the first sublanguage menu from displaying.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2253: improve rebuild_zebra's handling of zebraqueue
Galen Charlton [Thu, 19 Jun 2008 14:30:59 +0000 (09:30 -0500)]
bug 2253: improve rebuild_zebra's handling of zebraqueue

Prior to this patch, rebuild_zebra.pl -z was effectively
hanging on to a lock on the zebraqueue table, preventing
other scripts from inserting new entries into the table.
This had the effect of causing circulation operations
to time out.

Refactored by having rebuld_zebra.pl pull the active
queue into memory, then mark entries done by zebraqueue.id.
Consequently, rebuild_zebra.pl should no longer
block adding new entries into zebraqueue.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2258 - new script to sync embedded items
Galen Charlton [Thu, 19 Jun 2008 14:03:37 +0000 (09:03 -0500)]
bug 2258 - new script to sync embedded items

Created a new script, sync_items_to_marc_bib.pl,
to replace the item tags embedded in the MARC bib
records with fresh versions taken from the items table.

This script should be run as follows:

maintenance/sync_items_to_marc_bib.pl --run-update

Assuming that you're using Zebra, rebuild_zebra.pl -b -z
or rebuild_zebra.pl -b -r should be run after running
this script.

This script should be run if you have used
link_bibs_to_authorities.pl prior to the first
patch for bug 2258.  It can also be used if there
is any reason to suspect that the embedded item tags
do not reflect the items table.

With this script I am creating a maintenance/ subdirectory of
misc/ to hold scripts that are meant to fix problems
in the database but are not (or should not be, anyway) necessary
for regular use.

Documentation: add to documentation for server side scripts

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoRemove 95c and 95r subfields from default MARC21 framework -- These have no tag defin...
Ryan Higgins [Tue, 17 Jun 2008 22:00:03 +0000 (17:00 -0500)]
Remove 95c and 95r subfields from default MARC21 framework -- These have no tag definitions.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix for bug 2260: UNIMARC misconfiguratin on itemtype
Joshua Ferraro [Thu, 19 Jun 2008 13:19:37 +0000 (08:19 -0500)]
Fix for bug 2260: UNIMARC misconfiguratin on itemtype


14 years agoCirculate permission misspelling
Joshua Ferraro [Thu, 19 Jun 2008 00:46:13 +0000 (19:46 -0500)]
Circulate permission misspelling

14 years agoBug: 2259: eliminate lines too long for git to use.
Andrew Moore [Wed, 18 Jun 2008 18:04:17 +0000 (13:04 -0500)]
Bug: 2259: eliminate lines too long for git to use.

This patch modifies 13 HTML templates and includes that have lines in them longer than 998 characters. Lines this long are known to break git.

I believe that none of these change behaviour at all, but I'm concerned about one of them. It adds whitespace (carraige returns) inside a <title> tag. I'm not certain that all browsers will deal with this OK.

No documentation changes necessary here.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2258 - do not duplicate embedded items
Galen Charlton [Wed, 18 Jun 2008 19:50:22 +0000 (14:50 -0500)]
bug 2258 - do not duplicate embedded items

If a MARC bib is modified by this batch job,
do not duplicate the item tags embedded in
it (e.g., 952 for MARC21).  When modifying
a bib record, any embedded item tags must
be removed before calling ModBiblio - perhaps
this should be moved to ModBiblio itself.

Also removed an error in the job's help text.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix for bug 2212: Searching with Itemtype limit doesn't work
Joshua Ferraro [Wed, 18 Jun 2008 18:57:22 +0000 (13:57 -0500)]
Fix for bug 2212: Searching with Itemtype limit doesn't work

The issue was that the index for itemtype is different depending
on whether you're using item-level or bib-level itemtypes. This
patch detects the system choice and sets the index properly

14 years agoResolves bug 2250: RFC: New System Preference to Determine which 'Types' and associat...
Joshua Ferraro [Wed, 18 Jun 2008 18:01:20 +0000 (13:01 -0500)]
Resolves bug 2250: RFC: New System Preference to Determine which 'Types' and associated icons to display in advanced Search

For documentation, please indicate that as part of profiling,
staff can refer to the AdvancedSearchTypes system preference to
choose where to draw the advanced search 'Types' from. Currently
this is implemented as a choice, between itemtypes and ccodes,
but it's been designed to work with any authorised value so long
as an index exists for searching by that authorised value.

By default, and if this syspref doesn't exist, it will pull from
itemtypes as before.

14 years agoA better fix for Bug 2229, I think. Text inside basket.js can be translated fine...
Owen Leonard [Wed, 18 Jun 2008 16:24:58 +0000 (11:24 -0500)]
A better fix for Bug 2229, I think. Text inside basket.js can be translated fine, this instance simply lacked the call to the dummy function for gettext. It's important /not/ to have the "Cart" text in masthead.inc because there should be no Cart link for users with javascript turned off.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoAdding required jquery files for update Cart notification popup.
Owen Leonard [Wed, 18 Jun 2008 15:47:53 +0000 (10:47 -0500)]
Adding required jquery files for update Cart notification popup.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoPosition of cart details popup needs to be specified numerically since jquery can...
Owen Leonard [Wed, 18 Jun 2008 15:56:56 +0000 (10:56 -0500)]
Position of cart details popup needs to be specified numerically since jquery can't seem to accurately calculate the dimensions of the cart button.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoContinuing work on Cart popup
Owen Leonard [Wed, 18 Jun 2008 15:56:41 +0000 (10:56 -0500)]
Continuing work on Cart popup

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoTesting change to cart popup display system. Attempting to fix display flakiness...
Owen Leonard [Wed, 18 Jun 2008 15:56:30 +0000 (10:56 -0500)]
Testing change to cart popup display system. Attempting to fix display flakiness associated with YUI method.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix for Bug 2240, "opac-search.pl masthead does not include 'cart' and 'list' buttons...
Owen Leonard [Wed, 18 Jun 2008 14:58:12 +0000 (09:58 -0500)]
Fix for Bug 2240, "opac-search.pl masthead does not include 'cart' and 'list' buttons, " and other minor markup corrections.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoLowering truncation threshold for display of system preference values to better accom...
Owen Leonard [Wed, 18 Jun 2008 14:58:05 +0000 (09:58 -0500)]
Lowering truncation threshold for display of system preference values to better accomodate average display size. Compromise fix for Bug 2132, "Sys Pref Column too Wide."

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix for Bug 2097, "Extra bar after subject headings in OPAC."
Owen Leonard [Wed, 18 Jun 2008 14:57:57 +0000 (09:57 -0500)]
Fix for Bug 2097, "Extra bar after subject headings in OPAC."

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoAdding missing menu item for Stop Words. Fixes Bug 1995, "Link Missing from Admin...
Owen Leonard [Tue, 17 Jun 2008 20:03:55 +0000 (15:03 -0500)]
Adding missing menu item for Stop Words. Fixes Bug 1995, "Link Missing from Admin Menu."

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoRestructuring guarantor display to address Bug 2220 ("Guarantor needs two fields...
Owen Leonard [Tue, 17 Jun 2008 19:56:08 +0000 (14:56 -0500)]
Restructuring guarantor display to address Bug 2220 ("Guarantor needs two fields to be labeled"). This change probably means an updated screenshot is necessary.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoWhitespace was causing table sorting problem. Fixes Bug 2215, "In page JavaScript...
Owen Leonard [Tue, 17 Jun 2008 19:55:58 +0000 (14:55 -0500)]
Whitespace was causing table sorting problem. Fixes Bug 2215, "In page JavaScript sort not working for title on holds tab for my summary."

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoCorrection to allow pop-up window to scroll. fixes Bug 2209, "Editing records in...
Owen Leonard [Tue, 17 Jun 2008 19:55:51 +0000 (14:55 -0500)]
Correction to allow pop-up window to scroll. fixes Bug 2209, "Editing records in the inventory."

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoMarkup corrections. You can't embed a <!-- TMPL_IF --> inside an HTML tag because...
Owen Leonard [Tue, 17 Jun 2008 18:31:30 +0000 (13:31 -0500)]
Markup corrections. You can't embed a <!-- TMPL_IF --> inside an HTML tag because it causes problems for the translation script.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoMarkup correction. You can't embed a <!-- TMPL_IF --> inside an HTML tag because...
Owen Leonard [Tue, 17 Jun 2008 18:31:12 +0000 (13:31 -0500)]
Markup correction. You can't embed a <!-- TMPL_IF --> inside an HTML tag because it causes problems for the translation script.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoremove some warns
Ryan Higgins [Tue, 17 Jun 2008 18:17:00 +0000 (13:17 -0500)]
remove some warns

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2252 - check correct items for item-specific holds
Galen Charlton [Tue, 17 Jun 2008 15:12:25 +0000 (10:12 -0500)]
bug 2252 - check correct items for item-specific holds

C4::Reserves::_Findgroupreserves(), instead of
getting all requests for a bib, now gets only the
requests that are title-level (itemnumber is null)
or for that specific item.  This prevents an item
from filling an item-level hold for a different item
attached to the same bib, which is the expected
behavior for item-level holds.

[LL Bug 22]

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoCorrrecting layout for opacuserlogin = 0. Fixes Bug 2228, "Wrong page design on opac...
Owen Leonard [Tue, 17 Jun 2008 13:27:05 +0000 (08:27 -0500)]
Corrrecting layout for opacuserlogin = 0. Fixes Bug 2228, "Wrong page design on opac-main.pl when no login section."

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoRemoving redundant column. Fixes Bug 2202, "No need for View Column on Authority...
Owen Leonard [Tue, 17 Jun 2008 13:26:56 +0000 (08:26 -0500)]
Removing redundant column. Fixes Bug 2202, "No need for View Column on Authority Search"

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoTerminology correction (fixes Bug 2200, "Mislabeled Column on Overdues Report")
Owen Leonard [Tue, 17 Jun 2008 12:53:15 +0000 (07:53 -0500)]
Terminology correction (fixes Bug 2200, "Mislabeled Column on Overdues Report")

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoMarkup corrections to cataloging pages; Fixes for Bugs 2166 (" Book Jackets Not Showi...
Owen Leonard [Tue, 17 Jun 2008 12:53:07 +0000 (07:53 -0500)]
Markup corrections to cataloging pages; Fixes for Bugs 2166 (" Book Jackets Not Showing on My Summary"), 2194 ("No results for Authority Search Shows blank record"), and 2196 ("Extra comma being added to record display")

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBugfix patron search for cards/labels related to pagination.
Joe Atzberger [Tue, 17 Jun 2008 03:15:26 +0000 (22:15 -0500)]
Bugfix patron search for cards/labels related to pagination.

Pagination was working for searching, but the "type" and batch_id
were not making it onto subsequent pages (i.e., the 2nd page of "B"
names).  This corrects the problem with the base URL passed to

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agofix coins/openurl breakage when search terms include author names. (thanks, chris...
Daniel Kahn Gillmor [Mon, 16 Jun 2008 22:06:17 +0000 (18:06 -0400)]
fix coins/openurl breakage when search terms include author names. (thanks, chris on #koha@irc.katipo.nz!)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBugfix LDAP config to play nice with Zebra.
Joe Atzberger [Mon, 16 Jun 2008 20:05:05 +0000 (15:05 -0500)]
Bugfix LDAP config to play nice with Zebra.

The section in KOHA_CONF was moved inside <config> and renamed
<ldapserver>.  Perldoc updated to correspond.  Tested with local
LDAP and existing test (t/db_dependent/Auth_with_ldap.t).
Patch can be applied with confidence based on comparison of 2 dumps:
perl -e 'use C4::Context; use Data::Dumper; my $context=C4::Context->new("./old_config.xml"); print Dumper ($context->{server}->{ldapserver}),"\n";'
perl -e 'use C4::Context; use Data::Dumper; my $context=C4::Context->new("./new_config.xml"); print Dumper (C4::Context->config("ldapserver")),"\n";'
These dumps reflect the way Auth_with_ldap accesses configuration info before and after.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBugfix 1978 - on circ, check date specified output is later than now.
Joe Atzberger [Mon, 16 Jun 2008 17:09:43 +0000 (12:09 -0500)]
Bugfix 1978 - on circ, check date specified output is later than now.

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>
14 years agoFix for 2174: s/langauge/language/
Joshua Ferraro [Mon, 16 Jun 2008 17:46:18 +0000 (12:46 -0500)]
Fix for 2174: s/langauge/language/

14 years agoResolution for issues raised in Bug 2076:
Joshua Ferraro [Mon, 16 Jun 2008 17:16:00 +0000 (12:16 -0500)]
Resolution for issues raised in Bug 2076:


have been added to updatedatabase.

The xslt sysprefs have also been added with a note stating they
only work with MARC21.

14 years agoIn OPAC, verticaly align on top biblio records and book cover image
Frederic Demians [Fri, 13 Jun 2008 07:21:13 +0000 (09:21 +0200)]
In OPAC, verticaly align on top biblio records and book cover image

Without this patch, on OPAC result page, depending whether book cover
image is available or not, biblio records and book cover are badly
verticaly aligned. The information is in the middle of the cell.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoadd a kinda config file for Makefile.PL
Marc Chantreux [Thu, 12 Jun 2008 23:28:31 +0000 (01:28 +0200)]
add a kinda config file for Makefile.PL

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobypass corrupt bibs when linking headings
Galen Charlton [Mon, 16 Jun 2008 13:45:55 +0000 (08:45 -0500)]
bypass corrupt bibs when linking headings

During link_bibs_to_authorities.pl run, a bib was
observed that had both biblioitems.marc and biblioitems.marcxml
set to blank or NULL.  Added check to verify that a
defined value is returned from GetMarcBiblio(); may follow
up with additional patches once it's determined how
the corrupt bib came to be loaded.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2247: don't crash linking bib heading with invalid subfield
Galen Charlton [Mon, 16 Jun 2008 13:15:03 +0000 (08:15 -0500)]
bug 2247: don't crash linking bib heading with invalid subfield

Prevent following crash when linking a bib heading to an
authority record if the bib heading has a subfield whose code
is ')' or any other regular expression metacharacter:

Unmatched ) in regex; marked by <-- HERE in m/) <-- HERE / at
/home/koha-pro/kohaclone/C4/Heading/MARC21.pm line 186.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoSpelling correction in template.
Ryan Higgins [Fri, 13 Jun 2008 16:41:09 +0000 (11:41 -0500)]
Spelling correction in template.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix upgrade-child: could not update child unless guarantor was defined. Also, limit...
Ryan Higgins [Thu, 12 Jun 2008 21:23:32 +0000 (16:23 -0500)]
Fix upgrade-child: could not update child unless guarantor was defined. Also, limit upgrade path to C -> A .

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoChange order of checks, and avoid warnings if args undef (i.e. anonymous login).
Joe Atzberger [Wed, 11 Jun 2008 21:28:44 +0000 (16:28 -0500)]
Change order of checks, and avoid warnings if args undef (i.e. anonymous login).

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years ago(UNIMARC) index only 101$a as language
Paul POULAIN [Wed, 11 Jun 2008 16:27:25 +0000 (18:27 +0200)]
(UNIMARC) index only 101$a as language

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agokohabug 2112 - add indicators to MARC display
Galen Charlton [Wed, 11 Jun 2008 21:43:22 +0000 (16:43 -0500)]
kohabug 2112 - add indicators to MARC display

In any MARC record display in the OPAC or staff client
that displays the MARC tag numbers, the indicators are
now displayed as well, following the tag number.  If an
indicator is a blank, it is displayed as '#'.

Add a function to C4::Koha, display_marc_indicators(), to
generate this display form of the indicators.

Refactoring note: the four scripts changed in this commit
have a lot of duplicate code that could be merged into
a MARC displayer class.

Documentation notes: screenshots of tagged MARC record
displays should be updated.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agokohabug 2207 - improve indicator input in MARC editor
Galen Charlton [Wed, 11 Jun 2008 21:38:15 +0000 (16:38 -0500)]
kohabug 2207 - improve indicator input in MARC editor

Instead of having one input field for both indicators
of a variable field, the bib and authority MARC editor
now has an input field for each indicator.  This has
two main advantages:

* it is easier to tell what the indicator values are,
  even when the first indicator is a space
* it is easier to set the first indicator to blank
  and the second indicator to non-blank.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agocode cleanup - remove unused find_values() copy and paste
Galen Charlton [Wed, 11 Jun 2008 21:38:14 +0000 (16:38 -0500)]
code cleanup - remove unused find_values() copy and paste

The find_values() function in authorities/authorities.pl
and authorities/detail.pl is not used; appears to be copied
from additem.pl.

No documentation changes.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix column misalignment in opac-reserve .
Ryan Higgins [Tue, 10 Jun 2008 17:48:58 +0000 (12:48 -0500)]
Fix column misalignment in opac-reserve .

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2235: fix various data-corrupting bugs in MARC editor
Galen Charlton [Tue, 10 Jun 2008 16:05:48 +0000 (11:05 -0500)]
bug 2235: fix various data-corrupting bugs in MARC editor

1. Non-ASCII characters in the 942$h (biblioitems.cn_class)
   would cause an edit to fail and lead to a corrupt MARC record in
   biblioitems.marc and biblioitems.marcxml.  Fixed by
   turning on Perl's UTF-8 flag for MARC tag parameters
   processed by C4::Biblio::TransformHtmlToMarc

2. Do not add empty 006 and 007 fields if the corresponding
   input fields are blank.

3. Make it possible to save '0' as a valid subfield

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFixes bug #2229
Frederic Demians [Sun, 8 Jun 2008 18:58:41 +0000 (20:58 +0200)]
Fixes bug #2229

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoTypo bugfix: sterling is GBP not GPB
MJ Ray [Mon, 9 Jun 2008 11:54:42 +0000 (12:54 +0100)]
Typo bugfix: sterling is GBP not GPB

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoReverts AnonSuggestions syspref to correct type, and translates into FR
Frederic Demians [Mon, 9 Jun 2008 19:47:21 +0000 (21:47 +0200)]
Reverts AnonSuggestions syspref to correct type, and translates into FR

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFixes bug #2231
Frederic Demians [Tue, 10 Jun 2008 09:23:09 +0000 (11:23 +0200)]
Fixes bug #2231

In OPAC, when cart is sent by email, the email contains an attachement:
an ISO2709 file with cart biblio records. Most users don't have a clue
what to do with this file.

This patch modifies opac-sendbasket.tmpl to clarify what the attachment is.
It also fix a bug in opac-sendbasket.pl which wasn't reading the template
section containing information about the basket:

  Here is your cart, sent from the Koha Online Catalog... foo

It may be necessary to verify that template text is in 'valid' English...

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoFix authentication problem in previous commit; userenv->{} should not be used before...
Ryan Higgins [Mon, 9 Jun 2008 22:04:23 +0000 (17:04 -0500)]
Fix authentication problem in previous commit; userenv->{} should not be used before check_auth is called.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBugfix: show (cleaned) comment back on detail page.
Joe Atzberger [Mon, 9 Jun 2008 18:52:41 +0000 (13:52 -0500)]
Bugfix: show (cleaned) comment back on detail page.

Also added minor debug feedback to review page.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agobug 2098: do not apply stemming if search term has digits
Galen Charlton [Mon, 9 Jun 2008 16:33:04 +0000 (11:33 -0500)]
bug 2098: do not apply stemming if search term has digits

If a search contains a digit, it is almost certainly an identifier, and should
not be stemmed.  This is particularly relevant for ISBNs and ISSNs, which
can contain the letter "X" - for example, C4::Search::_build_stemmend_operand
would reduce "014100018X" to "x ", which for a MARC21 database would bring
up irrelevant results (e.g., "23 x 29 cm." from the 300$c).

With this patch, supplying a search term that contains one or more digits
followed by "X" will no longer retrieve irrelevant results.  This applies
to catalogs using Zebra and query stemming.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoRevert "Gives a type YesNo to AnonSuggestions syspref"
Joshua Ferraro [Tue, 10 Jun 2008 13:14:13 +0000 (08:14 -0500)]
Revert "Gives a type YesNo to AnonSuggestions syspref"
As pointed out by Joe, this wasn't correct, it's not supposed
to be a YesNo type.
This reverts commit 0c512c7dd41599a18543b3791c89c4c03b5352aa.

14 years agoRevert "Bug fixing : get_user_permissions SQL Fixing"
Joshua Ferraro [Mon, 9 Jun 2008 14:53:23 +0000 (09:53 -0500)]
Revert "Bug fixing : get_user_permissions SQL Fixing"
From Galen: because code is part of the join, there is in fact no ambiguity

This reverts commit 3a05ae40f6d03a8399e4653da1761f5dde7e23ea.

14 years agoBug fixing : get_user_permissions SQL Fixing
Henri-Damien LAURENT [Wed, 4 Jun 2008 09:58:17 +0000 (11:58 +0200)]
Bug fixing : get_user_permissions SQL Fixing

user_sub_permissions join introduced ambivalence for permissions field

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoBugfix : generating session id on some systems was not defined
Henri-Damien LAURENT [Wed, 4 Jun 2008 09:53:46 +0000 (11:53 +0200)]
Bugfix : generating session id on some systems was not defined

Explicitly naming the method to generate id is required on some systems
(SUN 4)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoAdd | separator between authors repetitions in OPAC detail page
Frederic Demians [Sun, 8 Jun 2008 19:57:02 +0000 (21:57 +0200)]
Add | separator between authors repetitions in OPAC detail page

Without this patch authors display on OPAC is weird.
You get for example:
  Author: Freud--Sigmund Lacan--Jacques
And you finish to read an author 'Simund Lacan'

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
14 years agoSmall script to identify syspref differences between languages (3). See
Frederic Demians [Mon, 9 Jun 2008 08:32:20 +0000 (10:32 +0200)]
Small script to identify syspref differences between languages (3). See

Signed-off-by: Joshua Ferraro <jmf@liblime.com>