Bug 10543: fix false warnings from checks of mandatory item fields

Under certain circumstances, when editing an item, you get a popup
warning
  "1 mandatory fields empty (highlighted)".

Even though all mandatory fields are filled in.

This occurs when there is a field with a huge content (more than 100
characters) that gets displayed in a textarea instead of input.

This patch corrects the Javascript form check by using siblings().

Also adds a more precise filter to find mandatory inputs because
looking in full page may bring unwanted results.

Test plan :
- In a framework, make sure you have in item field :
  An optional subfield (without authorised value),
  then a mandatory subfield, then an optional subfield
  next to mandatory subfield
  For example : $i (optional), $r (mandatory) and $s (optional)
- Open a biblio record and create a new item
- Enter more than 100 characters in $i, fill $r and $s
- Click "Add item"
- Edit this item
=> You get a textarea for $i
- Empty $s and Save
=> Without patch, you get a warning and form is not saved and you see that $s is yellow while it should be $r
=> With patch, form is saved
- Re-edit this item
- Empty $r and save
=> You get a warning and form is not saved

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Notes on last patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 651ea298ea90742a2c56bbb693a4fbbb0064d5b2)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Couldn't reproduce using $i as in the test plan, but $o triggered the problem, which this patch series fix.
Bug 10543 - Unify item mandatory subfields check

Use of CheckMandatorySubfields from cataloging.js
everywhere an item cataloging form is checked for
mandatory fields.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0d4724e81b94b290a5b58970a8f59ebe8340f165)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Couldn't reproduce using $i as in the test plan, but $o triggered the problem, which this patch series fix.
Bug 10543 - add mandatory subfield check to addorderiso2709.pl

When adding orders from staged file, you can create one order per
record using item form in the bottom of addorderiso2709.pl.  The
form was missing checks of mandatory item fields; this patch
adds those checks.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

All 3 patches pass tests and QA script.

Some additional notes on the test plan from the first patch:
It took me a while to figure out a combination of subfields
that would trigger the bug. I am not sure about the condition
that transforms the input field into a textbox as it does
not seem to happen for every field.

What worked in the end was (MARC21):
- $g cost, normal purchase price = mandatory
- $h serial enumeration/chronolgy = optional, filled with
  text over 100 characters

Checked for:
- Adding items in cataloguing
  Was able to reproduce the problem, mandatory check works
  as expected.
- Adding items from staged file in acq
  Was not able to trigger the problem, because we don't edit
  the item here, but mandatory check works as expected.
- Addings items for serial subscriptions
  Was not able to trigger the problem, because we don't edit
  the items here, but mandatory check works better as before
  as missing mandatory fields are now highlighted and weren't
  before.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2c7e1390b45e497676ea4f414520708577cf761a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Couldn't reproduce using $i as in the test plan, but $o triggered the problem, which this patch series fix.
Bug 5652: display subtitles on patron checkout and holds summary

This patch adds subtitles (from Keyword to MARC mapping) to the
following tables on the checkout page:

- Checkouts
- Previous checkouts
- Relative's checkouts
- Relative's previous checkouts
- Holds

Additionally it suppresses the appearence of the superfluous word "by"
in cases where the biblio has no author.

Test scenario:
--------------
1)
Make sure that you have one or more fields mapped to subtitle in:
Home . Administration . Keyword to MARC mapping
(e.g. 245 b)

2)
Test the checkout page with patrons having
- current checkouts (today)
- previous checkouts
- relatives (e.g. kids) with current /previous checkouts
- holds on items
- holds on biblios

...with items having:
- title, subtitle, author
- title,  no subtitle, author
- title,  subtitle, no author
- title, no subtitle, no author

3)
Do the same on patron's detail page

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

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 976561a384e42570c8960f566bc88606ab6f87b1)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 5652: (follow-up) include subtitle in hyperlink

This follow-up patch makes the subtitle part of the same
hyperlink as the title, maintaining consistency with other
pages in the staff interface such as list contents.

To test:

[1] Make sure that the Keyword to MARC mapping includes
    mappings to 'subtitle'.
