Commit graph

118 commits

Author SHA1 Message Date
Zach Sim
53a301b8f2 Bug 5327 - Adding UNIT Tests.
Squashed commit of the following:

commit 146d14665c52edaa85e38b70aabc9d52be5d64b6
Author: Zach Sim <joseph.zachariah.sim@gmail.com>
Date:   Mon Jan 17 16:07:24 2011 +1300

    Edited DisplayISBN to cleanup the ISBN using _isbn_cleanup if it is not 13 or 10 digits long.

commit ba97b26d9a25470b0717cdd60a3d4f7a5c459ca9
Author: Zach Sim <joseph.zachariah.sim@gmail.com>
Date:   Mon Jan 17 16:06:14 2011 +1300

    Added extra unit tests to test C4::Koha::DisplayISBN.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-01-17 16:25:08 +13:00
e54169ba0f Incremental fix for Bug 3285 - Location on Add Subscription should be pull down
- Adds location dropdown to subscription edit form
- Pulls authorised value for display on subscription detail page
- Adds function for pulling authorised value description based
  on category and value

This patch does NOT implement automatic preselection of the shelving
location form field on the serial add item screen. This must be
worked out in order for the bug to be closed.

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-07 09:29:05 +13:00
Colin Campbell
c95b5153e0 Bug 4305 Improve code flow
Use the ISBN Object's method to format the string
rather than add extra code to do it
Clean up the code flow for clarity
Benchmarking shows its a bit faster too
Don't add to the number of Test::Perl::Critic warnings
 for no benefit

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-12 10:26:56 +13:00
Chris Cormack
ae6ae0b39d Merge remote branch 'kc/new/bug_5301' into kcmaster 2010-11-03 06:54:50 +13:00
f2e4fa7b1b Fix for Bug 5221 - Preselect tab containing itemtype/authval image in use
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-02 11:19:50 +13:00
f88f88dcc5 bug 5301: improve escaping of XML characters in bib output
<, >, ', or " in an item call number will no longer make
the bib displays break when using XSLT mode.

Added a new routine to C4::Koha, xml_escape(), to implement
converting &, <, >, ', and " to their corresponding
entities.

Patch loosely based on work done by Daniel Latrémolière <daniel.latremoliere@bulac.fr>

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-02 08:31:47 +13:00
Robin Sheat
e81bc5ce81 Bug 4305 - prevent errors when handling invalid ISBN13 values
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-21 18:36:35 -04:00
Ian Walls
0d768b482e Followup to Bug 4305: multiple ISBNS in biblioitems.isbn breaks patron
This patch adds a scrub for ' | ' when the ISBN comes from the
biblioitems table, in the event that Koha has attempted to store
multiple ISBNs in the field.  The ISBN presented to Business::ISBN will
now be something it can handle.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 12:56:12 -04:00
Ian Walls
a897931313 Update VOKAL icon set
The Green Mountain Library Consortium has updated the 'vokal' item type
image set to include new and updated icons, including:
Puzzles and Games
BLURAY
Hardware
Educational Media
Fiction, Nonfiction, New and Holiday books
ILL materials

Smaller versions of all the icons (32 px) are included as well.

Sorting of the icons has been included in this patch to group
large and small versions of these icons together, as well as make large
icon sets easier to visually scan (the 'bridge' set benefits from this,
as well) .

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 08:09:22 -04:00
e4f37fde48 Bug 4305 Get Amazon book covers for ISBN13
The way Koha get book cover from Amazon doesn't work from biblio records
having ISBN13 because Amazon expect an ISBN10. This patch transforms
ISBN13 into ISBN10 before sending it to Amazon.

