Commit graph

151 commits

Author SHA1 Message Date
0d177c9546 Bug 10480: Remove useless routines and irrelevant pod lines
This patch makes the following cleanup actions for all plugins:

1- Remove sub plugin_parameters. This function is not used.
2- Remove empty plugin or empty plugin_javascript subs.
3- Remove empty Blur, Clic or Focus routines from javascript.
4- Remove pod lines (copy-pasta) only referring to the 3 plugin subs.
5- Remove the last 1; line. It is no longer needed.

Test plan:
Run the unit test t/db_dependent/FrameworkPlugins.t
Test some cataloguing plugins in addbiblio.
Test some item plugins in additem and neworderempty.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I also checked the syntax of all plugins with perl -c.
And checked the pod (if any) with podchecker: Two files still produce a
warning; the follow-up deals with them: unimarc_field_686a/_700-4.pl.

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-04-16 14:48:40 -03:00
331cbeb1df Bug 10480: EXAMPLE plugin with associated template
The EXAMPLE plugin helps you to create a new style framework plugin by
providing a simple working example and additional documentation for
developers.

Test plan:
[1] Connect the EXAMPLE plugin to one or more fields.
[2] Try the following events:
    a- Focus: If the field is empty, it should put EXAMPLE: into it.
    b- MouseOver: If the field is empty and you move your mouse over it,
       it should have the same effect as Focus.
    c- Change: Edit the field in the editor and tab out of it, the color
       of the text should toggle (randomly) between red, green and blue.
    d- KeyPress: If you edit the field and you type @, it should give AT.
    e- Click: Click on the tag editor. Change the value in the popup.
       If you press OK, the field should be changed.
[3] Would the documentation in the perl script help you to create a plugin?

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-04-16 14:48:38 -03:00
706e7a953e Bug 13204: Plugin housekeeping: Remove labs_theses.pl plugin
As it seems, this plugin has been created for UNIMARC field 328
(Dissertation note). It refers to authval category LABTHE.

The plugin seems however not to be used: it contains several critical errors.
I tried a quick fix but it was not good enough. Since the code can be
recovered from git (if needed), a real fix can always follow this patch.

What are some problems:
[1] The path to the template is wrong. Should be cataloguing/value_builder
[2] The plugin parameter $input is not used. A new CGI object is created.
[3] Resolving errors 1 and 2 still results in premature end of script
    headers.
[4] Not sure whether the plugin can effectively handle missing LABTHE values.

Instead of keeping this in Koha, I opt for removing it for now. As additional
argument I would mention that labs_theses does not have Focus or Blur actions,
only the Click action that does not work.

Test plan:
Git grep on labs_theses.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

This antique plugin deserves to live forever in Git Historical Museum.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Small fix so the patch applies.
2015-01-14 21:26:42 -03:00
Jonathan Druart
e20270fec4 Bug 11944: use CGI( -utf8 ) everywhere
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-01-13 13:07:21 -03:00
Jonathan Druart
55107741a2 Bug 11944: replace use of utf8 with Encode
See the wiki page for the explanation.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-01-13 13:06:45 -03:00
c4a8e5fb3e Bug 13223: Plugin housekeeping: do not redefine wrapper
This report is connected to bug 10480 which will change the general
mechanism of loading plugins, but can be tested independently and ahead
of that proposed change.

Several unimarc plugins use a wrapper sub. The code of this subroutine
is not exactly the same for all plugins: in some cases the routine is
extended for double character strings (dblspace and dblpipe). It would
not hurt to use the extended code for all plugins.

By moving the code to a module, we prevent redefinition
when two or more plugins are loading wrapper in a do-statement.

NOTE: You will not see wrapper redefine errors in your log, since the
plugins do not use the warnings pragma (yet). Since this patch touches
seventeen unimarc plugins, a unimarc signoff is preferred :)

Test plan:
Use some plugins changed in this patch (if not in use already).
Load the MARC editor.
Click on some tag editor-buttons to check unchanged behavior.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>
               Unimarc plugins work as usual. No regression. Simple code
               factorization.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-19 13:28:08 -03:00
7cbbbb04df Bug 13203: Plugin housekeeping: UNIMARC field 123i, 123j, 210c
In working on bug 10480, I noticed that these plugins needed some attention:

[2] unimarc_field_123i.pl: added missing template
[3] unimarc_field_123j.pl: resolved missing template with same file
[4] unimarc_field_210c_bis.pl: removed a warn, corrected some POD lines

Note about UNIMARC field 123i and 123j: Subfields $i and $j are each 8
characters long and contain the same components as subfields $f and $g
except that character position 0 contains a plus sign (for the northern
celestial hemisphere) or a minus sign (for the southern celestial hemisphere).

Test plan:
Connect unimarc_field_123i and 123j to some field.
Look especially at changing + or - for the hemisphere in the popup.
Check left-padding with zeroes for the other positions.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script.
Checked plugin in a UNIMARC installation.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-11 14:10:34 -03:00
Jonathan Druart
8dfc399a2d Bug 12884: Get rid of redefined subroutine warnings in dateaccessioned.pl
Instead of removing all warnings, we should remove warnings about the
redefined subroutines.

Test plan:
- link the dateaccessioned plugin with one of your biblio field
- edit an item
- verify they are no warnings in the Koha log file.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-10-22 14:18:40 -03:00
Bernardo Gonzalez Kriegel
2f7fa17557 Bug 12694: Remove CGI::scrolling_list from unimarc_field_4XX.pl
There are two instances on this file, but they are not used.
I suppose is old code that was left dangling.

Both scrolling_list, CGIPublisher and CGIitemtype, are not
used on unimarc_field_4XX.tt nor any other file.

Just removed from file two useless db queries.

To test:
1. Apply the patch
2. If you have unimarc config, just go to one of the
fields that use this plugin.
If you don't, can edit you framework and change the plugin
for a tag, e.g. 007. Then save fw, search and edit a record,
clic to open plugin on 007 tag, check that works but don't
save the original record, finally revert your changes.

There must be no functional changes, is unused code.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Verified plugin still seems to work:
- item type pull down shows up correctly
- search works and choosing a record will fill subfields
Passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-19 12:44:27 -03:00
Bernardo Gonzalez Kriegel
deb22f01bb Bug 12704: Remove CGI::scrolling_list from unimarc_field_225a.pl
This patch removes the only instance in this file

To test:
1. Apply the patch
2. If you have UNIMARC, search for a record, edit it,
and go to tag 225
If you don't, edit your framework and connect this
pluging to some tag/subtag
3. Clic on the plugin link. If you don't have any record
that correspond to the search, can remove the commented
line to have something to play
4. The collection pulldown was replaced, check that works,
select a value and press Ok

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script, tested according to test plan.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-19 12:44:03 -03:00
Bernardo Gonzalez Kriegel
ec2921b83b Bug 12695: Remove CGI::scrolling_list from marc21_linking_section.pl
Same situation as Bug 12694.

There are two instances on this file, but they are not used.
I suppose is old code that was left dangling.

Both scrolling_list, CGIPublisher and CGIitemtype, are not
used on marc21_linking_section.tt nor any other file.

Just removed from file two useless db queries.

To test:
1. Apply the patch
2. Can't remember how to trigger this plugin.
You can edit you framework and change the plugin
for a tag, e.g. 007. Then save fw, search and edit a record,
clic to open plugin on 007 tag, check that works but don't
save the original record, finally revert your changes.

There must be no functional changes, is unused code.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Followed test plan successfully. The behavior of the plugin window
appears to be unchanged after applying the patch.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Amending the test plan a bit: The plugin was added by bug 8185
- not dead code at all :)

In order to test:
- Edit one of your frameworks, make 773 atwxz9 visible.
- Link 773 $9 to the marc21-linking-section plugin
- Create a new record in cataloguing
- Search for a your host item record (parent)
- Link it
- Observe that the subfields have been filled with information
  from the other record
  $w = 001 from the parent
  $9 = biblionumber from the parent
  $t = Title
  $x = ISSN
  ...

