Commit graph

324 commits

Author SHA1 Message Date
Matthias Meusburger
7f957077dd Bug 5337: EAN management : Adds ean for various searches
- in various acquisition pages and serials home
  - in database : biblioitems.ean
  - adds ean and its mapping in default english bibliographic framework
  - adds ean mapping in default french bibliographic framework
  - ean search is not enabled for MARC21

The required mapping between the ean marc field and the biblioitems.ean
database field will be automatically added on an existing unimarc installation.

However, if you already have records with ean, you will have to
run misc/batchRebuildBiblioTables.pl to populate biblioitems.ean

Signed-off-by: jmbroust <jean-manuel.broust@univ-lyon2.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Passed QA at second run. Removed a merge marker only.
2012-06-09 18:26:34 +02:00
Julian Maurice
2338d02e9e Bug 7175: Allow to choose which items to receive
If AcqCreateItem=ordering, when you receive an order, you now have a
list of all created items and checkboxes that permit you to choose which
items you want to receive.
A 'Edit' link open additem.pl page in a popup to allow you edit the
items before receiving them (popup is automatically closed after
modification, and items table is automatically updated)
If quantity is set manually in the text box, the appropriate number of
checkbox are checked from top to bottom and a warning shows up if
quantity is greater than order quantity

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-21 17:46:07 +02:00
Katrin Fischer
36b7239f40 Bug 7733 - HidePatronName not working on moredetail
Patch implements HidePatronName system preference for 'Checkout status'
on moredetail (tab items from staff detail page).

Also adds some new 'if' statements, so 'Serial enumeration' and 'Paid for?' are
only shown when they are not empty.

Silences warns in the logs.

To test:
- Toggle system preference for an issued item and check name/cardnumber
are displayed correctly.
- Check serial enumeration and Paid for? show when not empty.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-19 11:05:09 +02:00
Stéphane Delaune
df0a6a71d7 Bug 4032 XSLT systempreference takes a path to file rather than YesNo
Signed-off-by: Marijana Glavica <mglavica@ffzg.hr>

I am signing it off because it doesn't break anything and I will report
another bug for language issues described in my previous comment.

Removed MySQLism backquotes
2012-03-29 16:58:55 +02:00
Chris Cormack
0c40ff9f98 Merge remote-tracking branch 'kc/master' into merged_5549
Fixed conflicts

Conflicts:
	catalogue/moredetail.pl
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt
2012-03-22 09:36:55 +13:00
c4d21bcbfe Bug 7310: Code changes for Improving list permissions
This lays the foundation for further changes for report 7310.
Implements following points from the wiki page List permissions:
1) Preference that controls if users may create public lists in opac.
2) New add/delete own/delete other permissions per list.

Code has been changed (in some cases refactored). New permissions are not yet visible; with this patch current functionality is kept as much as possible while resolving several issues, improving permissions and extending the code for further developments (using the new permissions and sharing lists).

Feb 23, 2012 (revision): Changed defaults for new lists. Could also remove routine GetRecentShelves by using GetSomeShelfNames in catalogue/search.pl just as opac-search.pl already did. (More consistent.)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

Feb 29, 2012: Automerge version.
March 5, 2012: Rebase for pushed 4912 patch.
March 21, 2012: Rebased. Resolving some conflicts in relation to pushed report 7719.
2012-03-21 16:46:40 +01:00
Jared Camins-Esakov
d7fe2f24db Bug 7600: Return a single-pixel GIF when no local cover image exists
Signed-off-by: Kristina D.C. Hoeppner <kristina@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-20 16:54:31 +01:00
Katrin Fischer
f371b749af Bug 7235: Add order date and checks for permissions
- Adds order date above vendor
- Reordered fields to reflect history of the item
- Order information (order date, vendor) is only shown, when an order exists
- Accession date is only linked, when item was received in acquisition
- Links to basket and invoice are only shown when user has the correct permission
  - order date: manage_order
  - accession date: receive_shipment for invoice
