This plugin will automatically add brackets around the value typed in at the time the field's focus is removed ( onblur ).
If the text in the field is already enclosed in brackets, it will do nothing.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Looks like someone has done some search/replace on character codes with
patterns that match the address. Oops.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Give the user the ability to merge two records, one being kept and the other deleted.
Selection of the records to merge can be done from virtualshelves.
In addbook.pl, the framwork options are sorted in random order. They should be
sorted in alphabetical order of value or code.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The breeding id, rather than coming from the database, was set by a counter.
Not so good links in the search results that way.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
In the cataloging search results from the catalog, the result set would
decrease by one per page. Past page 19 there was an empty table. The reason
is that SimpleSearch gives the result set ( 20 records here ), and
searchResults expects to trim the result set to just the 20 records we want.
This changes the call to searchResults() to have a 0 offset to the result set.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Ensure that the temporary processing location is always
set regardless of whether one item is added or multiple
copies are added at once.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Allows temporary locations corresponding to 'in processing' and 'shelving'
so that newly-created items, and newly-returned items do not show
immediately as a available. Three new system preferences govern the usage
of these features.
NewItemsDefaultLocation. If system pref NewItemsDefaultLocation is set to a location code,
all newly catalogued items will be set to the location set in this preference.
Location code must be a valid LOC authorized value type.
InProcessingToShelvingCart. if the system pref InProcessingToShelvingCart is turned on,
any items run through returns.pl with a location code for 'PROC', will be modified to
have a new location code of 'CART'.
ReturnToShelvingCart. If the syspref ReturnToShelvingCart is turned on,
all items returned other than confirmed holds will have a new location code of 'CART'.
Any item issued is automatically taken of the shelving cart.
Adds a cron script shelf_to_cart.pl which should be run hourly.
Updates all items with a location of CART to the item's permanent location.
The original location code is stored in the new items column 'permanent_location'.
Original Author: PTFS Contractor <dbavousett@ptfs.com>
This work co-sponsored by
Middletown Township Public Library, Middletown, NJ USA and
East Brunswick Public Library, East Brunswick, NJ USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Numbers in perl with leading zeros are interpreted in octal
Ensure that comparisons are done using string operators
or where appropriate use the MARC::Field method
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch, fix the unimarc 700-4 plugin, adding the plugin_parameters() function.
And add an eval, that permit to have error in plugin, but don't die the editor.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
In the previous patch,
- my @subf = $field->subfields;
- (defined @subf) or @subf = ();
is not equivalent to
+ my @subf = $field->subfields || ();
as, the results of $field->subields is interpeted in scalar
context, not list context, resutling in @subf containing
the number of subfields, not the subfield data itself, which
engenders the error
Can't use string ("1") as an ARRAY ref while "strict refs" in use
later on. Changing the operator to 'or' instead of '||'
fixes this.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Adding a new item should pre-select the library you are logged in at, where possible.
Use GetBranchesLoop. This solves indy branches filtering, and sort order problems.
Set default off of ->{selected}, to establish pre-selected branch.
Fix flags check in onlymine sub, so superlibrarian + other flags still gets everything.
Removed defined(@array) check, since perl -wc warns it is deprecated.
Note new FIXME for botched date processing.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed unused toggle variable from z3959_search.pl. Added __odd__ variable to table in z3950_search.tmpl for non-javascript users.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Before this patch, we used to test for flags == 1, which was wrong when patron had all privileges.
This patch just adds a %2 to check that patron has superlibrarian privilege, and maybe something else we don't care.
I think I fixed it everywhere except in acquisition, that will be addressed by BibLibre new acquisition module.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Coding by Rick Welykochy <rick@praxis.com.au>
[1] Three new system preferences to enable particular
bib record views in the staff interface:
viewMARC
viewLabeledMARC
viewISBD
Implements enhancement 2642.
[2] New button in the regular and cataloging search results
pages in the staff interface to allow the operator to redo
the search against Z39.50 targets instead of the Koha database.
[3] Added copyright date and edition to cataloging and Z39.50 search results.
Implements enhancement 2640.
Feature sponsored by MassCat.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
It turns out that the "blank" record created by MARC::Record->new()
has a leader, so now I explicitly create one in addbiblio.pl. I
also realized I can't count. :-)
Modified per comments by Joe and Galen to keep SetMarcUnicodeFlag
and move it and the leader set to earlier in the process.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Changed the plugin so that the form for editing the MARC21
leader now sets postion 9 (character coding) to 'a' (UCS/Unicode)
and no longer gives the cataloger the option to change it. Koha
uses UTF-8 exclusively for MARC records, and a number of bugs
can be triggered by storing MARC21 bib and authority record
whose Leader/09 is anything other than 'a'. Since internal
routines are increasingly ensuring that the MARC21 Leader/09 is
set to 'a', it doesn't make sense to give catalogers the idea
that it's possible (or a good idea) to set the Leader/09 to any
other value.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
biblios can now be added librarian name automatically when cataloguing.
add "user" in the Default value of the biblio
[RM doc note: in other words, if in the MARC framework you set
the default value of a subfield to 'user', the username of the
cataloger will be entered into that subfield whenever you create
or modify that bib in the Koha bib editor.]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When clicking on the '...' of an headings field
in the bib editor, the authority search that
popped up did not take the default search
string from the bib field. Fixed by making
sure that openAuth is always used to do the
popup link.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
It turns out that the "blank" record created by MARC::Record->new()
has a leader, so now I explicitly create one in addbiblio.pl. I
also realized I can't count. :-)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This correct the html select default in additem.pl, and enforces use of
biblioitems.itemtype as the default in Items::AddItem. The code in
Items is to catch items added through MARC record staging.
Thanks to Joe Atzberger for suggestion.
[RM note: this patch means that an item's item-level item type,
once that item is added or updated via additem.pl,
now cannot be blank or NULL unless the biblio-level item type
is blank.]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch makes sure that MARC21 authorities have a minimal
Leader, 008, and 040. If an authority record is created through
BiblioAddsAuthority it generates a 670 based on information in
the bib record.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Delivered version only had Text material type; this patch includes
all 14 material types with appropriate values for each.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch depends on my previous one "Begin cleanup on additem" and
fixes one bug introduced in that patch.
Overhaul of additem sections to factor out common pieces especially attributes.
Plugin js vastly simplified and reimplemented in jquery. Performance improved.
Note that a particularly busy cataloging department should still leave
barcode blank for server-side autopopulation to avoid collision.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
REFACTOR logic out of conditional branches when the assignment ($nextop) is the same.
Be sure to EXIT after printing a redirect, instead of wasting clock filling in the
template for a process the user will never see. Remove the now inapplicable logic for
differentiation between "/cgi-bin" and "non /cgi-bin" installations. There is no
longer any /cgi-bin in the actual directory file path.
This does not fix the value_builder js errors like "Blurbarcode52251 is not defined",
but it does not cause them either (see Bug 2919).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch modifies z3950 search result page in order to
use jquery to highlight rows rather than an explicit
css class.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch fix the unimarc plugin 4xx to work with cloned fields, the id of the div wasn't replaced when the field was cloned.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fix two bugs:
* tag duplication
If you try to duplicate an autority tag, the javascript call is kept, and the id is not modified, and fields are not emptied.
* openAuth() call
The id called on duplicated fields is not the great id.
And the different values sent to auth_finder.pl to pre-fetch datas from firstname, etc... send values from all same tags, and not from the selected tag.
(cherry picked from commit 40115eb110)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Adding two js functions :
getSubfieldcode(tagsubfieldid) returns the subfieldcode from tagsubfieldid
(tag_XXX_subfield_Y_WWWW_TTTT returns Y)
getTagInputnameFilter(tagsubfieldid)
(tag_XXX_subfield_Y_WWWW_TTTT returns tag_XXX_subfield_._WWWW)
I think those two functions are much useful when cataloguing.
openAuth now takes all the information for Heading search of authorities.
TODO A javascript DOM Navigation would be better.
This js works, but is surely slower than DOM would be.
Still, it seems that our DOM tree is quite hard to decode.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This includes part of a patch from Henri-Damien Laurent
that could not be applied because Chris and Joe patches
happened to win the race.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Failure to pass the $framework parameter by dateaccessioned.pl causes
GetMarcFromKohaField to return 0,0 which breaks the value builder. The
patch
submitted corrects this.
This patch is build against the current 3.1.x HEAD, however, this bug
also
affects the 3.0.x codebase and should be applied there as well.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Failure to pass the $framework parameter by barcode.pl causes
GetMarcFromKohaField to return 0,0 which breaks the value builder. The
patch
submitted corrects this.
This patch is build against the current 3.1.x HEAD, however, this bug
also
affects the 3.0.x codebase and should be applied there as well.
fbcbug 4
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This plugin use the 'ISBN' field(010$a) to search the "publishercode"(editor) and set it in as 210$c.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
You actually *could* input data into those fields, but it wasn't
immediately obvious, because the field size was "4" and the
value was " ". You couldn't type anything in until you
backspaced over the spaces that were there by default.
UPDATE 2008-11-05: Make absolutely sure that those values
are 4 chars long (via JavaScript)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Most Perl scripts (as opposed to modules) do
not need to require Exporter.
No user-visible or documentation changes.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This makes "Try another search" in the Z39.50 search tool pass the biblionumber along, so that records are overlaid correctly.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If BiblioAddsAuthorities is ON, saving a MARC bib record
in the cataloging editor can create new authority records.
When using MARC21, if one of those authority records
has diacritics in its heading, the save crashes with the
following error:
Wide character in null operation at
/usr/local/share/perl/5.8.8/MARC/Charset/Table.pm line 96
To prevent this, new MARC21 authorities created by
BiblioAddsAuthorities have the Leader/09 set to 'a'. Note
that this is not currently required for UNIMARC authorities,
as MARC::File::XML->as_xml_record() does not attempt
to transcode UNIMARC records from MARC-8 to UTF-8.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch changes all $foo eq undef's to !defined($foo). It also makes misc/spellcheck_suggest/build_spellcheck_suggest.pl have proper syntax.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
staff client is defaulting to the ASNCR code instead of the blank above
For some reason the loop used to build the list of values was
setting the first value to the $value variable if $value wasn't
set already, and the default_value was inside rather than outside
the loop. I've removed the setting inside the loop and placed
the default value outide the loop. It's possible I just don't
understand what the original intention was.
There should be a documenation change at least for 3.0 to the effect that on systems
not running JavaScript, 'incremental' is the only option available for autoBarcode
although other options appear. A fix for this will hopefully appear in 3.2.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
a default installation:
1. Re-names several of the item fields to make more sense to catalogers and patrons
2. Remove links Non-public note from items.paidfor
3. Changes Non-public note to be hidden in the OPAC view
Fixes issues with the 'hidden' field in the framework, specifically:
1. the editor obeys the rules of possible values for hidden (>4, or <-4)
2. the OPAC MARC display obeys the rules of positive values meaning 'hidden in OPAC'
3. the staff MARC display now obeys the rules specified in the hidden values description
yesterday, the C4::Output::pagination_bar had a bug in it that I was crudely working around.
atz fixed that bug this morning. This patch removes the workaround. Thanks, atz!
I'm sending along atz's patch again with my signoff. It needs to be applied before this, as does the
other 1980 patch. I have sent that along (again), too, with a modified subject line. That makes a total of 3 patches for 1980.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4::Search::SimpleSearch was alredy patched to let you pass in the number of results you want back.
These instances were not using the new API. This patch makes all calls to SimpleSearch specify a limit.
I improved the documentation of SimpleSearch a bit to include the third returned value.
I believe there's a bug in C4::Output::pagination_bar, in that it doesn't deal well with URLs
with only one pair of parameter=value passed to it. I'm getting around this by passing in a second
pair that does nothing.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
1. Replaces display hostname with servername as shown on the selection screen.
2. If the record download errors, try to display the error.
3. A more useful warning if $DEBUG is set.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
A button to delete (non-mandatory) subfields and fields
is added to the bib and authority MARC editors. This button,
which displays as a hypen or minus sign after the plus sign
to clone a field, acts as follows:
[1] When deleting a whole MARC field, if at least
one other repeat of that field exists, deletes
the field from the editor page. If the field
to be deleted is the last instance of that tag,
the contents of the field are cleared, not removed.
This allows one to delete all 650 tags, then
add a new one without having to reload the
record in the editor.
[2] When deleting a subfield, if at least one other
repeat of that subfield and its tag occurs
*anywhere else in the record, not necessarily in the same tag*,
deletes the subfield.
Otherwise, if the subfield is the last occurrence
of that tag/subfield combination, clears the input
form instead.
Documentation note: new screenshots for MARC editor, plus
description of the '-' button.
Credit to MJ Ray for introducing the '-' button
and the UnCloneField JavaScript function.
Signed-off-by: Andrew Moore <andrew.moore@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The maximum length allowed for input into a subfield in
the MARC editor has been increased to 9999 charaacters
(from 255), permitting data entry of a field that meets
the maximum MARC field limit of 9999 octets.
Also set the maximum length for the leader form input
to 24 characters and the length for the MARC21 008
to 40 characters.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Improved C4::AuthoritiesMarc::GetAuthType() so that
it returns either a hashref (if the authority type exists)
or undef (if it does not exist). The same
accessor should not be used to either return a single
value or all values of a settings list. Note that
all existing clients of GetAuthType are expecting
either a single hashref or undef; none of them
expected the arrayref that could be returned by
the previous version of the accessor.
When BiblioAddsAuthorities is ON, addbiblio.pl
now checks the return value of GetAuthType and
no longer crashes as follows if the MARC framework
specifies an invalid authority type for a given subfield:
Can't coerce array into hash at .../cataloging/addbiblio.pl line 738.
No documentation changes.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If a field can be linked to an authority record (i.e.,
an authtypecode is defined for subfield $a), always
include the subfield $9 in a (readonly) input element even
if it is marked hidden per the MARC framework.
Prior to this patch, a $9 marked hidden per the framework
would not be included in the form, causing the authority record
number link to not be added when choosing a heading from the authority
finder. In other words, with BiblioAddsAuthorities OFF,
any authorized headings in bibs added via the MARC editor
would not have the subfield $9, and thus would appear
to not be used by any bibs.
Note that subfield $9 is set to be readonly, as changing the
authority number link does not currently change the
heading stored in the bib record.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>