When adding a duplicate stocknumber the duplicate was not saved to the database.
This happened, because the field stocknumber in table items was declared to be unique.
Discussion on bug suggests to lift this restriction.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested. Corrected typo in updatedatabase script. Version 3.01.00.095 introduced the index with double s, although structure had only one s in index name.
Unaware of this bug, I entered the more general bug 6041 for similar problems with modifying items. Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 5948 : Creation of a quantity column in receipt summary
In receipt summary the quantity did'nt appear in already received table, this patch fixes the omission
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch tested on current master. Works like advertised. Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Katrin Fischer [Tue, 29 Mar 2011 21:48:46 +0000 (23:48 +0200)]
Bug 5839: Add mapping for items.stocknumber to MARC21
This patch adds 953$i 'Inventory number' to the frameworks.
952$i inventory number is not repeatable, not mandatory and mapped to items.stocknumber.
In a later patch a search index will be added to make inventory number/stocknumber searchable.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Katrin Fischer [Mon, 4 Apr 2011 08:38:02 +0000 (08:38 +0000)]
Bug 5839: Add index stocknumber on 952$i
This patch adds a new index for stocknumber on field 952$i.
Note: For testing you have to copy over the changed files
from kohaclone/etc/zebradb/ to your koha-dev/etc/zebradb folders.
Reindex.
To test:
1) Add 952$i to your frameworks
2) Add an item with 952$i
3) Search for your 952$i value in keyword search
4) Search for stocknumber, using stocknumber:<your 952$i value> or inv:<...
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 4421: Add alternate holdings display and prefs
This patch adds the ability to specify a field with alternate holdings
information for display when a biblio has no items associated with it.
Two sysprefs are added:
* AlternateHoldingsField specifies what field/subfields contain the alternate
holdings information. When blank, the alternate holdings information is not
displayed. The default is blank, as this is a new feature.
* AlternateHoldingsSeparator specifies the string to be used to separate
multiple subfields in the alternate holdings display. The default is ' '.
Example use case:
A library which does not have a 1-1 relationship between uncontrolled 852 fields
from a legacy system and actual physical items on the shelf wishes to display
holdings information from the 852, but does not want to create item records
which are almost certain to be inaccurate. By enabling the alternate holdings
feature (AlternateHoldingsField = '852abcdhi' and AlternateHoldingsSeparator =
' -- '), the library is able to gradually add item records as they locate the
physical items, without losing the holdings information presently stored in the
uncontrolled 852 fields.
To test:
1) Set AlternateHoldingsField to '852abcdhi'
2) Set AlternateHoldingsSeparator to ' -- '
3) Change the hidden value of subfields 'a', 'b', 'c', 'd', 'h', and/or 'i' of
field 852 to 0 so that they display
4) Create a record which has data in the 852, but no item record
5) Look at holdings tab, where the data you entered should be displayed
Proof-of-concept initially developed for the American Numismatic Society.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Ian Walls [Fri, 1 Apr 2011 17:34:35 +0000 (13:34 -0400)]
Bug 5548 Follow up: Confirm Checkout message where it shouldn't be
Fixes the main Hard Due Dates conditional to first check for the existence
of $hardduedate, then the existences of its ISO export, then finally that that
value is not '0000-00-00'
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 3727: Corrects the behaviour of the itemtype selectbox in addbiblio.pl
If the subfield is set as mandatory with an empty default value, an
empty value is added in the selectbox and this value is selected by
default. Before, the first element was automatically selected, so it was
easy to forget to set this mandatory value.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Liz Rea [Wed, 30 Mar 2011 20:41:01 +0000 (16:41 -0400)]
Bug 6006 - Move location from current location to home library column on detail.pl
It doesn't make sense to have the home library's location (example: Adult) in
the "current (branch) location" column, since that location is assigned by the
home library.
This patch moves it to the "home location" column, where it belongs.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Module to Import/Export a Framework structure to CSV/Excel-xml/ODS/SQL in Intranet Administration - MARC Frameworks section.
There are two new links: "Export" to export to a format; and "Import" to import from a file.
The data exported/imported is the one stored in the MySQL tables marc_tag_structure, marc_subfield_structure.
Exported works as follows:
1) CSV: As this format only allows one worksheet, the data from the tables is splitted with a row with #-# cells or with the
names of the fields of the next MySQL table. Each row has as much cells as fields has the MySQL table. The first row contains the
field names, the remaining holds the data.
2) Excel: Excel xml 2003 format. Each MySQL table has its own worksheet in the spreadsheet. Rows and cells data as CSV.
3) ODS: OpenDocument Spreadsheet compressed format, creates a temporary directory to generate the files needed to create the zip file.
Each MySQL table has its own worksheet in the spreadsheet. Rows and cells data as CSV.
4) SQL: Text file, the first row for each table is a delete and the remaining are inserts.
Importing reads the rows from the spreadsheet/text-file as follows:
1) CSV: Each row inserts or updates the associated MySQL table for this framework. At the end of the importing for a MySQL table, deletes the rows in the database that don't possess a correspondence with the spreadsheet.
2) Excel: Imports each worksheet to the associated MySQL table. Works as the CSV for each worksheet.
3) ODS: Creates a temporary directory to decompress and read the content.xml. This file has the data needed to import.
Works as the CSV for each worksheet.
4) Executes the SQL file.
If the file imported has a different frameworkcode that the framework importing, the framecode is changed along the process.
The Csv format will be the default.
It uses perl module Archive::Zip or zip/unzip system command to process ODS files.
To parse the sql files when importing it uses SQL::Statement or homemade parsing.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 5857: longoverdue.pl needs a quiet mode for batch runs
This patch creates a --quiet flag for longoverdue that will squelch
the summary at the end of the run. It also silences an unnecessary
warn in C4/Acounts.pm
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Katrin Fischer [Sun, 27 Mar 2011 21:42:18 +0000 (23:42 +0200)]
Bug 5959: Add search link for analytics to serial records
This will work similar to 'Show volumes' links from traced series records and
set records. A link to search for analytics linked to serials.
A new syspref will be added: UseControlNumber.
This syspref will make it possible to determine, if $w and Controlnumber are
used for linking of records in bibliographic records.
If syspref is OFF (default), the search links will not use control numbers
but keywords.
If syspref is ON links will be built using Control-number and rcn index.
NOTE: 773$a is added to index Host-item. For testing on a dev installation:
copy record.abs to your koha-dev folder and reindex!
Rebased against 3.03.00.035 and a small typo fixed by Jared Camins-Esakov.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 5987: Add cl scripts to touch all biblios and items
Add scripts that call ModBiblio and ModItem on all or some of the records in a
given catalog. For use when an upgrade changes the behavior of ModBiblio or
ModItem, and the change needs to be retroactively applied to records already in
the system. Usage is as follows:
misc/maintenance/touch_all_[biblios|items].pl [-v] [--where=STRING]
When invoked with a --where argument, the scripts will only modify those biblios
or items that match.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Ian Walls [Wed, 30 Mar 2011 20:40:12 +0000 (16:40 -0400)]
Bug 5578: Self checkout by Login enhancement
Enables the library to choose whether to have patrons scan their barcodes for self checkout, or login
with username and password. Uses 'checkpw' for compatibility with LDAP authentication.
Also introduces a few new system preferences to make Self Checkout more secure and manageable:
SelfCheckTimeOut: the number of seconds before the self-checkout login times out for a patron
AllowSelfCheckReturns: indicate whether or not patrons can return materials via self-checkout
SelfCheckHelpMessage: user-configurable HTML to show specific text on the Help page.
Thank you to Marlboro College in Marlboro, VT for sponsoring and testing this development!
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Doug Dearden [Thu, 31 Mar 2011 21:22:26 +0000 (15:22 -0600)]
Bug 5738 Display 856u As Image
Add an option to the OPAC to display the URI that is stored in the 856u field
as an image instead of a text link. This would be implemented in the OPAC XSLT
style sheets for the Results and Details pages, and would require that the
corresponding OPAC XSLT option be set.
This enhancement is designed to enable the staff to catalog images, then have
them appear on the resulting pages in the OPAC when searching. Clicking on the
image would open it full size. If the image option is in use, then the default
link text would be disabled. Custom text would still appear if entered in the
"URLLinkText" option.
Add system preference "Display856uAsImage" with options of Results page,
Details page, Both Results and Details pages, Neither Results or Details page.
Notes for documentation manager:
There are two system preferences added for this enhancement:
OPACDisplay856uAsImage and Display856uAsImage. These appear on the OPAC and
Staff Client screens under the System Preferences.
The preference can be set to one of four options:
Both Details and Results pages
Details page only
Neither Details or Results pages
Results page only
In addition to this option being set, the corresponding XSLT option must be
turned on. Also, the corresponding 856q field must have a valid MIME image
extension (e.g., "jpg") or MIME image type (i.e. starting with "image/"), or the
generic indicator "img" entered in the field.
As of 14 March 2011 the UNIMARC xslt display files also require a "0" in the
second indicator location of the 856u field for the links to be activated. This
is not true for the MARC21 display files.
When all of the requirements are met, an image file will be displayed instead of
the standard link text. Clicking on the image will open it in the same way as
clicking on the link text.
Rebased and three original patches squashed into one on 30 March 2011 by Jared
Camins-Esakov.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Doug Dearden <dearden@sarsf.org> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Ian Walls [Wed, 30 Mar 2011 17:39:53 +0000 (13:39 -0400)]
Bug 5990: Lists and Cart show LOC code not Location Authorized value
Lists in the OPAC, and Cart on both sides, show the LOC code for items, rather
than the appropriate Description from Authorised Values. This is because the
code uses GetItemInfo, which is a very heavy-weight call to only retrieve some
of the desired information.
This patch introduces a new subroutine in C4::Items, GetItemsLocationInfo, which
returns the branch names for both home- and holdingbranches, the location code,
both opac and intranet location descriptions, itemcallnumber and cn_sort. This
should be used instead of GetItemsInfo in any case where the locational
information is all that's required, as it's much more streamlined and efficient.
In the OPAC Lists, this only applies if OPACXSLTResultsDisplay is 'off' (set to
'normal').
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Ian Walls [Wed, 30 Mar 2011 16:01:34 +0000 (12:01 -0400)]
Bug 5957: Making COiNS in OPAC search results optional
Adds a new system preference, COinSinOPACResults, which toggles the inclusion of
COiNS/OpenURL/Z39.88 in the search results display. Default is 'on', continuing
the current behaviour.
Disabling this feature will result in a significant increase in search speed, since
each call to GetCOinSBiblio requires a separate parsing of the MARC record, and there are
<OPACnumSearchResults> calls to this routine with each search.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Ian Walls [Thu, 31 Mar 2011 19:33:17 +0000 (15:33 -0400)]
Bug 5578 Followup: Hard Due Dates break hard-coded default circ rule
If you do not have an applicable circulation rule for a combination of branch,
item type and patron category defined in your Circulation and Fines rules,
the Hard Due Dates development prevents circulation by introducing an error:
Can't call method "output" on an undefined value at /home/magnus/kohahead/C4/Circulation.pm line 2713
This is because the $hardduedate variable is not defined. Changing the conditional
to check it, rather that it's output, fixes the issue. That's what this patch does.
Is this the longest commit message for a single line fix? Maybe.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
If an item is returned at other than its' home library, and there is a hold for
it--at any library other than the return library--two prompts come up: one
telling the user to send the item home, and the other, to confirm and transfer
for the hold. Only the latter should be displayed.
Bug 3270:
Cancelling a hold request after transfer initiated orphans item.
Signed-off-by: Liz Rea <lrea@nekls.org> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
If you did a CCL query, then attempted resort, you would get the advanced-search page,
because of wonky URL escaping of the q= clause. This patch fixes that.
Signed-off-by: Liz Rea <lrea@nekls.org> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Owen Leonard [Wed, 30 Mar 2011 13:34:25 +0000 (15:34 +0200)]
Fix for Bug 3523 - Menu of existing lists limited to 10
- adding "more" option to the search results dropdown
- offering a scrolling list on the add-to-list popup
- lists add popup shows the full list of all
the patron's lists, divided into groups of private and
public lists.
Can be improved by a fix for Bug 5529
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Nicole C. Engard [Wed, 30 Mar 2011 20:47:13 +0000 (16:47 -0400)]
Bug 5940: Offline Circ & Patron Card Help Files for 3.4
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Nicole C. Engard [Wed, 30 Mar 2011 19:48:04 +0000 (15:48 -0400)]
Bug5940: Authority, Labels, Circ help files for 3.4
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Nicole C. Engard [Tue, 29 Mar 2011 21:35:41 +0000 (17:35 -0400)]
Bug 5940: Admin Help Files for 3.4
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>
Ian Walls [Mon, 28 Mar 2011 21:17:09 +0000 (17:17 -0400)]
Bug 5548: Hard Due Dates Circ Rule
Implements the RFC found at http://wiki.koha-community.org/wiki/Hard_Due_Dates_Circ_Rule_RFC. See squashed commits
messages below for details of implementation.
Hard Due Dates dev part 3: implementing the due dates in circ
CalcDateDue now calls GetLoanLength, rather than each invocation running separately one after another. Therefore, instead of
the 'loanlength' param, CalcDateDue now takes 'itype', and uses the info to get both the issuelength and the hardduedate info (if it exists)
Global Due Date no longer populates in the sticky due date field in Circ, since it can't be determined before the item is scanned. Any specified
due date still overrides the circulation rules, if allowed.
Hard Due Dates in the past will return an error message, but can be manually specified if truly desired.
Also, a small fix to updatedatabase.pl to allow the old data to populate if possible.
Adds two new columns to issuingrules, a hardduedate and a hardduedatecompare. If globalduedate is set, use that as the universal value
for all circ rules. Else, if ceilingduedate is set, use that as the universal value. Adjust the comparison accordingly (-1 before, 0
exact, 1 after). the old system preferences globalDueDate and ceilingDueDate are then removed.
Rebased onto 3.03.00.032
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com> Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Ian Walls [Mon, 28 Mar 2011 14:21:02 +0000 (10:21 -0400)]
Bug 5547: Hide Lost Items dev
Adds a Hide Lost Items option to the staff client, as detailed in the enhancement request
at http://wiki.koha-community.org/wiki/Hidelostitems_option_for_the_staff_client_RFC
Minor edits: Whitespace
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Colin Campbell [Tue, 29 Mar 2011 13:57:41 +0000 (09:57 -0400)]
Bug 5708 : Get Correct Discount when levying rentalcharge
Branch can be a parameter so it should be included in the rule retrieval
Need to select the most appropriate rule from those returned
(was defaulting to first returned!)
Try to make what's happening a bit less opaque
null fields are returned as undefined not 'NULL' by DBI
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Because of the way Scan Indexes works, the results cannot be sorted. Previously
when any sort other than relevance (or in some cases popularity) was used, the
search failed. This patch disables sorting on Scan results. This patch also
fixes the index selection dropdown on the results page, which was not being
populated correctly from the Advanced Search screen.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Nicole C. Engard [Tue, 29 Mar 2011 14:21:15 +0000 (10:21 -0400)]
Bug 5940: Acq and Suggestion Help Files for 3.4
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>
This makes sending reports via e-mail with runreport.pl work properly. It also
adds a --format option to allow the user to select between text, html, csv, and
tsv. At the moment text is not implemented, and falls back to tsv, but that is
still more readable than the HTML that used to be produced.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Magnus Enger [Mon, 28 Mar 2011 15:42:57 +0000 (11:42 -0400)]
Bug 4265: Fix padding of short callnumbers and Bib-1 attribute for sorting
1. The current C4::ClassSortRoutine::Dewey turns "306 Les" into "306_Les" for items.cn_sort and MARC-field 952$6, which results in "306.46 Les" being sorted before "306 Les" in the OPAC. With this patch, "306 Les" is turned into "306_000000000000000_Les".
2. Currently, call_number_asc and call_number_desc are set up to sort by 1=20, but this is mapped to Local-classification in ccl.properties, which is mapped to 952$o in record.abs.
This patch changes these sorts to use 1=8007, which is mapped to cn-sort and 952$6.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Previously GetAllIssues was called before authenticating. Given how expensive
GetAllIssues is, this is problematic and could be used for used for DOSing the
server. There should be no functional change from this patch.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch begins the process of improving the COinS support in Koha to take
advantage of all the metadata available in the MARC format. COinS still doesn't
work quite right, but at least it seems to be following the standard now. The
COinS exported by C4::Biblio::GetCOinSBiblio now correctly identifies articles
from journals and books as such.
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com> Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>