- Changes all dates to use the KohaDates TT plugin
- Corrects display of rental price, removing additional zeros

To test:
1) Create a record with
- 1 item created in cataloguing
- 1 item ordered
- 1 item ordered and received
- 1 item checked out
2) Verify the correct information is shown for each
3) Verify links on the dates work correctly
4) Toggle permissions for the user

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Followed the test plan and all tests pass.

Signed-off-by: Marijana Glavica <mglavica@ffzg.hr>

changed supplierid to booksellerid

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-20 16:11:44 +01:00
Srdjan Jankovic
dcca450944 Bug 7235: Adding invoice number and vendor name to the moredetail page
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2012-03-20 16:11:41 +01:00
Colin Campbell
4913d3a1d7 Bug 5549 : Fix a couple of date issues from testing 2012-03-20 13:22:12 +13:00
Colin Campbell
d63691d3f1 Bug 5549: Formatting duedates in catalogue scripts 2012-03-20 12:35:57 +13:00
Robin Sheat
4cbeeedbe8 Bug 6296: allow users to be authenticated by SSL client certs
This adds a new syspref: AllowPKIAuth. It can have one of three states:
* None
* Common Name
* emailAddress

If a) this is set to something that's not "None", and b) the webserver
is passing SSL client cert details on to Koha, then the relevant field
in the user's certificate will be matched up against the field in the
database and they will be automatically logged in. This is used as a
secure form of single sign-on in some organisations.

The "Common Name" field is matched up against the userid, while
"emailAddress" is matched against the primary email.

This is an example of what might go in the Apache configuration for the
virtual host:

    #SSLVerifyClient require # only allow PKI authentication
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLCACertificateFile /etc/apache2/ssl/test/ca.crt
    SSLOptions +StdEnvVars

The last line ensures that the required details are
passed to Koha.

To test the PKI authentication, use the following curl command:
    curl -k --cert client.crt --key client.key  https://URL/
(look through the output to find the "Welcome," line to indicate that a user
has been authenticated or the "Log in to Your Account" to indicate that a
user has not been authenticated)

To create the certificates needed for the above command, the following series
of commands will work:
    # Create the CA Key and Certificate for signing Client Certs
    openssl genrsa -des3 -out ca.key 4096
    openssl req -new -x509 -days 365 -key ca.key -out ca.crt
    # This is the ca.crt file that the Apache config needs to know about,
    # so put the file at /etc/apache2/ssl/test/ca.crt

    # Create the Server Key, CSR, and Certificate
    openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key -out server.csr

    # We're self signing our own server cert here.  This is a no-no in
    # production.
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
        -set_serial 01 -out server.crt

    # Create the Client Key and CSR
    openssl genrsa -des3 -out client.key 1024
    openssl req -new -key client.key -out client.csr

    # Sign the client certificate with our CA cert. Unlike signing our own
    # server cert, this is what we want to do.
    openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
        -set_serial 02 -out client.crt
    openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
    # In theory we can install this client.p12 file in Firefox or Chrome, but
    # the exact steps for doing so are unclear, and outside the scope of this
    # patch

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested with Common Name and E-mail authentication, as well as with PKI
authentication disabled. Regular logins continue to work in all cases when
SSL authentication is set to optional on the server.

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA comment: synchronized updatedatabase.pl version of syspref with sysprefs.sql
version, to avoid divergent databases between new and upgrading users.
2012-03-19 17:02:44 +01:00
52848003e3 7031 Followup: typo
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
2012-03-14 14:35:30 +01:00
ae737fcde6 Bug 7031 Follow-up: Staff search displays OPAC description instead of the normal description for the authorized values
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
2012-03-14 14:35:29 +01:00
Ian Walls
c04404c2fb Enh 7031: More options for Advanced Search
Adds the ability to perform advanced searches in both the OPAC and staff client on more than
a single AdvancedSearchType at a time.  Support included for Itemtype, Collection Code and Shelving Location.