[2] Find a biblio that has both title and subtitle.  Check
    it out to one patron and place it on hold for another.
[3] In the checkout and patron details pages, verify that
    the entry for this bib in the list of checked out titles
    or hold requests includes both title and subtitle in
    the same hyperlink.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 05019c13607908689581285abc39735923a564f5)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 7257: Add a link to remove an individual title from a list in the OPAC

It should be possible when viewing the contents of a list to click a
link to remove an individual title from the list without having to check
a checkbox and click another button.

This patch adds a link to each list item to "Remove from this list."
The functionality is JavaScript-dependent, automatically checking the
appropriate checkbox and submitting the form to delete.

To test, view a list for which you have delete permission. There should
be a "Remove from this list" link next to each item on the list. Test
delete functionality by:

- Clicking the link and then clicking cancel.
- Clicking the link and confirming.
- Checking more than one checkbox and then clicking a single remove
  link (only the one corresponding record should be removed).
- Checking one or more checkboxes and clicking the "Remove from list"
  link at the top of the page.

If JavaScript is disabled the links should not appear.

There are now two delete confirmation messages: One if you're removing
only one item, another if you're removing more than one. This is true
whether you use the links or the checkboxes.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit cf902c704ba9b0560bc8ff2006fe5763ffa2a090)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
bug 2394: regression test for canreservefromotherbranches

If IndependentBranches is ON and canreservefromotherbranches is OFF,
a patron is not permittedo to request an item whose homebranch (i.e.,
owner of the item) is different from the patron's own library.
However, if canreservefromotherbranches is turned ON, the patron can
create such hold requests.

Note that canreservefromotherbranches has no effect if
IndependentBranches is OFF.

To test, run prove -v t/db_dependent/Holds.t.  Without the bugfix
patch for bug 2394, the last two tests should fail.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 23e302071efabd824f0a6c69bc68dee4cfc13e5b)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The Holds.t file was introduced by 9394 which refactors several lines of code and thus i'm not cherry-picking in the stable branch.
I'm just cherry-picking Galen's regression tests.
Bug 2394: Use syspref canreservefromotherbranches in CanItemBeReserved

If IndependentBranches is ON, patrons are not allowed to place
hold requests on items whose owning library is different from
the patron's home library, *unless* the canreservefromotherbranches
system preference is also ON.

The patch implements the intended behavior; without it, IndependentBranches
and canreservefromotherbranches were not consulted during the
item holdability check.

To test:

[1] Have IndependentBranches ON and canreservefromotherbranches
    OFF.  Make sure that the circulation rules are set up to
    permit patrons to place hold requests in general.
[2] In the OPAC, log in as a patron from library A, and try placing
    a hold on an item from library B.  The patron will be able to
    place the request.
[3] Cancel the request.
[4] Apply the patch.
[5] Try placing the same hold request.  This time, the request should
    be forbidden.
[6] Turn on canreservefromotherbranches.
[7] Try placing the hold request.  This time, it should go through.
[8] Cancel the request.
[9] Turn off IndependentBranches.
[10] Try placing the hold request and verify that it is permitted.
[10]

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2cbc47a871efc60ae663ecfedf59ec77dda718f4)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected.
Note: on my tests i first forgot to enable AllowOnShelfHolds to get this working. It is not mentioned on the test description.
Bug 10511: fix message preference form glitch concerning phone notifications

An error in the onclick for phone notices causes the "Do not notify"
checkbox to be checked when the phone checkbox is checked. Also,
checking "Do not notify" does not uncheck the phone checkbox.

Test plan:
1) Enable TalkingTechItivaPhoneNotification
2) Browse to the new patron screen ( memberentry.pl )
3) In the patron messaging preferences check the Phone checkbox
4) Not the "do not notify" checkbox is then checked
5) Uncheck the "do not notify" checkbox, and check the Email checkbox as well
6) Now check the "do not notify" checkbox, note the Phone checkbox remains checked
7) Apply this patch
8) Repeat steps 3-6, noting the odd behavior is no longer present

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e608f4d48c09e025fc10d47668bb40c0d3d686a7)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. EnhancedMessagingPreferences needs to be set to reproduce.
Bug 10511: (follow-up) jQuery .removeAttr() has only one parameter

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7d6edc6f182009726e9675ae832385f37e16c4e0)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10614 - have add order form at top and bottom