Still works with the patch applied.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-19 09:41:37 -03:00
Jonathan Druart
2f052756e3 Bug 11349: (qa follow-up) Fix pod
FAIL   cataloguing/value_builder/unimarc_field_125.pl
   FAIL   pod
    *** ERROR: empty =head1  in file cataloguing/value_builder/unimarc_field_125.pl
    *** ERROR: Spurious text after =cut  in file cataloguing/value_builder/unimarc_field_125.pl

 FAIL   cataloguing/value_builder/unimarc_field_126b.pl
   FAIL   pod
    *** ERROR: empty =head1  in file cataloguing/value_builder/unimarc_field_126b.pl
    *** ERROR: Spurious text after =cut  in file cataloguing/value_builder/unimarc_field_126b.pl

 FAIL   cataloguing/value_builder/unimarc_field_225a.pl
   FAIL   pod
    *** ERROR: =over on line 40 without closing =back (at head1)  in file cataloguing/value_builder/unimarc_field_225a.pl
    *** ERROR: empty =head1  in file cataloguing/value_builder/unimarc_field_225a.pl

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-17 11:06:15 -03:00
2323957250 Bug 11349: Make the QA script happy
This patch just adjusts several POD stuff, and in a few cases
reorganizes a hash definition in order to use spaces instead of tabs
for the QA script to be happy.

Nothing important, really. This patch series just changes '.tmpl' for
'.tt'.

Regards
To+

PS beware that running the koha-qa.pl script can take lots of time on this one
:-D

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

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-17 11:06:06 -03:00
afd2418d73 Bug 11349: Change .tmpl -> .tt in scripts using templates
Since we switched to Template Toolkit we don't need to stick with the
sufix we used for HTML::Template::Pro.

This patch changes the occurences of '.tmpl' in favour of '.tt'.

To test:
- Apply the patch
- Install koha, and verify that every page can be accesed

Regards
To+

P.S. a followup will remove the glue code.

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

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-17 11:05:49 -03:00
e897e11c65 Bug 9093 - 008 forgetting what material type was chosen
This patch adds material type checking to the MARC21 008 tag editor,
based on value from the leader. That is, the 008 tag editor
will choose an initial material type based on the leader 06
(and if necessary the leader 07 position)

_TEST PLAN_
1) Create a new record or open an existing bib record
2) Change position 6 from its current value (probably "a") to
"c" or "e" or "g" or "m" or "p". (See the end of this message
for a comprehensive list of 06 values to try.)
3) Open the 008 tag editor
4) Note that it still says BKS even though it should say "MU"
or "MP" or "VM" or "CF" or "MX".

5) Apply the patch

6) Repeat steps 2 and 3.
7) Note that the 008 tag editor now shows the correct material
type based on the leader.

8) For more comprehensive checking, try switching position 6
back to "a" and changing position 7 to "b" instead of "m".
9) Note that it will switch from "BKS" to "CR".
10) Fin

Comprehensive mapping:

Field 008/18-34 Configuration
If Leader/06 = a and Leader/07 = a, c, d, or m: Books
If Leader/06 = a and Leader/07 = b, i, or s: Continuing Resources
If Leader/06 = t: Books
If Leader/06 = c, d, i, or j: Music
If Leader/06 = e, or f: Maps
If Leader/06 = g, k, o, or r: Visual Materials
If Leader/06 = m: Computer Files
If Leader/06 = p: Mixed Materials
http://www.loc.gov/marc/bibliographic/bdleader.html

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described, nice job.
koha-qa complains for a tab char, removed on followup.
Mode change on TT file (+x), removed.
No other errors

NOTE: It would be desirable to update LEADER values
to reflect changes on 008.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Awesome work David.
2014-06-21 10:50:32 -03:00
ad6d367763 Bug 10330 - Rename system preference authoritysep to AuthoritySeperator
Test Plan:
1) Apply patch
2) Run updatedatabase.pl
3) View some records with authorities
4) Note your previously set authority separator should still be in use

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No koha-qa errors.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-23 13:26:48 +00:00
daf2ebc4f5 Bug 11096: support the retrieval of large MARCXML records
This patch makes Koha <-> Zebra use MARCXML for the serialization when
using DOM, and USMARC for GRS-1.

* The following functions are modified to set the Zebra record syntax
according to the current sysprefs and configuration:

- C4::Context->Zconn
- C4::Context-_new_Zconn

* A new function 'new_record_from_zebra' is introduced, which checks the
context we are in, and creates the MARC::Record object using the right
constructor.

The following packages get touched to make use of the new function:
- C4::Search
- C4::AuthoritiesMarc

and the same happens to the UI scripts that make use of them (both in
the OPAC and STAFF interfaces).