AdvancedSearchTypes syspref preference is repurposed; no longer a single value, it can now take
multiple item code fields separated by "|".  The order of these fields will determine the order
of the tabs in the OPAC and staff client advanced search screens.  Values within the search type
are OR'ed together, while each different search type is AND'ed together in the query limits.  The
current stored values are supported without any required modification.

Each set of advanced search fields are displayed in tabs in both the OPAC and staff client.  The
first value in the AdvancedSearchTypes syspref is the selected tab; if no values are present, "itemtypes"
is used.  For non-itemtype values, the value in AdvancedSearchTypes must match the Authorised Value name, and
must be indexed with 'mc-' prefixing that name.

<li> elements in tab are assigned unique IDs, so the text of the tab can be altered to match the
library's needs (using JQuery)

The logic to handle the 5 element row limit has been moved from the Perl to the templates, since Template::Toolkit
has a simple method for extracting the count of an element in a loop and performing 'modulus' on it.

2011-12-21: Incorporated changes recommend by Owen Leonard on bug report.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
2012-03-14 14:35:27 +01:00
Jared Camins-Esakov
6378436089 Bug 7345: Enable exporting records sans private fields
Add an option for marcstd to the opac-export.pl and catalogue/export.pl
scripts. This new format removes all 9XX, X9X, XX9 fields and subfield $9
(with the exception of 490 in flavours of MARC other than UNIMARC). The work is
done in C4::Record::marc2marc.

This patch adds the new export option 'marcstd' for exporting MARC
records without 9xx, x9x and xx9 fields and subfields to the staff
detail page.

Testing plan:
1. Export a record in "MARC (Unicode/UTF-8)" format as a control
2. In the OPAC, run the following jQuery to add the marcstd option to the UI:
> $("#export #format").append("<option value='marcstd'>MARC (no 9xx)</option>");
3. Export the same record in "MARC (no 9xx)" format
4. Compare the two, noticing that any subfield $9 or fields including 9 (other
   than 490 in flavours of MARC other than UNIMARC) have been removed

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised now.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch squashes both the original patch and Katrin's follow-up adding
marcstd as an export option on the staff client.

Feb 13, 2012 (marcel): Amended this patch to resolved two definitions of $error in catalogue/export script.
2012-02-13 11:32:18 +01:00
a526f2936e Bug 6933 [REVISED] Add a view of titles with a particular tag to the staff client
- Adds a new page to the tags moderation section for viewing all the
  titles tagged with a particular term.
- Adds display of approved tags to the catalog detail page matching the opac
  view. Adding tags from the detail view not implemented.

Follow-up adds tags display to XSLT detail view

Areas for improvement:

- I think it would be better to show "Also tagged with:" and exclude
  the current tag from the list of titles tagged with a particular tag.
- It would be nice to be able to show unapproved tags (and some idication of
  their status) along with approved tags on the detail page if the user had
  TagsModeration permission.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-02 09:46:01 +01:00
Srdjan Jankovic
706712dd1e bug_6488: Take in account opachiddenitems when searching in opac
Changed searchResults() interface
Added trailing \n when parsing OpacHiddenItems to make YAML happy
XSLTParse4Display() and buildKohaItemsNamespace() take hidden
items as input param
Removed numbering from the search results, looks wrong with
hidden items

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-01 16:00:20 +01:00
Jared Camins-Esakov
587e2e920e Bug 1633: QA follow-up
* Show the "Upload images" button when OPACLocalCoverImages is enabled but
LocalCoverImages (i.e. local cover images on the staff client) is not
* Correct copyright and license comments in new files
* perltidy and replace tabs by four spaces

Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-24 11:16:10 +01:00
e901c4f24c Bug 1633 - Interface revisions for the staff client
This patch revises the image viewer page to match other
biblio detail pages: a toolbar, a sidebar menu, etc.