If a basket has a lot of items it may be inconvenient to scroll to the
bottom of the patch to reach the "add to basket" form. This patch adds
as "Add to basket" button to the toolbar which uses JavaScript to copy
the form into a modal dialog for quick access.

To test, apply the patch and view an open basket. You should be able to
click the "Add to basket" button to trigger a modal dialog with the full
"Add to basket" list of options. All options in the list should function
normally.

If you view a closed basket the new button should not appear.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All tests pass and I love it :)

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit fe193210815b33efbefbf518ccc13329f20eeefc)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 5262: make authority plugin copy indicators to bib record

With this patch Koha should correctly copy indicators
(and create $2 subfield in MARC 21 if need) from the chosen authority
record to the edited bibliographic record (according to discussion in
bugzilla). UNIMARC and MARC 21 flavors are covered.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Comment: work as described, testing in comments 9 and 12.
No errors.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes QA script and tests. Tested functionality repeating
some of the tests noted by Bernardo - checking mostly 1xx, 490,
and 7xx.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 129c974fdde0dc62e568f7aa01c4a0796ae150ae)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10483: fix item uniqueness check on order form

When syspref "UniqueItemFields" is defined, the item uniqueness is
tested in acquisition by an AJAX call to check_uniqueness.pl.  This
patch fixes an issue where check_uniqueness.pl wasn't looking
at the correct CGI parameters.

Test plan :
- Select an existing item with barcode
- Add "barcode" to "UniqueItemFields" syspref (use space as separator
  for multiple values)
- Set "AcqCreateItem" syspref to "Create an item when placing an order"
- Go to an acquisition basket
- Create a new order from empty
- Enter existing barcode in item form and save
=> You get an alert that barcode already exists and order is not saved
- Enter a non-existing barcode in item form and save
=> Order and item are created

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1c9135262b9233f59fd05e34c90980e7dc8be338)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8712: change "New list" to "Create new list" in OPAC masthead

This makes it clear for screen reader users.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Note that you should delete all your private lists to see this change.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f0280dabe0db3e27e0e56a025a61bd41f206de57)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8712: add 'and' label for inputs in OPAC "fewer options" advanced search page

The "and" label not only improves the accessibility but also gives the
user an idea that the operation between multiple search fields is a
boolean "AND" by default.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Actually only adds a label and an id to the select.
Note that the boxes do not exactly align anymore now (with fewer options).

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 98bd9de54aa7cab6fe3dec8e7cd88378a06e8684)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
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>
(cherry picked from commit 73ac970f734b0f04fff5561aa35bb9d9d47aa943)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Fix worked as expected.
Bug 10703: Add db documentation for biblioimages table

This patch adds db documentation to the biblioimages table.

To test:

Apply patch
Review kohastructure.sql to be sure that the documentation is there

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 801d8237d80d7079f3355da18ef18c60b7f37325)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10703: Document quotes table

Add db documentation for the quotes table

To test:

apply patch
review kohastructure.sql to be sure documentation is there

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6823c745371a115d5bec98beb9d10b59e188c9fe)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10703: Document borrower_files table

Add db documentation to borrower_files table.

To test:

apply
review kohastructure.sql to be sure documentation is there

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: No errors. Tested loading on new database.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 09e802c7933073cd98040155b02898ab79739b3a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10716: fix JavaScript error on basket groups page

To test:

Go on acqui/basketgroup.tt and verify a js error occurred
(ReferenceError: CONFIG_EXCLUDE_ARTICLES_FROM_SORT is not defined).
Apply the patch and verify the error does not appear anymore.

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>
(cherry picked from commit a4d8144efdcbbf30d649264495f151e8b6fd7594)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>