* Calls to the unsafe ZOOM::Record->render()[1] method are removed.

Due to this last change the code for building facets was rewritten. And
for performance on the facets creation I pushed higher version
dependencies for MARC::File::XML and MARC::Record (we rely on
MARC::Field->as_string).

* Calls to MARC::Record->new_from_xml and MARC::Record->new_from_usmarc
are wrapped with eval for catching problems [2].

* As of bug 3087, UNIMARC uses the 'unimarc' record syntax. this case is
  correctly handled.
* As of bug 7818 misc/migration_tools/rebuild_zebra.pl behaves like:

- bib_index_mode (defaults to 'grs1' if not specified)
- auth_index_mode (defaults to 'dom')

here we do exactly the same.

To test:
 - prove t/db_dependent/Search.t should pass.
 - Searching should remain functional.
 - Indexing and searching for a big record should work (that's what the
   unit tests do).
 - Test an index scan search (on the staff interface):
    Search > More options > Check "Scan indexes".
 - Enable 'itemBarcodeFallbackSearch' and try to circulate any word, it
   shouldn't break.
 - Searching for a biblio in a new subscription shouldn't break.
 - Running bulkmarcimport.pl shouldn't break.
 - And so on... for the rest of the .pl files.

[1] http://search.cpan.org/~mirk/Net-Z3950-ZOOM/lib/ZOOM.pod#render()
[2] a record that cannot be parsed by MARC::Record is simply skipped (bug 10684)

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-28 19:50:09 +00:00
Vitor FERNANDES
311c927876 Bug 8334 - Authority UNIMARC 100 field plugin
This patch adds a plugin for field 100 of UNIMARC
authorities.

To test on a UNIMARC site:
1) Apply the patch
2) Edit some authority framework, field 100
3) Link subfield 'a' to unimarc_field_100_authorities.pl
plugin, save
4) Edit or add auth record, click on '...' to bring plugin
5) Modify field 100a
6) Save record

Thanks to Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> for
converting Vitor's original patch to a Git patch and doing
some tidying.

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Stephane Delaye <stephane.delaye@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-12-13 16:31:16 +00:00
Janusz Kaczmarek
86c08e63a2 Bug 10331 - Little errors in unimarc_field_4XX.pl (punctuation)
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described, no koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Copying the test plan from the bug report:

A.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 700 $a, $b, $f filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
  fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (no closing bracket)

B.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 700 $a, $b, $c, $f filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
   fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (dash instead of
   semicolon between original $c and $f, no closing bracket)

C.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 702 $a, $b, $c filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
   fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (unnecessary semicolon
   after original $c, n.b. lacking space).

D.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 712 $a, $b filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
   fetch data from biblio rec. mentioned in b)
4) see the punctuation in $a -- it will be wrong (unnecessary opening
   bracket at the end).

Test plan, all tests and QA script pass.
Thx Bernardo for his testing and explanations!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-09-08 19:22:43 +00:00
73ac970f73 Bug 10715 - MARC21 007 Plugin Editor doesn't load position 01
This patch changes the MARC21 007 plugin editor so that it uses
1 character instead of 4 characters for position 01.

TEST PLAN:

1) Create new record/edit an existing record
2) Using the tag editor for the 007 field, choose "Videorecording"
3) Click OK
4) Change the second character in the 007 from "c" to "d"
5) Open the tag editor again
6) Note that position 01 will still say "c - Videocartridge" rather
than "d - Videodisc".
7) Exit tag editor

8) Apply patch

9) Reload the page (Shift + Refresh is always useful)
10) Open the tag editor again
11) Note that position 01 will now say "d - Videodisc"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-08-16 14:13:59 +00:00
Galen Charlton
9eb13aa3cd Bug 10592: fix MARC21 006/008 cataloging plugins
Move the XML and XSD data files so that access to them
(particularly the XML files) is not blocked by the Apache
configuration change introduced by the patch for bug 9812.

To test, after applying the patch.

[1] Open a MARC21 bibliographic record in the cataloging editor.
[2] Click on the plugin link for the 008 field.  Verify that
    that the form for all of the fixed field positions is displayed,
    and verify that you can change the type of material.
[3] Repeat step 2 for the 006 field.
[4] Verify that there are no entries in the Apache error log that contain