Additional data is now pulled by imageviewer.pl in order
to provide information necessary for the proper functioning
of the toolbar and menus: item counts, hold availability,
biblio view options.

Other changes have been made to match the changes in the
OPAC interface like styling of the images and no-javascript
compatibility

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Magnus Enger <magnus@enger.priv.no>

Patch failed to apply because of multiple Content-Type lines in the patch.
Corrected the same with this new patch.

http://bugs.koha-community.org/show_bug.cgi?id=6473
2012-01-24 11:16:09 +01:00
Jared Camins-Esakov
57288e020d Bug 1633: [SIGNED-OFF] Don't show image tab when inappropriate
This patch corrects the bug spotted by Owen Leonard where the Images tab was
showing up even for records that didn't have local cover images attached to
them. The tab is now hidden on the OPAC for records that don't have any
images. In the Intranet, an Images tab will show for staff with permission
to upload images, suggesting that they do so. For staff without that
permission, the tab is not shown.

This permission also disables returning images via the opac-image.pl and
catalogue/image.pl scripts when local cover images have been disabled.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
2012-01-24 11:16:07 +01:00
Koustubha Kale
585a0024a1 Bug 1633: [SIGNED-OFF] Display local cover images
This patch adds display of local cover images in the following places:
1. OPAC Results page
2. OPAC Details page
3. Separate image viewer page for the OPAC
4. Intranet Details page
5. Separate image viewer page for the Intranet

Display in the Details and (OPAC) Results pages is handled via Javascript
rather than via direct embedding, to better handle the situation where most
records have local cover images, but a few do not.

Local cover images do not currently display in the Intranet Results page

How to use/test :
Assign user permission to the user Tools > (upload_local_cover_images Upload
local cover images).  In order to upload local  images, login to the staff
client. Go to Home > Tools > Upload Cover Images. Here you can upload cover
images either singly or in bulk in the form of a zip file.  If uploading
singly, click on image file, browse the image from your local disk, type in
the biblio number of the catalogue entry and press upload.  If uploading in
bulk as a zip file, the zip file must contain (in addition to cover images)
one text file named either datalink.txt OR idlink.txt. This file should
have mapping of biblionumber to image file name in the zip one per line
with comma or tab as delimiters. For example:

1, scanned_cover_image_of_bib_no_1.jpg
2, scanned_cover_image_of_bib_no_1.jpg

Cover images will be resized to a large image of 800x600 and a thumbnail of
200x140. Depending on the setting of AllowMultipleCovers, it is possible to
upload multiple images for a single bibliographic record. However, even if
multiple covers are permitted, you have the option of replacing the existing
covers by checking the "Replace existing covers" option on the upload screen.

1. The patch adds a menu link in Tools from where you can upload local cover
   images
2. It adds a user permission to enable access control to this menu item under
   Tools
3. It adds a system preference OPACLocalCoverImages under Enhanced Content.
   This needs to be turned on to show local cover images in OPAC.

Once you have uploaded local images, if you search for the biblio, the local
cover should show up in search as well as search detail pages in the OPAC, and
the details view in the Intranet.

Koustubha Kale is working on another patch which will allow us to set a cover
image source priority in system preferences, and which will then gracefully
fail over to the next source if image is not available from the first choice
source.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>

Rebased the patch because it was failing with koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css due to changes pushed in master.
Applies cleanly now.
2012-01-24 11:16:04 +01:00
Ian Walls
5fde469429 Bug 7097: HidePatronName not hiding on issue history
HidePatronName wasn't being respected on a titles Checkout History tab.  This patch
exports the preference to the template (if set), and then toggles the display between
patron cardnumber (if 'on') or the name (if 'off')

To test:

Enable HidePatronName
Go to the Checkout History tab of an item that has been checked out before
You should see the patron's cardnumber instead of their surname, firstname

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-17 18:02:00 +01:00
Chris Cormack
67c6c95396 Bug 7728 : Materials Specified field made larger and displayed
This first page makes the database change, and displays the field on
the detail.pl and moredetail.pl pages in the staff client

