koha.git
6 years agoBug 14321: Integrate Upload.pm into Koha
Marcel de Rooy [Sat, 8 Aug 2015 15:28:25 +0000 (17:28 +0200)]
Bug 14321: Integrate Upload.pm into Koha

This patch makes the following changes to achieve that:
[1] Use Upload.pm in stage-marc-import.pl, upload-cover-image.pl,
    offline_circ/process_koc.pl and enqueue_koc.pl.
[2] A new file-upload.js replaces file-upload.inc in the associated template.
    We now use ajax to get progress figures instead of launching perl script
    upload-file-progress.
    The js changes now also allow for aborting a file upload.
[3] Adds a tools/upload script and template. It allows to upload multiple
    files at once.
[4] Makes upload-file return error messages in JSON. For a multiple upload,
    we could have some files with errors and others without errors.
    The upload is now marked as Failed only if there was no upload at all.
[5] The upload plugin is converted to use tools/upload with plugin param.
    Deleting an upload is now presented via the search results form.

NOTE: In editing the process_koc.tt I noticed that the form enqueuefile was
hidden and no longer used (with associated code in process_koc.pl). When a
file has been uploaded, I display the form again (with the Apply directly
button). The code still works.

NOTE: We fix an error in upload-file from one of the patches of bug 6874.
The userid of the Koha admin user is passed to haspermission, but we
should pick the userid from the session.

NOTE: Bug 14686 will add a specific permission for tools/upload.pl, and
will add the tools/upload script to the Tools menu.
For now, you need edit_catalogue to start upload.pl and you will
additionally need a permission like upload_local_cover_images
to successfully upload a new file.

Test plan:
[1] Upload a marc file in stage-marc-import. (This is temp storage.)
[2] Check new entry in table uploaded_files. Look for the file in your
    temporary directory (/tmp ?), subfolder koha_upload.
    Bonus: Remove permissions on this subfolder. Retry, check error and
    restore permissions again.
[3] Upload another (larger) file and abort the upload. Check table and
    directory again. You should have a partial file, but no record.
[4] Verify that Stage for import still works as expected.
[5] Test Upload local cover image. (Enable OPACLocalCoverImages.) You can
    test an individual image or a zip file including images and a file
    called datalink.txt (with lines biblionumber,filename).
[6] Test uploading a offline circulation file:
    Enable AllowOfflineCirculation, and create a koc file (plain text):
    Line1: Version=1.0\tA=1\tB=2
    Line2: 2015-08-06 08:00:00 345\treturn\t[barcode]
    Note: Replace tabs and barcode. The number of tabs is essential!
    Checkout the item with your barcode.
    Go to Offline circulation file upload. Upload and click Apply directly.
    Checkout again. Upload again, click Add to offline circulation queue.
[7] Upload three files via tools/upload.pl with a category and marked as
    public. Check the results in the table.
    Verify that you can download the file in OPAC without being logged in.
[8] Pick one new file and one of the files of step 7. Upload them in the
    same category. One upload should succeed. Check for reported error.
[9] Connect upload.pl to field 856$u.
    Goto Cataloguing editor.
    In an empty 856$u, click the tag editor. Upload a file and click Choose.
    Save the record. Open the record in the OPAC and click the link.
    Copy this link to your clipboard for next step.
[A] Go back to editor. Click the tag editor on the same 856 field.
    Choose for Delete.
    Open the link in your clipboard again. Error message?
[B] Check the process of upload, search, download and delete of an upload
    with some diacritical characters in the filename. (Bonus points for
    adding special chars in the category code.)
    Note: You can add categories via authorized values, UPLOAD key.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Bug 14321: [QA Follow-up] Perltidy upload.pl

Run perltidy -pro=xt/perltidyrc on tools/upload.pl.
No other changes.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14321: Introduce Koha::Upload
Marcel de Rooy [Thu, 30 Jul 2015 17:19:44 +0000 (19:19 +0200)]
Bug 14321: Introduce Koha::Upload

This patch introduces Koha::Upload. It will replace the modules
C4::UploadedFile.pm and the new C4::UploadedFiles.pm (from BZ 6874).
It also includes a new unit test.

NOTE: This unit test will replace the test for UploadedFiles.pm. It will no
longer use dependency Test::CGI::Multipart. We are now mocking CGI and its
hook to achieve the same result.

Test plan:
[1] Run t/db_dependent/Upload.t.
    Note that if you see a WARNING, you will still need to add an entry
    upload_path to your koha-conf.xml. Or you need to give write
    permission to your Koha instance user for that folder.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14321: Add two columns to uploaded_files
Marcel de Rooy [Thu, 6 Aug 2015 13:34:57 +0000 (15:34 +0200)]
Bug 14321: Add two columns to uploaded_files

This patch adds uploaded_files.public and permanent.
Public will be used later to mark uploaded files as available via OPAC.
Permanent will be used to make the distinction between temporary and
permanent storage.

The db rev sets both flags for all current records (uploaded via the
plugin from BZ 6874).

Test plan:
[1] If you tested this before, drop the column public first.
[1] Run the dbrev.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14297: (QA followup) Remove unnecessary line
Kyle M Hall [Thu, 3 Sep 2015 15:03:02 +0000 (11:03 -0400)]
Bug 14297: (QA followup)  Remove unnecessary line

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14297: Holds Queue building ignoring holds where pickup & home branch don't match...
Kyle M Hall [Fri, 29 May 2015 10:46:24 +0000 (06:46 -0400)]
Bug 14297: Holds Queue building ignoring holds where pickup & home branch don't match and item is not from least cost branch

If a record has a hold on it where the pickup and home branch do not
match, the holds queue builder will only look at items from the least
cost branch ( as defined by the transport cost matrix or the sys pref
StaticHoldsQueueWeight.

Test Plan:
1) Create a record with two items, one for library A and one for library B
2) Set your circulation rules such that the book from library A is
   holdable by all and the book from library B is holdable only by library
   B patrons
3) Create a hold for a Library C patron for pickup at library C
4) Set the syspref StaticHoldsQueueWeight to by Library B, Library A,
   Library C in that order
5) Rebuild the holds queue
6) Note the hold wasn't picked up even though the item from library A
   could have filled the hold
7) Apply this patch
8) Rebuild the holds queue
9) View the holds queue again
10) Note the hold now displays

Signed-off-by: Nora Blake <nblake@masslibsystem.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14297: Unit Tests
Kyle M Hall [Thu, 27 Aug 2015 13:16:43 +0000 (09:16 -0400)]
Bug 14297: Unit Tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14505: single quotes in journal number cause print routing list window to not...
Joonas Kylmälä [Thu, 20 Aug 2015 09:24:17 +0000 (09:24 +0000)]
Bug 14505: single quotes in journal number cause print routing list window to not appear

Escapes single quotes from serial.serialseq string.

Test plan:

1. Have a serial with a number which has single quote in it.
2. Go to Serials -> Find some serial subscription -> Serial collection.
3. Set up a routing list for this serial.
4. Click on Print list under the column Routing.
5. Notice that the print window doesn't open.
6. Apply patch.
7. Notice that the print window opens.

Sponsored-by: Vaara-kirjastot
Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14217: Add 'condition' attribute for DOM index definition
Tomas Cohen Arazi [Wed, 8 Jul 2015 15:37:31 +0000 (12:37 -0300)]
Bug 14217: Add 'condition' attribute for DOM index definition

This patch introduces an extension to the current syntax for DOM index definition.
Specifically, it extends the 'index_subfields' tag to allow adding a 'condition'
attribute that is used as a condition ofr applying the specified index.

This (exotic) example is self-explanatory:

The previous syntax (which is keeped by this patch) took this snippet from biblio-koha-indexdefs.xml

  <index_subfields tag="100" subfields="acbd">
    <target_index>Encuadernador:w</target_index>
  </index_subfields>

and generated an XSLT snippet in the DOM indexing XSLT that looks like this:

    <xslo:for-each select="marc:subfield">
      <xslo:if test="contains('acbd', @code)">
        <z:index name="Encuadernador:w">
          <xslo:value-of select="."/>
        </z:index>
      </xslo:if>
    </xslo:for-each>

This patch introduces this syntax change (note the 'condition' attribute:

  <index_subfields tag="100" subfields="acbd" condition="@ind2='7'">
    <target_index>Encuadernador:w</target_index>
  </index_subfields>

which yields to this XSLT snippet in the DOM indexing XSLT:

    <xslo:if test="@ind2='7'">
      <xslo:for-each select="marc:subfield">
        <xslo:if test="contains('acbd', @code)">
          <z:index name="Encuadernador:w">
            <xslo:value-of select="."/>
          </z:index>
        </xslo:if>
      </xslo:for-each>
    </xslo:if>

To test:
- Verify that the shipped XSLT files are current regarding the shipped index definitions:
  $ for i in marc21 normarc unimarc; do
        xsltproc etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl \
              etc/zebradb/marc_defs/$i/biblios/biblio-koha-indexdefs.xml \
              > etc/zebradb/marc_defs/$i/biblios/biblio-zebra-indexdefs.xsl
    done
  $ git status
(repeat for authorities, skip normarc which doesn't have authorities)
- Apply the patch
- Re-run the previous commands
=> SUCCESS: no changes
- Add a condition to an index_subfields tag (for example, condition="@ind2='7'" in the Author's index
- Regenerate the specific XSLT
=> SUCCESS: doing a diff shows the only change is the code has been wrapped inside an xslo:if using the condition for the test
- Apply the generated xsl to a MARCXML record that has a field matching the condition like this:
  $ xsltproc .../biblio-zebra-indexdefs.xsl sample_record.xml
=> SUCCESS: There's an index on the result, containing the configured field/subfields, that matches the criteria.
- Sign off and feel really happy :-D

Note: the attached sample record includes a 100 field, with ind2=7 and $a=Tomasito

Edit: This patch was squashed once I figured it got too complex and Jonathan required a followup
to avoid code duplication.

This avoids code duplication, with the same results.

Sponsored-by: Orex Digital
Signed-off-by: Barton Chittenden <barton@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14873: Remove C4::Dates from reserve/request.pl
Marc Véron [Sun, 20 Sep 2015 19:39:44 +0000 (21:39 +0200)]
Bug 14873: Remove C4::Dates from reserve/request.pl

This bug removes deprecated C4::Dates from reserve/request.pl

To test:
- Apply patch
- In staff client, search a biblio and try to put a hold for a borrower (Home > Catalog > [Some Biblio] > Place a hold to [Some biblio])

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14879: Move the date displays to the template
Jonathan Druart [Thu, 24 Sep 2015 10:28:42 +0000 (11:28 +0100)]
Bug 14879: Move the date displays to the template

There is no special need to format the date in the perl script.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14879: Remove C4::Dates from catalogue/detail.pl
Marc Véron [Sun, 20 Sep 2015 21:36:32 +0000 (23:36 +0200)]
Bug 14879: Remove C4::Dates from catalogue/detail.pl

This bug removes deprecated C4::Dates from catalogue/detail.pl

To test:
Apply patch
Go to Home > Catalog > Details for [some biblio with items and holdings]
Make sure that biblio and Holdings and Acquisition details display as appropriate

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Bug 14879 - Remove C4::Dates from catalogue/detail.pl

Remove forbidden patterns (tab) to pass QA tools

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14733: (QA followup) make tests independent of already defined branches
Tomas Cohen Arazi [Fri, 25 Sep 2015 14:47:23 +0000 (11:47 -0300)]
Bug 14733: (QA followup) make tests independent of already defined branches

The current tests were expecting the first defined branch to be CPL. That's
not the case on my box so they failed. This patch adds the creation of two
new random branches/branchcodes, and replaces the legacy use of CPL and MPL
in favour of the new ones.
It relies on TestBuilder for the task.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14733: Replace 'priority' with 'estimated priority'
Jonathan Druart [Mon, 21 Sep 2015 15:46:00 +0000 (16:46 +0100)]
Bug 14733: Replace 'priority' with 'estimated priority'

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14733: Prevent a record from having holds with duplicate priorities
Kyle M Hall [Wed, 26 Aug 2015 15:43:08 +0000 (11:43 -0400)]
Bug 14733: Prevent a record from having holds with duplicate priorities

It is possible to create holds with duplicate priorities.

The reason for this is that typically the priority is calculated before
placing the hold. When the hold is placed the priority is calculated.
This can easily be shown by opening up two browser windows and starting
to place a hold for a record in each one. You'll see that both list the
same priority. If you than place the hold in each window, both holds
will have the same priority!

Test Plan:
1) Run unit tests pre-patch, note they fail
2) Run unit tests post-patch, note they succeed

Signed-off-by: Heather Braum <hbraum@nekls.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14733: Unit Tests
Kyle M Hall [Wed, 26 Aug 2015 15:42:14 +0000 (11:42 -0400)]
Bug 14733: Unit Tests

Signed-off-by: Heather Braum <hbraum@nekls.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14298: DBRev 3.21.00.027
Tomas Cohen Arazi [Fri, 25 Sep 2015 14:20:13 +0000 (11:20 -0300)]
Bug 14298: DBRev 3.21.00.027

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14298: Add perms for other languages
Jonathan Druart [Mon, 14 Sep 2015 09:50:12 +0000 (10:50 +0100)]
Bug 14298: Add perms for other languages

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14298: Add warning to the about page if the sco user does not have correct permis...
Jonathan Druart [Wed, 2 Sep 2015 15:30:15 +0000 (16:30 +0100)]
Bug 14298: Add warning to the about page if the sco user does not have correct permissions

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Note: Made a little change, changed He should have, to They should have

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14298: Use the new permission in the sco scripts
Jonathan Druart [Wed, 2 Sep 2015 15:10:45 +0000 (16:10 +0100)]
Bug 14298: Use the new permission in the sco scripts

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Note without this patch, you won't be able to access the SCO side.
So don't panic if you cant use SCO with just the first patch

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14298: Add the new 'self_checkout' permissions
Jonathan Druart [Wed, 2 Sep 2015 15:09:35 +0000 (16:09 +0100)]
Bug 14298: Add the new 'self_checkout' permissions

There is a security issue in the self checkout module.
The user used to check items out must have the circulate =>
circulate_remaining_permissions permissions.
So even if a user does not have a login/password or a barcode he cans
access to the circulation module of the intranet.
Imagine if the sco patron used is a superlibrarian...

This patch set will change the behavior and adds a new permission to
access to the sco module (circulate => self_checkout).
This permission should be the only one defined for this patron.

IMPORTANT NOTE: Hopefully, this only works if both interfaces use the
same domains (but different ports).

Test plan:
0/ Does not apply this patch set
1/ Create a patron with the circulate => circulate_remaining_permissions
and some others. Note his userid/pwd (later 'sco/sco').
Turn on WebBasedSelfCheck and AutoSelfCheckAllowed
Fill the AutoSelfCheckID and AutoSelfCheckPass wich 'sco' and 'sco'
2/ Log you out from the OPAC and the intranet
3/ Go on the sco page
4/ Note that your are automatically logged in
5/ Go on the circulation module on the intranet side
6/ Oops
7/ Apply this patch
8/ Execute the updatedatabase
9/ Note that the sco user only has the new permission circulate =>
self_checkout, others have been removed
10/ Try to reproduce the issue, it should not access anything on the
intranet side
11/ Confirm that there is no regression in the sco module

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Works well no regressions, changes the permissions appropriately.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14817: (follow-up) Fix encoding issues in columns.def
Jonathan Druart [Wed, 16 Sep 2015 08:24:07 +0000 (09:24 +0100)]
Bug 14817: (follow-up) Fix encoding issues in columns.def

Follow-up for reports.

Test plan:
1/ Use a translated template (fr-FR or ar-Arab)
2/ Go on the report guided page, step 3
3/ The field names should be correctly encoded.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14817: Fix encoding issues in columns.def
Jonathan Druart [Mon, 14 Sep 2015 14:02:50 +0000 (15:02 +0100)]
Bug 14817: Fix encoding issues in columns.def

Test plan:
1/ Use a translated template (fr-FR or ar-Arab)
2/ Go on the tools/import_patrons.pl page
3/ The field names in the "default values" block should be correctly
encoded.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 13813: [QA Follow-up] Fix some tabs for qa tools
Marcel de Rooy [Thu, 3 Sep 2015 10:16:08 +0000 (12:16 +0200)]
Bug 13813: [QA Follow-up] Fix some tabs for qa tools

FAIL   C4/Barcodes/annual.pm
   FAIL   forbidden patterns
                forbidden pattern: tab char (line 86)
                forbidden pattern: tab char (line 51)

FAIL   C4/Barcodes/hbyymmincr.pm
   FAIL   forbidden patterns
                forbidden pattern: tab char (line 108)
                forbidden pattern: tab char (line 78)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 13813: Remove deprecated module C4::Dates from system
Marc Véron [Thu, 3 Sep 2015 09:46:09 +0000 (11:46 +0200)]
Bug 13813: Remove deprecated module C4::Dates from system

Changes for QA comment #165

circ/transferstoreceive.pl
'iso' added

circ/waitingreserves.pl
'iso' added

members/printinvoice.pl
'iso' removed

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 13813: Remove deprecated module C4::Dates from system
Marc Véron [Thu, 12 Mar 2015 14:00:11 +0000 (15:00 +0100)]
Bug 13813: Remove deprecated module C4::Dates from system

Test plan: See Bugzilla.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 11368: [QA Followup 2]
Kyle M Hall [Wed, 16 Sep 2015 14:33:09 +0000 (10:33 -0400)]
Bug 11368: [QA Followup 2]

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 11368: [QA Followup]
Kyle M Hall [Thu, 14 May 2015 12:21:10 +0000 (08:21 -0400)]
Bug 11368: [QA Followup]

* Fix QA failures
* Fix copyright
* Add file format documentation
* Add -c --confirm option
* Add -t --test option
* Add -h --help option

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 11368: Add script to import Lexile scores
Kyle M Hall [Tue, 10 Dec 2013 15:26:48 +0000 (10:26 -0500)]
Bug 11368: Add script to import Lexile scores

Koha needs a script to automate the importing of Lexile score data for
titles that have available scores but are not currently in the title's
record.

This script will take a CSV file of Lexile scores, and locate any
matching records in the Koha database ( by ISBN ). If the record already
has a score, it will be updated. If not, the Lexile score field will be
created.

Test Plan:
1) Apply this patch
2) Catalog a record for each of the following ISBNs:
   0789170191
   9780673779410