client denied by server configuration: {...}/cataloguing/value_builder/marc21_field_008.xml

or

client denied by server configuration: {...}/cataloguing/value_builder/marc21_field_006.xml

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Also verified translation of those plugins still works correctly.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-22 14:00:23 +00:00
a90a72c62d Bug 9773 - Replace YUI AJAX calls in cataloging plugins with jQuery
Several cataloging plugins make some simple AJAX GET calls via the YUI
AJAX feature. This code can be easily converted to jQuery.

To test, link each plugin to the relelvant field by editing your MARC
stucture. Confirm that functionality is unchanged.

For callnumber.pl and callnumber-KU.pl, test by linking to 952o.
callnumber.pl is triggered on blur of (when you focus on and click away
from) the 952o entry field. callnumber-KU.pl is triggered by clicking
the "..." link.

stocknumberam123.pl should be linked to 952i. If your data doesn't
already have information stored for inventory number, modify at least
one record to add one. The plugin is triggered on blur of the 952i
field. It should increment the highest value inventory number stored in
your system.

unimarc_field_010.pl is UNIMARC-specific, so I'm guessing about its
functionality. I tested it by linking the plugin to MARC21 field 020a.
The plugin is triggered on blur of the affected field (020a in my test).
You can confirm that the plugin returns valid data by using a tool like
Firebug to view the XHR response. Or if you're not using UNIMARC you can
hack the plugin to update a different field instead (line 57,
/^tag_210_subfield_c/ ). I tried "245_subfield_c" instead of
"210c_subfield_c." Nonsensical, but useful for testing.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Tried the 3 MARC21 plugins. Did not try the Unimarc one, but it's exactly the same code change.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-05-29 08:30:32 -07:00
Magnus Enger
064fc8b522 Bug 7054 - NORMARC: Fix default for 000 position 17
Someone at the library education in Oslo told me that it would be
better to have the default for 000/17 set to 1, instead of 2 as it
is today.

To reproduce:
- Run through the Web-installer in Norwegian and choose NORMARC as
  the MARC dialect
- Go to Home > Cataloging > Add MARC record and start to add a new
  record
- Click in the 000 field and it should be filled with:
  "     nam a22     2  4500"
- Reload the page, then open the value builder for 000 and click on OK
- 000 should get filled with the same string as above

To test:
- Apply the patch and repeat the steps from above. The default value
  for 000 should now be:
  "     nam a22     1  4500"

(Don't be confused by the 1s and the 2s. A value of 1 in position 17
means "level 2", and a value of 2 means "level 1" - that is how it
is defined in the "standard":
1 = Nivå 2, iflg. Katalogiseringsregler
2 = Nivå 1, iflg. Katalogiseringsregler)

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Small changes. Didn't test in a NORMARC installaton, but
trusting Magnus with this and seeing no reason why it
shouldn't work.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 07:47:52 -04:00
Magnus Enger
361e5f83e2 Bug 7055 - NORMARC: Fix 008 position 15-17 and 35-37
This patch does several things:
- Set the default for 008/15-17 to "no " (yes, there is space at the end)
- Link from 008/15-17 in the value builder to NORMARC country codes
- Set the default for 008/35-37 to "nor" (by setting the
  DefaultLanguageField008 syspref)
- Link from 008/35-37 in the value builder to NORMARC language codes
- Fix a missing <tr> around field 35-37

To reproduce:
- Run through the Web-installer in Norwegian and choose NORMARC as
  the MARC flavour
- Go to Home > Cataloging > Add MARC record and add a new record
- Click in the field for 008. The default should look like:
  130415t        xxu||||| |||| 00| 0 eng d
                 ^^^                 ^^^
- Reload the page and open the value builder for 008. Problems:
  - The text for 15-17 links to MARC21 country codes
  - The default for 15-17 is xxu
  - The text for 35-37 links to MARC21 language codes
  - The default for 35-37 is eng
  - If you choose e.g. "Monografier" in the top dropdown then click
    on "OK" the window does not close

To test:
- Apply the patch and run through the Web-installer again, selecting
  Norwegian and NORMARC
- Go to Home > Cataloging > Add MARC record and add a new record
- Click in the field for 008. The default should look like:
  130415t        no ||||| |||| 00| 0 nor d
                 ^^^                 ^^^