How to Test:

* Add a note to the materials specified page in cataloguing (952
subfield 3 for MARC21, but it shouldn't matter as long as you have a
field mapped to items.materials
* Check it displays at catalogue/detail.pl
* Check it displays at catalogue/moredetail.pl

Patch to follow to have the note display at checkin/checkout

http://bugs.koha-community.org/show_bug.cgi?id=7278

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed conflicts in updatedatabase.pl and kohastructure.sql
2012-01-10 22:41:48 +01:00
Adrien Saurat
74506e52de Bug 6374: default value for Size in result pages
When no size info is available, an empty string is
sent to the TT (if nothing is sent, the TT engine
will display another information, irrelevant for Koha).

Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Works beautifully!

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-06 16:01:48 +01:00
1730e180cd Bug 7328 Expanded options in advanced search
In OPAC and intra advanced search, more search options are displayed
depending on expandedSearchOption syspres and user choice. This doesn't
work anymore in HEAD.

This patch restore this functionnality.

To test:

  - enable/disable expandedSearchOption.
  - Load advanced search page. Limited seach options version is always
    displayed
  - Apply this patch and see how it works...

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
The problem only appeared in the staff client for me.
Tested both OPAC and staff with patch applied.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-30 12:00:51 +01:00
Paul Poulain
c96a52a4a0 Bug 5729 - Add CoinS to intranet
This patch adds CoinS support to biblio displays in staff interface.
librarians can now use zotero on the staff interface

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Modified by: Ian Walls <ian.walls@bywatersolutions.com>

GetCOinSBiblio has changed interface, requiring a $record object instead
of looking one up by biblionumber.  Calls in ISBDdetail.pl, MARCdetail.pl
and detail.pl updated.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
2011-12-27 18:37:20 +01:00
Frère Sébastien Marie
0ad7e76cb7 Bug 7282 - invalid language selection
- ensure that without cookie, language selection is based on browser
  preferences
- refactor function to obtain langugage for stem in search (opac + intranet)

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

To reproduce the bug:

- Activate en and fr-FR for OPAC
- Clear your browser cookies
- Select your language preference in your browser: fr, fr-fr, en
- Load OPAC main page
- OPAC is displayed in English, rather than French as asked by browser
  preferences

  Apply the patch and test:

  - Clear your browser cookies
  - Load OPAC main page
  - Pages are displayed in French

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-16 14:20:11 +01:00
e65dc43af7 Fix for Bug 7121 - remove comma on items info
Because I can't just take out one comma, I reworked
the way moredetail.pl fetches and outputs biblio
data based on the way it does in detail.pl. This
allows for simpler output in the template.  In the
process I've added subtitle information to the
template.

Revision adds line break for readability

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-13 17:16:10 +01:00
Paul Poulain
b9d743a928 Merge remote-tracking branch 'origin/master' into new/bug_6679
Conflicts:
	catalogue/showmarc.pl
2011-12-08 10:08:44 +01:00
Chris Cormack
4a14e7dbe6 Bug 6679: catalogue/ now passing perl critic tests
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-08 10:05:48 +01:00
2177562ecf Bug 3385 - Add checkout date and renewal date to display list of checked out items
This patch doesn't fix the origial request to add the renewal date
to the list of checked out items, but follows the other bug commenter's
suggestion that the information be added to the item details page
(moredetail.pl).

The other part of this request, to add the checkout date, has already
been fixed by another patch.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-06 19:22:01 +01:00
Paul Poulain
7267ea91ac Merge remote-tracking branch 'origin/new/bug_5211' 2011-12-06 11:36:57 +01:00
Srdjan Jankovic
1713133fdd bug_5211: LostItem() - added charge_fee param to control fee charging
Pass charge_fee = yes wherever is LostItem() called, which effectively
means tha there's no change.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-06 11:36:34 +01:00
Ian Walls
c70ff88205 Bug 2616: Remove unnecessary 'use HTML::Template' calls
Removes deprecated calls to HTML::Template or HTML::Template::Pro from:
C4/Output.pm
catalogue/export.pl
reports/issues_by_borrower_category.plugin
reports/itemtypes.plugin

Only remaining calls are in misc/cronjobs/rss/rss.pl, misc/cronjobs/smsoverdues.pl,
and t/test_template.pl.  These scripts still legitimately depend on H:T:P

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-06 11:34:05 +01:00
Robin Sheat
e7251f73a2 Bug 6916 - item's acq date now takes you to its invoice
When viewing an item's details, selecting the accession date for it now
takes you to the invoice for that item.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works as advertised.
1) Order and receive an item in acquisition
2) Search for it in staff and go to the 'items' tab
3) Click on the 'receive date' link