3) Download the file LexileTitlesTruncated.txt attached
   to this bug report
4) Run the script from the command line:
   ./misc/migraction_tools/import_lexile.pl -v --file /path/to/LexileTitlesTruncated.txt
5) View those records in Koha
6) Note those records now have valid Lexile scores
7) Edit the Lexile score ( 521$a ) and change the value to something else
8) Repeat step 4
9) Note the original Lexile score has been restored

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14472: (QA followup) fix updatedatabase.pl for multiple ISSN rules
Tomas Cohen Arazi [Fri, 18 Sep 2015 15:34:45 +0000 (12:34 -0300)]
Bug 14472: (QA followup) fix updatedatabase.pl for multiple ISSN rules

If (for some reason) the user has created more than one matching rule
with the 'ISSN' code, the updatedabase.pl script fails, because it was
written with the default data in mind, and didn't consider the scenario
described above.

Thanks Liz for pointing this out!

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14585: Fixing up online help on main page
Aleisha [Wed, 22 Jul 2015 01:37:30 +0000 (01:37 +0000)]
Bug 14585: Fixing up online help on main page

To test:

1) Go to home page of staff client and click the Help
2) Notice: 'you should now 'got to' Koha'
   'settings found in 'a'dministration.' (should be capitalized)
   'Once that user is set you should use that user to log in rather than the root user set up as part of installation.' (could be worded better)
3) Apply patch, close Help, reload page, reopen Help
4) Notice: 'got to' --> 'go to'
   'administration' --> 'Administration'
   'Once that user is set you should use that user to log in rather than the root user set up as part of installation.'

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14510: (QA followup) fix columns settings in other pages
Jesse Weaver [Mon, 14 Sep 2015 21:57:55 +0000 (15:57 -0600)]
Bug 14510: (QA followup) fix columns settings in other pages

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14510: Redirect to the items' fields mapped
Jonathan Druart [Fri, 4 Sep 2015 08:15:27 +0000 (09:15 +0100)]
Bug 14510: Redirect to the items' fields mapped

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14510: (QA followup) Fix bug with unmapped columns
Jesse Weaver [Thu, 6 Aug 2015 18:48:07 +0000 (12:48 -0600)]
Bug 14510: (QA followup) Fix bug with unmapped columns