- Reload the page and open the value builder for 008.
- Check that...
  - The default for 15-17 is "no " (with a space at the end)
  - The link goes to NORMARC country codes
  - The default for 35-37 is "nor"
  - The link goes to NORMARC language codes
- Select something from the top dropdown and click "OK". Check that the
  window closes and that the values that are entered into the 008 field
  matches what you chose in the popup window.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Trusing Magnus is right, so testing for any regressions mainly, all good

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Only changes NORMARC specific plugin and system preferences
files. Changes all seem logical to me.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 07:45:21 -04:00
Bernardo Gonzalez Kriegel
2d9f5fc69e Bug 9457: [ENH] Ordering branches should be case independent (2)
This patch replace use of CGI::scroll_list() to show list of branches.

In two files, marc21_linking_section.pl and unimarc_field_4XX.pl,
the scrolling list is created but not used in the template file,
so the code is removed.

Also minor renaming/normalizing of variables.

To test:
1) Install with some branches, records and patrons

2.1) Select a record, click 'Place hold', select user,
     there is a library pull-down next to 'Pickup at:',
     list is ordered case sensitive
2.2) Go to Reports > Average loan time,
     next to Library is a pull-down,
     list without order
2.3) Go to Reports > Catalog by item type,
     next to 'Select a library' is a pull-down,
     list is ordered case sensitive
2.4) This is tricky, go to Reports home,
     change last part of URL 'reports-home.pl' with
     'manager.pl?report_name=issues_by_borrower_category'
     (can't find a direct link), next to 'Select a library'
     is a library pull-down,
     list without order
2.5) Edit/Add a patron, on section 'Library management'
     there is a library pull-down, case sensitive
2.6) OPAC, as logged user, make a suggestion or hold,
     there is library pull-down, correct order

3) Apply the patch

4.1) Repeat 2.1), correctly ordered list
4.2) Repeat 2.2), correctly ordered list
4.3) Repeat 2.3), correctly ordered list
4.4) Repeat 2.4), correctly ordered list
4.5) This is a bit more work
     There are 3 possible situations to test:
     A) No branches, must show a message that are no
        libraries defined
     B) New patron, must show a correctly ordered
        list of branches, current branch selected
     C) Edit patron, must show a correctly ordered
        list of branches, patron branch selected
4.6) Small changes on variable names, so retest 2.6)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-20 15:35:58 -04:00
Jared Camins-Esakov
144c7f4e4e Bug 9239: Allow the use of QueryParser for all queries
With the inclusion of this patch, all searches will (try) to use
QueryParser for handling queries for both the bibliographic and authority
databases if UseQueryParser is enabled. If QueryParser is unavailable,
UseQueryParser is disabled, or the search uses CCL indexes, the old
search code will be used.

To test:
1) Apply patch.
2) Run the unit test with `prove t/QueryParser.t`
3) Enable the UseQueryParser syspref.
4) Try searches that should return results in the following places:
   * OPAC (simple search)
   * OPAC (advanced search)
   * OPAC (authorities)
   * Staff client (header search)
   * Staff client (advanced search)
   * Staff client (cataloging search)
   * Staff client (authorities)
   * Staff client (importing a batch using a match point)
   * Staff client (searching for an item for adding to a label)
   * Staff client (acquisitions)
   * Staff client (searching for a record to create a serial)
   * ANYWHERE ELSE I HAVE FORGOTTEN
5) Disable the UseQueryParser syspref. Repeat at least some of the
   searches you did above.
6) If all searches worked, sign off.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Searching still works as expected for variuos places.
QueryParser syspref seemed to be enabled by default

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-16 21:32:32 -04:00
Vitor FERNANDES
16a395c3b7 Bug 8347 - Koha forces UNIMARC 100 field code language to 'fre'
Added a new system preference to set the UNIMARC field 100 default language.
The default value for that system preference is 'fre'.
Changed Biblio.pm to use the system preference:

- if the language is bad filled in the preferences it uses 'fre' as default value
- only replaces the language when the field 100 is empty
- if the language is filled with the plugin only replaces the positions 25-28 to 'y50'

Signed-off-by: Rolando Isodoro <rolando.isidoro@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-02-20 09:06:09 -05:00
Jonathan Druart
6c0aa43ee1 Bug 7992: New plugin stocknumberAV
Bugzilla description (from delaye):
1 / Create a list of authorised values(INVENTORY_NUMBER). In which the
code is the prefix and the description the last number assigned.