Fixed conflict in moredetail.pl.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
QA. This patch does only work when AcqCreateItem==placing an order. This is caused by an existing bug. See Bugzilla for more details.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-11-17 17:05:17 +01:00
Chris Cormack
d50de1f040 Bug 6972 : Followup fixing bad indentation 2011-10-20 01:52:52 +13:00
Maxime Pelletier
030fe0570f Bug 6972: Hardcoded template paths to en in showmarc
Couldn't help but reformat the indentation a bit.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Card view works correctly in cataloguing search.
Plain view/labelled show correctly in OPAC.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Fixing merge conflict.
2011-10-20 01:48:52 +13:00
Chris Cormack
16f1fffdd1 Merge remote-tracking branch 'kc/new/bug_5616' into kcmaster 2011-10-19 16:45:41 +13:00
980d8fbed4 Bug 5616: UTF-8 problem in Card View / Follow up
Decode data only if needed.
Add instruction to use UTF8 in html header.
Force utf8 on output handle.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Umlauts and other diacritics in card view of z39.50 search are now
correctly displayed.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
  removed 2 commented lines

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-19 16:45:17 +13:00
Srdjan Jankovic
4770555855 bug_5533: Slightly improved marking items as lost
Call LostItem() whenever item is lost.
LostItem() new arg - mark returned.
Disabled Lost Status on catalogue item edit.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

For follow up we need to explain how to hide the 952$1 (lost) from
the framework by putting it in the 'ignore' tab.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-18 09:01:39 +13:00
Paul Poulain
37902b25a7 Bug 6840 warning in logs
In staff interface, in search (catalogue/search.pl), there is a warning saying:
[Fri Sep  2 18:20:24 2011] search.pl: Use of uninitialized value $key in hash
element at /home/paul/koha.dev/koha-community/C4/Templates.pm line 227.

The problem happens when searching from the quick search toolbar, not when you
search from advanced search.
Investigating, it seems it's because the sort_by is not defined in this case.

This patch
* fixes the problem in Search.pl by setting the parameter only if there is a sort_by field
* modify te Template->param sub to get a better error message. Instead of having just "use of uninitia..." get the value you try to set to an empty key. Much easier to understand which line causes the problem

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-13 16:17:33 +13:00
Jared Camins-Esakov
f09e2ca27e Bug 5528: Analytic records support
Display links to parent biblios, show linked items in holdings, allow holds on
linked items. This uses MARC to maintain relationships.

Sponsored by the Mississippi Department of Archives and History and RapidRadio
Solution. Originally developed by Savitra Sirohi and Amit Gupta at OSSLabs, with
UNIMARC support added by Zeno Tajoli. Commits squashed and merge conflicts
resolved by Chris Cormack from Catalyst. Respect for NORMARC and some small
framework portability fixes made by Jared Camins-Esakov of C & P Bibliography
Services.