Fall back more smoothly when items subfields are not mapped to a
kohafield. Note, however, that this development does not allow applying
default settings to subfields that aren't mapped. A note has been added
to the columns settings page, as there is no known workaround for this.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14510: (QA followup) Add more columns, resort
Jesse Weaver [Thu, 6 Aug 2015 18:48:07 +0000 (12:48 -0600)]
Bug 14510: (QA followup) Add more columns, resort

Per a conversation with Jonathan Druart, add all columns that could be
reasonably mapped, and order them the same as in kohastructure.sql.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14510: (QA followup) remove extraneous whitespace
Jesse Weaver [Thu, 6 Aug 2015 18:48:07 +0000 (12:48 -0600)]
Bug 14510: (QA followup) remove extraneous whitespace

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14510: Allow column visibility in additem.pl to be customized
Jesse Weaver [Thu, 9 Jul 2015 22:26:36 +0000 (16:26 -0600)]
Bug 14510: Allow column visibility in additem.pl to be customized

This patch adds the table of items on additem.pl to the columns
customizer.

Test plan:
  1. Open item editor on a record, and verify that all columns are visible.
  2. Apply patch.
  3. Reload editor, and verify that column visibility hasn't changed.
  4. Open "Hide/show columns," and verify that you can add and remove
     columns.
  5. Change the visibility and togglability of some columns in
     columns_settings.pl, and verify that these correctly apply to
     additem.pl.

NOTE: The columns that are configurable are selected from the non-hidden
columns that have mappings to MARC subfields in the default MARC21
framework (and can thus be displayed in the item editor).

Signed-off-by: Jenny Schmidt <jschmidt@switchinc.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 13781: Fix missing heading columns for relative's checkouts table in check out...
Genevieve Plantin [Tue, 8 Sep 2015 17:58:10 +0000 (13:58 -0400)]
Bug 13781: Fix missing heading columns for relative's checkouts table in check out patron page

Theres was two missing heading columns Location and Fines in the Check out section of a Patron

Tested both patches together. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 13781: Fix relatives's checkouts missing heading columns
Genevieve Plantin [Fri, 4 Sep 2015 13:15:26 +0000 (09:15 -0400)]
Bug 13781: Fix relatives's checkouts missing heading columns

There was two missing heading columns (location and fine) and one hidden heading missing column (this hidden column is needing for sorting the table) it was taking the due_date column for the hidden column, so I added them

Both patches tested together. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: (follow-up) Include item data only in extended mode
Alex Arnaud [Thu, 27 Aug 2015 12:28:50 +0000 (14:28 +0200)]
Bug 12252: (follow-up) Include item data only in extended mode

Fix perlcritic error.

Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: Include item data only in extended mode
Frédéric Demians [Thu, 23 Jul 2015 16:38:25 +0000 (18:38 +0200)]
Bug 12252: Include item data only in extended mode

Previous patches attached to this bug have been refactored to merge bug
3206 and bug 13568 features. So OAI server must be carrefully tested to
ensure that there is no regression in this area: deleted records and
resumption token.

This last patch fixed the way items are returned. They are returned only
if OAI server operates in extended mode, and specifically for format
having the parameter include_item set to 1 (true). For example this
configuration file set via OAI-PMH:ConfFile syspref will return items:

Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: (qa-follow-up) Remove perlcritic error
Jonathan Druart [Wed, 7 Jan 2015 14:29:50 +0000 (15:29 +0100)]
Bug 12252: (qa-follow-up) Remove perlcritic error

Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: Add tests for EmbedItemsInMarcBiblio
Jonathan Druart [Fri, 2 Jan 2015 14:46:03 +0000 (15:46 +0100)]
Bug 12252: Add tests for EmbedItemsInMarcBiblio

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: include item data in OAI-PMH ListRecords result
Robin Sheat [Mon, 23 Jun 2014 05:16:50 +0000 (17:16 +1200)]
Bug 12252: include item data in OAI-PMH ListRecords result

Same in spirit to the other patch, this also includes the item detail in
ListRecords.

Test plan:
* Fetch a URL like:
http://koha/cgi-bin/koha/oai.pl?verb=ListRecords&metadataPrefix=marcxml
* Verify that there are 952 entries in the returned records where
  appropriate.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>
ListRecords OAI verb returns a list of records including items in 952/995 which
are not hidden based on OpacHiddenItems syspref.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: OAI-PMH items respect OpacHiddenItems
Robin Sheat [Tue, 20 May 2014 05:15:52 +0000 (17:15 +1200)]
Bug 12252: OAI-PMH items respect OpacHiddenItems

This allows the OAI-PMH service to not provide item information when
there is a rule that would supress it in OpacHiddenItems.

Test plan:
* Find an OAI-PMH URL that shows you some items.
* Add an entry to OpacHiddenItems that would block that.
* Check that it's blocked.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>
Tested, playing with OpacHiddenItems. GetRecord OAI verb returns a record
complying with OpacHiddenItems rules, for example without items from a specific
library.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 12252: OAI-PMH result includes item data
Robin Sheat [Wed, 14 May 2014 02:39:03 +0000 (14:39 +1200)]
Bug 12252: OAI-PMH result includes item data

GetRecord for OAI-PMH was pulling the MARCXML directly from the
database. Now it uses GetMarcBiblio and includes the item data with it,
making it more generally useful.

Test plan:
* Run an OAI-PMH query, for example:
http://koha/cgi-bin/koha/oai.pl?verb=GetRecord&identifier=KOHA-OAI-TEST:52&metadataPrefix=marcxml
  to fetch biblionumber 52
* Note that it doesn't include the 952 data
* Apply the patch
* Do the same thing, but this time see that the 952 data is at the
  bottom of the MARCXML.

Note:
* This patch also includes a small tidy-up in C4::Biblios to group
  things semantically a bit better, so I don't spend ages looking for a
  function that was staring me in the face all along again.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described. Simple yet useful patch.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
952/995 item fields are back in response to GetRecord OAI verb.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Signed-off-by: Gaetan Boisson <gaetan.boisson@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14245: (QA followup) already global
Tomas Cohen Arazi [Wed, 16 Sep 2015 14:51:12 +0000 (11:51 -0300)]
Bug 14245: (QA followup) already global

The original patch correctly unmasks the global variable (by
removing the 'my' on the marc2ris function, but wrongly introduces
a new global variable.

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14245: Problems with RIS export in unimarc
Bernardo Gonzalez Kriegel [Thu, 21 May 2015 17:00:05 +0000 (14:00 -0300)]
Bug 14245: Problems with RIS export in unimarc

Variable $itype is used an all C4/Ris.pm to switch
between marc falvors, but is local and not passed along
as argument.

As a quick solution, is defined as global

To test:
1) On UNIMARC setup, export a record as RIS,
check that author (and other fields) are displayed
incorrectly