2/A space between the prefix and number.

3 / From a holding record, after indicate the prefix when you click on
the plugin -> koha search the last number from authorised values
assigned in the list and increment n +1 level meter

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Works as advertised (see provisos below). Tested the following:
1) INVENTORY category has only authorised value 'PR' => PR prefix filled
   in, everything else gives an error.
2) INVENTORY category has two authorised values, both work.
3) INVENTORY category has no authorised values, nothing is incremented
4) Barcode contains numbers, nothing is changed.
Two potential gotchas (neither of them significant enough to warrant
changing, in my opinion):
1) Prefixes must consist only of uppercase alphabetical characters.
2) Negative numbers are padded with zeros to the left of the negative
   sign.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-10-02 17:19:55 +02:00
Colin Campbell
10e4f3b9a5 Bug 6679 Avoid critic failure caused by ambiguous code
If countitems not set to 1 it was not being declared
but is referred to outside this scope, generating
runtime warnings and test failure

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-19 18:47:37 +02:00
Zeno Tajoli
65e0a7d5a5 Bug 8185: plugin for linking records in MARC21
This plugin works like the unimarc plugin unimarc_field_4XX. It
 insert: $9 -> biblionumber $w -> 001 $t -> 245$a (title )
 $x -> 022$a (ISSN) $z -> 020$a (ISBN) The search is done on
 'any' index. Data are inserted only in the working record.
 To insert data in the connected record, you need to open
 the other record.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-09-19 15:45:27 +02:00
55d4fa2886 8627 Followup for removing tabs
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2012-09-18 12:29:37 +02:00
2b3ab13c3d 8627 Fixing pipe values in controlfield 008 authorities
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2012-09-18 12:29:23 +02:00
Jared Camins-Esakov
6c77b4d117 Bug 8524 follow-up: fix Javascript syntax error
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-08-31 17:42:48 +02:00
Jonathan Druart
7c22380242 Bug 8524: Followup FIX an undeclared variable $query
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-08-31 17:42:46 +02:00
Jared Camins-Esakov
a2186855b3 Bug 8524: Add a non-automatic barcode plugin
In addition to adding a new barcode plugin, this commit begins
refactoring the barcode generation code using a new module,
C4::Barcodes::ValueBuilder. From the POD:
    This module is intended as a shim to ease the eventual transition
    from having all barcode-related code in the value builder plugin
    barcode.pl file to using C4::Barcodes. Since the shift will require
    a rather significant amount of refactoring, this module will return
    value builder-formatted results, at first by merely running the
    code that was formerly in the barcodes.pl value builder, but later
    by using C4::Barcodes.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-08-31 17:42:26 +02:00
Dobrica Pavlinusic
28e5427c60 Bug 6448 [2/3] Barcodes::EAN13 autoBarcode
Implement auto-incrementing EAN-13 barcodes

To make this work, C4::Barcodes::next was modified to call process_tail with
new incremented value so that process_tail can generate correct checksum.
Since process_tail is currenlty not used by any barcodes, this change is safe.

C4::Barcodes is used by addbiblio.pl when adding multiple records, while value_builder
is used in all other cases.

Test scenario:

1. prove t/Barcodes_EAN13.t

2. KOHA_CONF=/etc/koha/sites/fer/koha-conf.xml prove t/db_dependent/Barcodes.t
   this will check C4::Barcode implementataion

3. in systempreference change autoBarcode to incremental EAN-13 barcode

4. edit two items of any biblio assigning barcodes and verify that numbers
   are increasing. Have in mind that last digit is check digit, and it
   doesn't increment, but is calculated from barcode itself. Example with
   checksum in brackets: 000000086275[2], 000000086276[9], 000000086277[6]

5. Add Item and verify that it gets assigned next barcode

6. Add & Duplicate item and verify barcode increase

7. Add Multiple Copies and verify that barcode increase for each copy

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-02 18:41:44 +02:00
Marc Veron
419b0dfccf Bug 7601 - Preference for default language for field 008 Range 35-37 (instead of hard coded "eng")
When a new marc record is added, the language code in field 008 Range 35-37 defaults to Englih ("eng"). This makes cataloguing inefficient and error-prone for librarians if most of the bibliographic data is e.g. in German or in French.