IMPORTANT NOTE: A bug in the 773 coding for MARC21 was corrected from the
original OSS Labs code. The 773s generated by the pre-release code did not have
the first indicator set to '0', which means that they were not supposed to
display. Going forward, the first indicator will be set correctly, but existing
records created with this code will no longer appear (they appeared before only
due to another bug). To correct this, you could globally (or, to make sure you
only modify records created with the Analytics tool, for records with 773$0)
change the first indicator of the 773 from blank to '0'.

== Background ==
An analytic record for an item is a more detailed, monographic biblio for an
item attached to a serial record .  This is often used for special issues of a
journal that are released as books on their own (assigned an ISBN, as well as an
ISSN/volume/issue).  It is important for researchers to be able to search for
these items both as issues of the serial, and as monographs.  It is equally
important for the library to not have duplicate item records for the item in
question to have to keep synchronized.

== Establishing relationships ==
Analytical records are connected to items belonging to parent or host
bibliographic records. This can be accomplished by:
* From an analytical bibliographic record linking to an host item by providing
  the item barcode as input
* From a host item by using option "analyze", this creates a new empty
  bibliographic record with field 773 (MARC21) populated
* Running a new CLI script that establishes a relationship between the
  analytical record and the host item identified by the barcode in the
  analytical record's 773$o (MARC21)

== Connecting Records ==
The relationships are maintained in the MARC records, we have not used database
tables at all.

== MARC Representation ==
In MARC21/NORMARC we have used:
* 773$9 to store the Koha item number of the host item
* 773$0 to store the Koha biblio number of the host bibliographic record

The above fields are used to display the relationships in various screens in the
OPAC and the staff interface. Additionally, when populating field 773 with host
item's details, we have used following MARC 21 mapping:
* 'a' <= 100/110/111 $a (author main)
* 'b' <= 250$a (edition)
* 'd' <= 260$a, 260$b, 260$c (place, publisher, year)
* 'o' <= barcode
* 't' <= 245$a (title)
* 'w' <= (003)001 --> if no 001 is available, we can populate biblionumber
* 'x' <= 022$a (issn)
* 'z' <= 020$a (isbn)

In UNIMARC, this code uses:
* 461$9 to store the Koha item number of the host item
* 461$0 to store the Koha biblio number of the host bibliographic record

When populating field 461 in UNIMARC, the following mapping is used:
* 't' <= 200$a (title)

== Treatment of Holds ==
A key requirement was to allow holds to be placed on host items from the
analytical record. We have accomplished this by allowing holds on specific
copies only. Biblio level holds are not allowed. This ensures that holds are
placed on specific items that are relevant to the analytical record.

== Deleting host items with linked analytical records ==
As we have not used database tables to maintain relationships, we had to use
search to find out if any linked analytical records are present. If 1 or more
analytical are present, we do not allow deletion of items. This is similar to
what we see when we try to delete authority records.

== Importing analytical records ==
Analytical records can be imported using bulkmarcimport or the GUI tools. The
new CLI script can be executed after the import to establish relationships with
host items. The script will establish relationships using the host item's
barcode, the barcode must be present in 773$o of the analytical record.

== What if there are two or more copies of the host item? ==
The current design will require that there be two host (773) fields, one for
each copy.

== What if there is no barcode available for the host item? ==
It is still possible to establish a relationship, by populating 773$9 with the
host's item number. However the CLI script uses barcode in 773$o to establish
relationships so it won't work where barcodes are unavailable. Also from an
analytical record, it is possible to establish a relationship to a host item by
providing the barcode as input, this option will not be available as well.

Commits that added the following features were squashed by Chris Cormack (this
is not a list of every commit):
* Display links to host records from biblio detail screens
* Support for UNIMARC, respecting the system preference 'marcflavor'
* Support holds from the OPAC
* Ability to link to items belong to host records from a analytical record
* Display items belonging to host records in the moredetail page
* Ability to edit items belonging to host records, also ability to delink from
  them
* Move get host items code into a C4 routine, also calling the new routine in
  related perl scripts
* Move host field population to a C4 routine, all changes in pl files to call
  new routine
* Allow only specific copy holds for analytical records plus changes to use new
  C4 routines