2) Apply the patch

3) Export again, improved results

4) Run t/Ris.t

There are other problems in this script, needs maintenance
(e.g. no Modern::Perl friendly)

Signed-off-by: Victor do Rosário <jvr@fct.unl.pt>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14640: 'Cancel Hold' check box on check-out confirmation does not cancel the...
Kyle M Hall [Tue, 25 Aug 2015 14:35:28 +0000 (10:35 -0400)]
Bug 14640: 'Cancel Hold' check box on check-out confirmation does not cancel the hold when item is checked out.

This bug is dealing with the situation where an item is checked out to a
patron that is not the next in line hold-wise for an item. In this case,
Koha will warn the librarian that there are holds on the item and
show the first person in line. Again, I want to stress that this
is the case where the item *is not waiting* for a patron. The
hold for the patron listed will just have a priority of 1.

The only situation where the "Cancel hold" checkbox will function
is when the priority 1 hold is an item level hold. This is due to
the fact that CancelReserve is being passed the trio of
biblionumber, borrowernumber, and itemnumber rather than the
singular reserve_id.

1) place biblio level hold on a book to borrower A.
2) check out an item of the book to borrower B.
3) When confirming checkout, check the 'Cancel hold' check-box, and
   click the "Yes, check out" button.
4) Note the hold was not canceled
5) Apply this patch
6) Repeat steps 1 through 3
7) Note the hold was indeed canceled

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14640: Add tests
Jonathan Druart [Tue, 1 Sep 2015 09:52:51 +0000 (10:52 +0100)]
Bug 14640: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 10005: Inventory - Add an option to not check in items
Jonathan Druart [Tue, 14 Jul 2015 14:02:42 +0000 (15:02 +0100)]
Bug 10005: Inventory - Add an option to not check in items

The inventory tools automatically check in items, this patch adds it as
an option.

Test plan:
1/ Check an item out, fill a file with its barcode, and use this file in
the inventory tools.
2/ Check the new checkbox and confirm that the item is not checked in
3/ Repeat again and don't check it, the behavior should be the same as before
this patch.

Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Added a missing </li>.
Patch works as expected.
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 7634: Prevent permanent_location to be set to NULL if not defined
Jonathan Druart [Wed, 2 Sep 2015 13:28:52 +0000 (14:28 +0100)]
Bug 7634: Prevent permanent_location to be set to NULL if not defined

The permanent_location is correctly filled when an item is added from
the cataloguing module (routine set_item_default_location from
cataloguing/additem.pl).
But when records are imported, this filled is not managed. It's only on
editing (_do_column_fixes_for_mod called from ModItem).

This patch set the permanent_location item fields to the location value for all
items created, even the imported ones.

Test plan:
0/ Do not apply this patch
1/ Import a record with items using the "Stage MARC for import" tool
2/ Check the values for the permanent_location in the items table.
They are set to NULL
3/ Apply this patch
4/ Repeat 2 and confirm that now the permanent_location values are set
to the location values.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 7634: Add tests
Jonathan Druart [Wed, 2 Sep 2015 13:46:02 +0000 (14:46 +0100)]
Bug 7634: Add tests

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 7634: Make the tests pass
Jonathan Druart [Wed, 2 Sep 2015 13:43:15 +0000 (14:43 +0100)]
Bug 7634: Make the tests pass

This patch just fixed a master bug, if your database already has some
items.homebranch set to CPL

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 6756: Add info messages
Jonathan Druart [Tue, 14 Jul 2015 10:38:41 +0000 (11:38 +0100)]
Bug 6756: Add info messages

NOTE: Before patch "./misc/cronjobs/batch_anonymise.pl --help" had no
      message, and neither did the anonymizing tool in the staff client.
      After the patch, both had informative messages.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 6756: Fix bad behaviors if AnonymousPatron is not defined
Jonathan Druart [Tue, 14 Jul 2015 10:30:51 +0000 (11:30 +0100)]
Bug 6756: Fix bad behaviors if AnonymousPatron is not defined

There are at least 2 wrong behaviors if the AnonymousPatron pref is not
defined (0 or empty string).
1/ If you use the clean borrower tools, you will get a successful
message when the nothing happened (the history has not been anonymised).
2/ At the OPAC, if a patron ask for delete his reading history, he will
get an error message "The deletion of your reading history failed,
because there is a problem with the configuration of this feature.
Please help to fix the system by informing your libr    ary of this
error". IMO this should not happen, the history should be anonymised.

With this patch, the old_issues.borrowernumber field will be set to NULL
if the AnonymousPatron pref if not defined.

Test plan:
1/ Fill the pref with "" or 0
2/ At the OPAC, go on the privacy tab and click on the "Immedia deletion" button.
You should get a green and friendly message. Confirm that the history
has been anonymised.
3/ Use the "Batch patron anonymization" tools (tools/cleanborrowers.pl)
to anonymize the checkout history.
Confirm that a) it works and b) you get a message.

Try again with AnonymousPatron set to a valid patron. You should not see
any changes with the current behaviors.

NOTE: This patch tweaks C4/Circulation.pm and provides tests.
      applying just this, and running prove success. Reverting just
      C4/Circulation.pm fails, as expected.
      Tested OPAC stuff with both patches applied.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 13622: [QA Follow-up] Add unit test descriptions
Marcel de Rooy [Mon, 18 May 2015 12:19:19 +0000 (14:19 +0200)]
Bug 13622: [QA Follow-up] Add unit test descriptions

This report adds a few unit tests for datonly flag in notices.
This patch adds (very trivial) unit test descriptions.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 13622: Display a datetime without time in a notice
Jonathan Druart [Mon, 26 Jan 2015 16:24:36 +0000 (17:24 +0100)]
Bug 13622: Display a datetime without time in a notice

For some needs, a librarian would like to display a datetime or
timestamp field without the time.

This patch adds filter logic in the notice/letter parsing process.

Test plan:
1/ Defined a notice using a datetime or timestamp DB field
(biblio.timestamp for instance).
2/ Generate the notice
3/ Verify that the letter is generated with the time
4/ Use the "dateonly" filter like:
  <<your_table.your_field | dateonly>>
  <<biblio.timestamp | dateonly>>
5/ Generate the notice
6/ Confirm the the letter is generated without the time for this field.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Updated the count of tests to 64 for t/db_dependent/Letters.t to pass
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14813: Fix encoding issues on editing help pages
Jonathan Druart [Mon, 14 Sep 2015 09:28:01 +0000 (10:28 +0100)]
Bug 14813: Fix encoding issues on editing help pages

It has been introduced by bug 11944.