Test:
- Apply patch
- Edit preference DefaultLanguageField008, fill in e.g. 'ger'
- Go to Cataloguing, Add marc Record
- Click in field 008. Language code should read 'ger' (instead of 'eng')

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-06-10 10:53:14 +02:00
Adrien Saurat
8ca93323fe Bug 6125: repairs dateaccessioned plugin
1/ It now works with neworderempty.pl
2/ The set_to_today function was moved from
additem.tt to dateaccessioned.pl (so it's
available to all pages using the plugin)

Signed-off-by: Julien Sicot <julien.sicot@gmail.com>

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-22 16:18:38 +01:00
Paul Poulain
a7f7aeb138 Merge remote-tracking branch 'origin/new/bug_7458' 2012-03-12 18:20:36 +01:00
Srdjan Jankovic
1b79faad5b bug_7458: Correct existing existing call numbers retrieval
Adjusted to account for duplicate call numbers in the database.  Now retrieves next available call number correctly.
2012-03-12 18:20:22 +01:00
Chris Nighswonger
628eec4926 Bug 7585 - Correct MARC 008 Value Builder Char 06 Default
This patch changes the default value of the 06 char in 008
from 't' to 'b.' This change allows for a valid 008 field
if no dates are entered in 07-14.

To test:

1. Create a new MARC record (prior to patch application).
2. Click on the 008 field to auto-populate.
3. Note that the 06 char is 't'.
4. Apply patch.
5. Create a new MARC record.
6. Click on the 008 field to auto-populate.
7. Note that the 06 char is now 'b'.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Confirm fix works per test plan.
2012-02-27 11:37:46 +01:00
Srdjan Jankovic
ecc1e94f35 bug_7458: A call number plugin
Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
A library using an inhouse callnumbering system wants to be able to generate the next available call number not already in use.  This custom call number plugin returns the next callnumber not already in use once a correct prefix has been entered.  The prefixes are four to six letters, space, then one or two numbers.
2012-02-17 11:24:15 +01:00
Paul Poulain
fe50ffb37f Bug 6679: fix missing use strict
The 3 files had use strict missing. The patch add the use strict and modify what's needed to work with it
4XX.pl also has some perlcritic fixes:
Variable declared in conditional statement at line XXX, column 9.  Declare variables outside of the condition.  (Severity: 5)

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-12-09 09:49:22 +01:00
Chris Cormack
3b0474950c Bug 6679 : Tidying changed parts of file
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-11-06 18:19:19 +01:00
Chris Cormack
21e4d79be8 Bug 6679 : Don't declare variables in conditionals
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-11-06 18:18:53 +01:00
Chris Cormack
e8ea58270d Bug 6679 : Not using strict .. bad script, no cookie for you!
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-11-06 18:13:33 +01:00
Janusz Kaczmarek
0d480bbf5c Bug 6465 - Errors in UNIMARC plugins for fixed length fields (for | and space) (T::T issue)
A corrected version of the patch of 6 June 2011.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-26 14:32:32 +13:00
Sophie Meynieux
1d0c85a4a8 Bug #6139 Automatic incrementation of call number does not work if prefix contains '
This patch also fixes giving the first callnumber with a given prefix.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-14 20:27:17 +12:00
6de831da03 Bug 4839: Adjust default values for MARC21 authority Fixed-Length Data Elements
Currently, the default for this MARC control field is hardcoded in the plugin code of marc21_field_008_authorities.pl (two occurrences).
This patch moves it into a new syspref. If this pref should not exist, the old hardcoded value is used. Authorities preference file is updated too.
A warning is generated if the length of the field is not correct.

Furthermore, the default for position 14 (heading use: main or added entry)
should be dependent on the authority type. For CHRON_TERM, GENRE/FORM and
TOPIC_TERM, it should be b (not appropriate) instead of a (appropriate).

Rebased on March 17. Follow-up patch added for installation pref.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
2011-08-04 09:58:42 +12:00
Paul Poulain
83e42b0285 BZ5719: unimarc plugin fixes
* 010 now don't care of - or no - in the isbn
* 225a window now higher to have all buttons displayed

Signed-off-by: Sophie Meynieux <sophie.meynieux@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-01 12:23:55 +12:00