* Support for holds on items linked via host records
* Storing bibnumber and itemnumber in subfields 0 and 9, plus other mapping
  changes
* New command line script that establishes relationships between analytical
  records and host items and bibs. The script looks for host field (MARC21 773)
  in records, and based on barcode in subfield 'o' populates host bibnumber in
  subfield '0' and host itemnumber in subfield '9'. The script can be run after
  an import of analytical records, it can also be run in the crontab to maintain
  the relationships
* Ability to create analytical records from items, to view linked analytics, and
  prevent deletion of items that have linked analytics
* New template for catalogue/detail.pl (NOTE: not a new template file, just a
  new way of displaying analytics), template displays linked analytics and
  allows creation of analytical records
* New zebra index for item number in host fields. This index will be used to
  display links to analytical records from host records
* Display title of host record instead of the phrase host record
* Using detail.tmpl for analytics tab instead of a new template file
* Improved qualification info prepration in Prephostmarcfield
* Check for linked analytics before deleting item
* Display link to host record and more meaningful anchor text for edit item link
* Analytical record: Unimarc index in record.abs and help in
  create_analytical_rel.pl
* Adding a sys pref that controls display of options to create analytical
  relationships
* Add host entry in XSLT stylesheet in staff item detail
* Added host record support to OPAC detail XSLT
* Adding 773$0 and 773$9 to all frameworks
* Adding 773 subfields 0 and 9 to default marc framework via updatedatabase.pl
* Display create analytics and used in links in catalog detail
* Fixed problem where analytical records not showing in OPAC search results
  because GetMarcBiblio now needs a flag to add item records
* Fixed problem where analytics count was set to 1 for all records, not just
  those with analytics
* Fixed catalogue detail page not to show analytics counts if count is 0

Conflicts:
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
	kohaversion.pl

Co-author: Savitra Sirohi <savitra.sirohi@osslabs.biz>
Co-author: Zeno Tajoli <tajoli@cilea.it>

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-13 10:03:39 +13:00
6b8be20497 Bug 6755 Problems with switching languages
This patch solves the situation that news is in another language than
the Koha interface AND makes that themelanguage routine is always called
the same way in order to prevent mixed display.

It fixes also a bug related to language preselection based on web
browser prefered language.

September 9: Adjusted with input of Frederic Demians.

Septembre 10: Avoid circular dependency, as pointed by Chris Cormack.
Templates related functions are moved from C4::Output to C4::Templates

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-23 09:47:09 +12:00
Chris Cormack
5a2fc683d8 Bug 6656 : Fix for advanced search not respecting default sort order
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-01 21:06:12 +12:00
Liz Rea
7ad49e0cae Bug 6641 -- Specially crafted URL can allow unauthorized download of MARC files from staff client
Making sure permissions are checked on download of MARC files from staff client

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-01 21:13:11 +12:00
Colin Campbell
129d97df97 Bug 5453: Move declarations from within conditionals in catalogue/search.pl
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-15 15:50:21 +12:00
Magnus Enger
9efdfa1ba2 Bug 6510 - [REVISED] Sort by in intranet search alters search and number of hits
This patch uses .*? instead of .*

To test:
- In advanced search in the intranet choose Author as the search index
- Do a search for an author, check the number of hits
- Choose another value than the default from Sort by
- Check that the number of hits is the same as for the original search, once
  the hits have been re-ordered

Signed-off-by: MJ Ray <mjr@phonecoop.coop>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-26 08:23:21 +12:00
Colin Campbell
2ab00242d0 Bug 6050 Make calls to GetItemsInfo consistent
Do not misleadingly document or pass an unused second parameter
makes all calls use the single parameter call as the C4
routines already did

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-14 14:12:02 +12:00
Fridolyn SOMERS
a8f5bf93f9 BUG6091 Remove undeclared syspref OPACAdvSearchInputCount
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-05-28 19:03:33 +12:00