Test plan:
1/ Install and set the fr-FR language (or ar-Arab).
2/ Go on the help page and edit it.
3/ The textarea should not contain encoding issues with this patch.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14197: TestBuilder - Remove the error on starting the transaction
Jonathan Druart [Thu, 9 Jul 2015 08:35:12 +0000 (09:35 +0100)]
Bug 14197: TestBuilder - Remove the error on starting the transaction

DBD::mysql::db begin_work failed: Already in a transaction at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1560.
DBIx::Class::Storage::DBI::txn_rollback(): Storage transaction_depth 0 does not match false AutoCommit of DBI::db=HASH(0xa429648), attempting ROLLBACK anyway at t/lib/TestBuilder.pm line 363

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14197: Remove the warning on destroying TestBuilder objects
Jonathan Druart [Wed, 13 May 2015 15:58:45 +0000 (17:58 +0200)]
Bug 14197: Remove the warning on destroying TestBuilder objects

This module will be called by db_dependent tests, which already create a
transaction.
TestBuilder creates a new one (which is certainly useless) and the
rollback does not do anything.

To see the warning see patches on bug 14045.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 8723: Update hold_fill_targets, tmp_holdsqueue and linktracker tables
Jonathan Druart [Fri, 10 Jul 2015 14:18:48 +0000 (15:18 +0100)]
Bug 8723: Update hold_fill_targets, tmp_holdsqueue and linktracker tables

Same as previous patch for 3 other tables.

Test plan:
Same as before but the hold should exist to the 3 tables before the
move.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 8723: Update the reserves table for item-level holds
Jonathan Druart [Fri, 10 Jul 2015 14:04:55 +0000 (15:04 +0100)]
Bug 8723: Update the reserves table for item-level holds

If an item is moved from a biblio to another, the holds should be
updated too.

See discussion on the bug report for more information.

Test plan:
1/ Place a item-level hold on biblio1
2/ Move the item to biblio2
3/ Confirm that the hold still exists and point to the biblio2

This patch should not change the existing behavior for bib-level holds.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 8723: Cover the existing behavior
Jonathan Druart [Fri, 10 Jul 2015 13:15:42 +0000 (14:15 +0100)]
Bug 8723: Cover the existing behavior

This patch cover the MoveItemFromBiblio subroutine

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14782: Add possibility to search patrons using the username (userid)
Marc Véron [Sat, 5 Sep 2015 14:41:58 +0000 (16:41 +0200)]
Bug 14782: Add possibility to search patrons using the username (userid)

This patch makes it possible to search for users using the username (userid / login name).

To test:

- Apply patch
- Do searches from Home > Patrons
- Search after a full username or parts of a username with Search fields = Standard and Search fields = Userid
- Perform the searches from the top bar (expand with [+]) and from the "Filters" part at the left
- Make sure that other searches behave as before

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14782: Add tests
Katrin Fischer [Sun, 13 Sep 2015 16:06:46 +0000 (18:06 +0200)]
Bug 14782: Add tests

Run:
perl t/db_dependent/Utils/Datatables_Members.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14801: Fix Reserves.t -- Follow-up for ChargeReserveFee
Marcel de Rooy [Mon, 14 Sep 2015 09:11:11 +0000 (11:11 +0200)]
Bug 14801: Fix Reserves.t -- Follow-up for ChargeReserveFee

The problem making some tests fail, actually was the unneeded addition
of zero accountline records by ChargeReserveFee, called by AddReserve.
The balance is still zero, but a test like !$var responds differently
when var is 0.00 instead of 0 or undef.

This patch adjusts the test in ChargeReserveFee in order to prevent
adding these records with 0.00.
The first patch that adjusts the tests in Reserves.t is not strictly
needed anymore, but can stay.

Test plan:
[1] Run t/db_dependent/Reserves.t
[2] Run t/db_dependent/Reserves/GetReserveFee.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14801: Fix Reserves.t
Marcel de Rooy [Thu, 10 Sep 2015 14:39:51 +0000 (16:39 +0200)]
Bug 14801: Fix Reserves.t

Fix the following errors:
not ok 59 - Bug 14464 - No fines at beginning
ok 60 - Bug 14464 - 1st reserve correctly created
not ok 61 - Bug 14464 - No fines after cancelling reserve with no charge configured
ok 62 - Bug 14464 - 2nd reserve correctly created
not ok 63 - Bug 14464 - No fines after cancelling reserve with no charge desired

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended the x==0 test with !x || x==0 to include 0.00 and prevent warn.
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14655: Fix wording
Jonathan Druart [Mon, 14 Sep 2015 12:22:21 +0000 (13:22 +0100)]
Bug 14655: Fix wording

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Fixed a missing space after Error: :)
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14655: Add a warning on the about page if patrons have requested privacy
Jonathan Druart [Tue, 18 Aug 2015 17:15:02 +0000 (18:15 +0100)]
Bug 14655: Add a warning on the about page if patrons have requested privacy

New warning on the about page if at least a patron has requested a
privacy on checkin but the AnonymousPatron is not set to a valid patron.

Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14655: Add a warning if the checkin will fail
Jonathan Druart [Tue, 18 Aug 2015 17:10:37 +0000 (18:10 +0100)]
Bug 14655: Add a warning if the checkin will fail

On the checkin and checkout page, the checkin will fail if the patron
has requested the privacy and the AnonymousPatron is not correctly set.

This patch adds a warning message on both pages.

Test plan:
0/ Be sure you don't have any patron with privacy=2 (Never)
1/ Set OPACPrivacy, not AnonymousPatron
2/ Go on the checkin, you should a warning (same as before this patch).
3/ Set the privacy=2 for a patron
4/ Go on the circulation page, a warning should appear (for this
specific patron)
5/ Check an item out to this patron
6/ Check the item in on the checkin page.
The item is not checked in and you get a specific message for this
patron.

Confirm other/correct situations don't trigger the messages.

Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
6 years agoBug 14472: DBRev 3.21.00.026
Tomas Cohen Arazi [Mon, 7 Sep 2015 17:07:47 +0000 (14:07 -0300)]
Bug 14472: DBRev 3.21.00.026

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12357: DBRev 3.21.00.025
Tomas Cohen Arazi [Mon, 7 Sep 2015 17:05:39 +0000 (14:05 -0300)]
Bug 12357: DBRev 3.21.00.025

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12357: Following whitespace failures on koha qa test tools.
Mark Tompsett [Mon, 25 May 2015 04:22:07 +0000 (00:22 -0400)]
Bug 12357: Following whitespace failures on koha qa test tools.

TEST PLAN
---------
1) Apply all patches before this.
2) run koha qa test tools
   -- whitespace failures
3) Apply this patch
4) run koha qa test tools
   -- no whitespace failures.

NOTE: More tabs were fixed than required, to also clean up a little indenting.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Koha-qa tools now happy

Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12357: Fix comma issues related to additional fields.
Mark Tompsett [Mon, 25 May 2015 04:06:24 +0000 (00:06 -0400)]
Bug 12357: Fix comma issues related to additional fields.