Warning! On some devel installations, you will have to install by hand a
new CPAN depency:

  Business::ISBN

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 06:18:48 -04:00
Andrew Elwell
c6bf50d052 The start of some POD cleanups in C4/*.pm
If these are acceptable I'll continue - target is to get rid of all warnings
and errors with podcheck and make sure that any man and html formatted pod
docs look 'OK'

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-09 08:38:55 -04:00
Donovan Jones
593a7d8e6a Bug 2505 - Add commented use warnings where missing in *.pm 2010-04-21 20:28:51 +12:00
Lars Wirzenius
7279f55b60 Fix FSF address in directory C4/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:56 -04:00
Chris Nighswonger
4e65ac5965 Bugfix: Stop C4::Koha from filling the log with pesky warns
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-02 19:16:06 -05:00
Matthias Meusburger
b40d4052b9 MT2116 : Addons to the CSV Export
Add encoding selection
Add authorised values handling
2010-01-28 15:11:55 +01:00
Matthias Meusburger
96fc46e2e1 MT 1717 : Opac descriptions for authorised values 2009-09-30 11:30:28 +02:00
Henri-Damien LAURENT
961d7fceef Adding GetSupportList and GetSupportName
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:22:21 +02:00
Nahuel ANGELINETTI
17c831399f Delete unused function
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-29 19:53:04 -04:00
Galen Charlton
5dd3a9c157 use Memoize to cache results of GetAuthorisedValues
Thanks to Frédéric Demians for the original impetus
to improve this function and for doing profiling.

Note that Memoize is a core module since at least 5.8.0.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-06-19 05:56:29 -05:00
Galen Charlton
4d95af2968 fix to C4::Koha::_isbn_cleanup
Both valid ISBN-10s and -13s can use 'X' as a checkdigit
value.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-01 07:16:41 -05:00
Galen Charlton
2e08f626f5 remove incomplete bib bulk editing code
Per discussion I had with Henri, removing experimental
bulk editing from the staff search results code, as
feature is incomplete and can be dangerous if
one tries to use it on a large search result
set.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-06 10:53:50 -05:00
066adc4a3e Fix Amazon cover for UNIMARC
In UNIMARC, 010 tag contains ISBN. In UNIMARC, ISBN with '-'
are valid. This patch modify ISBN normalization in order to
automaticaly suppress '-' before sending ISBN to Amazon
to get book cover.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-01 10:49:39 -05:00
Joshua Ferraro
3d65e44d5c Syndetics and Amazon bugfix enhancements
This patch resolves a number of problems related to Enhanced Content:

1. Previously, there was no syspref for controlling whether or not to display
Amazon.com cover images apart from other content. This had the side effect
of preventing use of amazon.com content alongside use of another provider's
images. This patch introduces AmazonCoverImages and OPACAmazonCoverImages,
and changes the name of AmazonContent to AmazonEnabled.

So, for instance, you can now enable OPACAmazonSimilarItems yet utilize
SyndeticsCoverImages for displaying those similar items.

NOTE TO DOCUMENTATION TEAM: please update references to AmazonContent
and OPACAmazonContent to comply with the above.

2. Fixes some semantically incorrect uses of AmazonContent (now OPACAmazonEnabled)
on the OPAC side.

3. Resolves once and for all, the normalization of ISBN,UPC,EAN and OCLC numbers
for all enhanced content elements; These elements can be normalized using the
new functions in C4::Koha; I've replaced use of the various previously used
variables $xisbn,$norm_isbn,$clean_isbn, etc with $isbn, and the template
variable normalized_isbn.

We finally have a single, consistant place to retrieve normalize values for
these fields given a particular record.

4. Adds Syndetics attribution statements to display of all Syndetics content
'enhanced content provide by Syndetics' or 'Enhanced Description from Syndetics'

5. Adds an option to view the large cover image on the detail page on the OPAC
when using SyndeticsCoverImages; this option is controlled by a new system
preference: SyndeticsCoverImageSize which has two values: MC (medium) LC (large)

6. Adds UPC and OCLC numbers for Syndetics enhanced content queries especially
helpful for finding enhanced content for DVD and Music materials

7. Adds capability to display Syndetics images to opac-user for checkouts and overdues

8. Updates to systempreferences.sql, and updatedatabase.pl database revision 015

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-03-27 17:23:51 -05:00
Joe Atzberger
15443111e5 Trivial correction to comment.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-03-11 08:36:52 -05:00
Joe Atzberger
5897704e78 Minor cleanup, updated POD.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-09-09 10:53:04 -05:00
Michael Hafen
d98ed1dde1 bugfix: need to return something if an itemtype doesn't have an image
I noticed that on the search pages if an itemtype doesn't have an image it's information doesn't make it out the the template.  I don't understand why, but this fixes it.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-09-08 18:44:07 -05:00
Jesse Weaver
9389ef50ee Fix itemtype image problem in moremember.pl
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-22 11:15:25 -05:00
Jesse Weaver
7da895cda7 fix for bug 1771: Template errors with remote itemtype image
This adds a new function, getitemtypeimagelocation, that returns the image
unmodified for absolute urls and returns the proper intranet or opac path
otherwise. It also updates all of the relevant files to use that function.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-21 16:50:29 -05:00
Andrew Moore
2662a61f28 Bug 2400 [8/18]: fixing pod syntax in C4/Koha.pm
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-12 19:40:48 -05:00
Andrew Moore
a7118d4f48 Bug 1953 [6/6]: adding pod documentation for C4::Koha::displayServers
This method was not documented. I added some POD to it.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-30 03:45:24 -05:00
Andrew Moore
e674bbed0e Bug 1953 [5/6]: whitespace changes: perltidy.
ran perltidy on the whole method since I've rewritten most of it.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-30 03:45:23 -05:00
Andrew Moore
7d6eddf1ec Bug 1953 [4/6]: removing dead code from C4::Koha::displayServers
displayServers appears to have had old code in it that was no longer used. I'm removing it.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-30 03:45:22 -05:00
Andrew Moore
00ad2d7e69 Bug 1953 [3/6]: refactoring to remove superfluous where clause.
refactored the SQL query to remove a confusing and superfluous 'WHERE 1' clause.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-30 03:45:21 -05:00
Andrew Moore
9ecd632001 Bug 1953 [2/6]: refactoring SQL in C4::Koha::displayServers to use placeholders.
The SQL call in displayServers was not using placeholders, leaving itself open
to potential SQL injection attacks. I've rewritten it to use placeholders.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-30 03:45:20 -05:00
Andrew Moore
8b679f8d81 Bug 1953: refactoring C4::Koha::get_itemtypeinfos_of to eliminate potential SQL injection
C4::Koha::get_itemtypeinfos_of was not using plceholders, opening itself up to
potential SQL injection attacks. This patch refactors it to use placeholders to
bind parameters.
I also had to extend C4::koha::get_infos_of to allow us to pass bind parameters into it.
I'm including a test module for C4::Koha::get_itemtypeinfos_of.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-27 06:11:18 -05:00
Andrew Moore
06720cd3cf bug: 2272 - remove warning from C4::Koha::getitemtypeimagedir
I changed getitemtypeimagedir to set a default on its argument so that it would not complain if not passed 'opac'.
I improved the documentation on the method.
I edited the t/icondirecotries.t test script to explicitly pass an argument to both getitemtypeimagedir calls.
 - and I adjusted one line of whitespace to make similar things look similar
I added a test module for C4::Koha
I added a test module for C4::Koha::getitemtypeimagedir.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-25 11:47:28 -05:00
Galen Charlton
2ba08ac59a 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>
2008-06-20 08:19:11 -05:00
Galen Charlton
0fa1de926f 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>
2008-06-12 11:17:44 -05:00
Galen Charlton
7e8ff3f4b8 C4::Koha - added GetAuthorisedValueCategories
New convenience function to get list of authorised
value categories.

No user-visible changes.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:02 -05:00
Andrew Moore
aef807a937 bug 2047: refactoring icon manipulation logic
I'm extracting some of the icon manipulation logic so that I can get to it from the authorized values pages.

There should be no functionality or documentation changes with this commit.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-30 20:10:09 -05:00
Galen Charlton
579a227228 kohabug 2022 - fixed fine and issuing rules editors
Because of the way that the older fine and issuing
rule editors generate the HTML form, if a branch code,
patron category code, or item type code happened to have a
'-' or '.', the HTML form would not be parsed properly, thus
adding an implicit (rather than explicit) limit on the
characters allowed in one of those codes.

This fix removes this limitation by Base64-encoding the codes
when constructing the names for the <input> elements.

Two functions are added to C4::Koha:

  str_to_base64() - UTF-8 string to Base64
  base64_to_str() - reverse

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-21 11:17:52 -05:00
Ryan Higgins
d48e0998d0 More cleanup of location & ccode authval handling.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-07 15:59:49 -05:00
Ryan Higgins
1af6c8be85 Remove hardcoded LOC AND CCODE authvals; fix no display of location on staff details page.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-07 15:59:49 -05:00
Joshua Ferraro
9d0fdfab5a don't show library facet if singleBranchMode is ON
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-20 08:40:57 -05:00
Galen Charlton
60a98d258a IMPORTANT - refactor MARC character set handling
* IsStringUTF8ish - determine if scalar contains a string in UTF8
* MarcToUTF8Record - convert MARC blob or MARC::Record to UTF8
* SetMarcUnicodeFlag - set appropriate MARC21 or UNIMARC field to
  indicate that record is in UTF-8.

Design points of this module include:

* No dependencies on other C4 modules, making it easier to add
  more test cases
* All character conversion code in one place
* Single entry point for doing a character conversion on a
  MARC record
* Capture of errors and warnings produced by Text::Iconv
  and MARC::Charset
* Start of support for guessing the source character set of
  a MARC record.

Several functions were moved from other scripts
or modules to C4::Charset:

* C4::Koha->FixEncoding (expanded and renamed
  MarcToUTF8Record)
* C4::Koha->char_decode5426
* fMARC8ToUTF8 from bulkmarcimport.pl (renamed
  _marc_marc8_to_utf8)

Several batch jobs were adjusted to use MarcToUTF8Record instead of
FixEncoding.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-03 07:23:56 -06:00
Chris Cormack
5ccfb0963c Bugfix to correct C4:Koha behavior which caused admin/itemtypes.pl to try to
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-27 14:34:48 -06:00
Henri-Damien LAURENT
1978babc9f Bug Fixing : Encoding in Z3950 searches
encoding is now defaulted to MARC8
encoding is now supported for USMARC and UNIMARC flavours.
Adding Encoding field to updatedatabase.pl

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-23 21:31:07 -06:00
Henri-Damien LAURENT
b5a1060788 Improving encoding Support for z3950 clients.
Adding encoding for z3950 server information.
Uses Text::Iconv for conversion (ISO6937 and ISO_5428 and ISO5427)
For ISO 5426 (ANSEL or MARC-8) new char_decode5426 based on marc4j tool.

Not Tested on LOC or any USMARC z3950 source. But tested OK on BNF and SUDOC.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-08 19:23:30 -06:00
Henri-Damien LAURENT
80683fad47 adding encoding management to z3950
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-08 19:23:00 -06:00
Joe Atzberger
50c461e98c Koha.pm - BEGIN block VERSION and vars related to export.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 20:02:31 -06:00