TEST PLAN
---------
1) Apply patches, except this one.
2) prove t/db_dependent/Record.t
   -- fails like comment #38
3) Apply this patch
4) prove t/db_dependent/Record.t
   -- now it passes.
5) koha qa test tools.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Make test work, koha-qa problems fixed in next patch

Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12357: [QA Followup] - Unit Test
Kyle M Hall [Tue, 28 Apr 2015 12:56:49 +0000 (08:56 -0400)]
Bug 12357: [QA Followup] - Unit Test

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
This works with next patch

Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12357: Enhancements to RIS and BibTeX exporting
Kyle M Hall [Fri, 23 Jan 2015 12:11:36 +0000 (07:11 -0500)]
Bug 12357: Enhancements to RIS and BibTeX exporting

Some libraries would like to be able to add arbitrary fields to both the
RIS and BibTeX citation formats that a record can be saved as from the
staff intranet and public catalog. In addition, they would like to be
able to override the default record type and use Koha's itemtype as the
record type for those formats as well.

Test Plan:
 1) Apply this patch
 2) Run updatedatabase.pl
 3) Add the following to the new syspref RisExportAdditionalFields:
TY: 942$c
LC: 010$a
NT: [501$a, 505$g]
 4) Find or create a record with an 010$a (lccn) field, a 501$a field,
    a 942$c field, and multiple 505$g fields.
 5) Locate the record in the catalog, choose "Save" and select RIS
 6) Inspect the downloaded file, note the replaced TY field, the LC
    field, and multiple NT fields
 7) Add the following to the new syspref BibtexExportAdditionalFields:
'@': 942$c
lccn: 010$a
notes: [501$a, 505$g]
 9) Using the previously selected record, choose "Save" and select BIBTEX
10) Inspect the downloaded file, note the lccn, the multiple note
    fields, and the new record type value

Signed-off-by: Frederic Demians <f.demians@tamil.fr>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - FA framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 16:34:01 +0000 (13:34 -0300)]
Bug 10963: Simplified creation - FA framework

Patch 1/9

This patch modifies Fast Add framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Revert old hidden values
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 19:06:08 +0000 (16:06 -0300)]
Bug 10963: Revert old hidden values

This patch reverts old hidden values to marc_subfield_structure.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - SER framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:59:07 +0000 (14:59 -0300)]
Bug 10963: Simplified creation - SER framework

Patch 9/9

This patch rewrites SER framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - IR framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:52:38 +0000 (14:52 -0300)]
Bug 10963: Simplified creation - IR framework

Patch 8/9

This patch rewrites IR framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - KT framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:46:43 +0000 (14:46 -0300)]
Bug 10963: Simplified creation - KT framework

Patch 7/9

This patch rewrites KT framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - AR framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:41:50 +0000 (14:41 -0300)]
Bug 10963: Simplified creation - AR framework

Patch 6/9

This patch rewrites AR framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - VR framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:35:15 +0000 (14:35 -0300)]
Bug 10963: Simplified creation - VR framework

Patch 5/9

This patch rewrites VR framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - SR framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:27:38 +0000 (14:27 -0300)]
Bug 10963: Simplified creation - SR framework

Patch 4/9

This patch rewrites SR framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - CF framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:16:35 +0000 (14:16 -0300)]
Bug 10963: Simplified creation - CF framework

Patch 3/9

This patch rewrites CF framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 10963: Simplified creation - BKS framework
Bernardo Gonzalez Kriegel [Sat, 12 Apr 2014 17:05:48 +0000 (14:05 -0300)]
Bug 10963: Simplified creation - BKS framework

Patch 2/9

This patch rewrites BKS framework

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14683: [QA Follow-up] Similar change for staff
Marcel de Rooy [Tue, 1 Sep 2015 14:11:54 +0000 (16:11 +0200)]
Bug 14683: [QA Follow-up] Similar change for staff

Script memberentry.pl contained a similar line.
Solution is simpler here.

Test plan:
[1] Add, change or clear the sms number at staff side.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14683: [QA Follow-up] Mixup between mobile and smsalertnumber
Marcel de Rooy [Fri, 28 Aug 2015 07:13:09 +0000 (09:13 +0200)]
Bug 14683: [QA Follow-up] Mixup between mobile and smsalertnumber

This is an issue discussed on older reports already in the past.
Column mobile in borrowers is actually 'Other phone', not necessary a
mobile number. The name of the field is confusing. (Renaming it is
outside the scope of this report.)
The field that we are editing here is smsalertnumber. It should not be
compared with mobile at all.

What could be the side-effect of this correction?
===
First, the change is only relevant for libraries with pref SMSSendDriver
enabled.
In the past patrons editing their message preferences saw mobile (read:
other phone) in their smsalertnumber field (if the latter was still empty).
If they saved it, it was copied to smsalertnumber.
This change does not affect these patrons. They just have the same number
in two columns. No big deal.
What if a patron does not yet have a smsalertnumber? In that case no sms
is sent in Letters.pm. So no change in behavior. If he submits
opac-messaging now, he will no longer copy his other phone to smsalert [we
cannot assume that it was mobile anyway!]. If he enters a mobile number,
it will be saved correctly in the right field.

Conclusion: this change will not break things or hurt anyone. It only
prevents unwanted copying other phone to smsalertnumber.

Also modified the compare to prevent uninitialized warnings.
And removed a commented warn.

Test plan:
[1] Add, edit or delete the SMS number on opac-messaging regardless of
    the value of Other Phone (in the badly named mobile field).

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14683: Unable to clear SMS number
Joonas Kylmälä [Wed, 19 Aug 2015 11:42:50 +0000 (11:42 +0000)]
Bug 14683: Unable to clear SMS number

Enables to clear SMS number.

To test:
1. Go to opac-messaging.pl
2. Insert SMS number and submit
3. Clear SMS number and submit
4. Observe that the sms number did not change
5. Apply patch
6. Clear SMS number and submit
7. Observe that the sms number changes

Sponsored-by: Vaara-kirjastot
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adding a follow-up.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14621: Messaging preferences table needs to be sorted
Lari Taskula [Thu, 30 Jul 2015 15:34:49 +0000 (18:34 +0300)]
Bug 14621: Messaging preferences table needs to be sorted

I have been working with messaging preferences and I noticed a weird issue in Firefox on Ubuntu.

On messaging preferences page, the table is unsorted and the content in rows are generated randomly
on every page refresh. When you select/deselect checkboxes and refresh the page (without posting the changes),
Firefox will remember your choices. Now the issue is that when the table is unsorted and the rows keep
changing on page refresh, Firefox has trouble remembering your choices. This makes it appear as if the
checkboxes are magically changing values on each page refresh.

Here is a patch that prevents this problem by sorting the messaging settings.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14760: Disabled courses display in the course reserves list for items
Kyle M Hall [Mon, 31 Aug 2015 13:36:02 +0000 (09:36 -0400)]
Bug 14760: Disabled courses display in the course reserves list for items

If an item is on reserve for two courses but one of those courses is
disabled, both courses are still listed on opac-detail.pl!

Test Plan:
1) Enable course reserves
2) Create two courses
3) Place one item on reserve for both courses
4) Disable one of the two courses
5) View the record details for that record/item
6) You should see both courses listed in the course reserves column
7) Apply this patch
8) Reload the page
9) You should now only see the active course in the course reseves column

Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14470: Do not allow renew for on-site checkouts
Jonathan Druart [Tue, 4 Aug 2015 09:38:29 +0000 (10:38 +0100)]
Bug 14470: Do not allow renew for on-site checkouts

At the opac, the renew checkbox should not be displayed if it's an
on-site checkout (same on the intranet).

On the way, this patch adds a specific message to the intranet if the
librarian try to renew an on-site checkout.
Indeed before this patch a renew was allowed if the barcode was scanned.

Test plan:
1/ Create an on-site checkout for a patron
2/ Confirm that the checkbox 'renew' is not displayed on the checkout
list tables
3/ At the OPAC, the renew should not be allowed (no checkbox)
4/ Try to check the item out to the same patron, confirm that you get a
specifig message to inform you the renew is not allowed for on-site
checkouts.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Changed 'issue' to 'item' in the error message.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14639: (QA followup) make schema mandatory
Tomas Cohen Arazi [Thu, 3 Sep 2015 13:13:18 +0000 (10:13 -0300)]
Bug 14639: (QA followup) make schema mandatory

This patch makes the 'schema' param mandatory. It is passed in every
call on the current codebase, so it makes no harm now, but makes
the code less error-prone.

Tests for this situation are added to t/Koha_MetadataRecord.t (schema
param is omitted and new() returns undef and a carped warning).

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14639: Extend Koha::MetadataRecord to handle serialization format and record id
Tomas Cohen Arazi [Mon, 3 Aug 2015 14:41:23 +0000 (11:41 -0300)]
Bug 14639: Extend Koha::MetadataRecord to handle serialization format and record id

The description of this changes is on the regression tests commit
message.

To test:
- Apply the test patch
- Run
  $ prove t/Koha_MetadataRecord.t
=> FAIL: Tests fail because changes are not implemented
- Apply this patch
- Run
  $ prove t/Koha_MetadataRecord.t
=> SUCCESS: tests pass
- Run
  $ prove t/Koha_Util_MARC.t
=> SUCCESS: it still passes
- Sign off :-D

NOTE: Tested as above. Read code. Seems to cover all cases.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14639: (regression tests) Extend Koha::MetadataRecord to handle serialization...
Tomas Cohen Arazi [Mon, 3 Aug 2015 14:37:36 +0000 (11:37 -0300)]
Bug 14639: (regression tests) Extend Koha::MetadataRecord to handle serialization format and record id

In order to use Koha::MetadataRecord as a container for moving records
around it is important to let it carry the serialization format
of the record object it was built with, so it is easier and cheaper to
make decisions about records.

This patch introduces regression tests for the changes to be made.
The 'format' param is introduced, and also sets default values:
  schema => 'marc21'
  format => 'MARC'

A new (optional) 'id' param is added so the record carries its own id outside
of it.

The default behaviour is preserved, and no changes are needed in places
Koha::MetadataRecord is used.
->new also returns undef if no record is passed, and raises a carped warning.

To test:
- Apply this test patch
- Run the new tests
  $ prove t/Koha_MetadataRecord.t
=> FAIL: Tests shoud fail as the changes are not implemented on Koha::MetadataRecord

Edit: made serialization format be upper-case to match what is used on Koha::Filter's

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14702: [QA Follow-up] More readable variable names, less queries
Marcel de Rooy [Tue, 1 Sep 2015 13:39:16 +0000 (15:39 +0200)]
Bug 14702: [QA Follow-up] More readable variable names, less queries

The names are much better now :)
Combined the queries for items and issues.
Only check the number of holds when needed.

Test plan:
Verify the changes here by running the unit test again.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14702: Unit tests for GetReserveFee and ChargeReservesFee
Marcel de Rooy [Fri, 21 Aug 2015 11:00:11 +0000 (13:00 +0200)]
Bug 14702: Unit tests for GetReserveFee and ChargeReservesFee

Test plan:
Run the test: t/db_dependent/Reserves/GetReserveFee.t

Signed-off-by: Joonas Kylmala <j.kylmala@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 14702: Refactor GetReserveFee
Marcel de Rooy [Fri, 21 Aug 2015 09:44:55 +0000 (11:44 +0200)]
Bug 14702: Refactor GetReserveFee

The code of GetReserveFee was not very clear.
What it did was: check if there are some items not issued. If so and there
are no holds, calculate no fee.

While doing so, I moved the code to charge the fee (in AddReserve) to a small
new sub ChargeReserveFee.

There is no change in behavior.
The follow-up patch adds unit tests.

Test plan:
[1] Make sure that a patron category (X) includes a hold fee.
[2] Select a biblio with 2 items.
[3] Issue one item to another patron.
[4] Place a hold on this biblio by patron with category X. No charge?
[5] Cancel the hold from the previous step.
[6] Use another patron to place another hold on this biblio.
[7] Place hold again by patron with category X. Is it charged?
[8] Cancel that hold again. Issue the second item to another patron.
[9] Place hold again by patron with category X. Is it charged again?

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12525: Prevent adding several patron lists with the same name
Jonathan Druart [Wed, 15 Jul 2015 10:50:18 +0000 (11:50 +0100)]
Bug 12525: Prevent adding several patron lists with the same name

If you add patron to a patron list, from the patron search result, a
list is created when you click on "Save".
The list is considered as new each time.

To reproduce:
1/ Launch a patron search
2/ Select 1 patron, and create a new list 'aaa'
3/ Select another patron and click Save again
2 lists are created

Test plan:
1/ Launch a patron search
2/ Select 1 patron, and create a new list 'aaa'
The dropdown list should be populated with this new list, and should be
selected
3/ Select another patron and click Save again
Only 1 list should be created

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 years agoBug 12525: FIX patron lists dropdown is empty
Jonathan Druart [Wed, 15 Jul 2015 10:36:26 +0000 (11:36 +0100)]
Bug 12525: FIX patron lists dropdown is empty

On the patrons home page, the dropdown list is not populated.

Test plan:
1/ Go on the patrons home page (members/members-home.pl)
2/ Launch a search
3/ The dropdown list close to "Add selected patrons to" should contain
all your patron lists

NOTE: Initially tested with both which created lists.
      git reset --hard origin/master
      And then dropdown list was missing them.
      Applied just this one, and they were listed.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>