Bug 9532: add regression test

To test:

[1] Run prove -v t/db_dependent/Holds.t.  The last test
    should fail.
[2] Apply the main patch.
[3] Run step 1 again.  This time the tests should all pass.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2afadcc3583c466759f2c4da6970a3cc96a1ba36)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 9532: fix reservability check when bib-level item types are in use

When itemtype is defined on biblio (item-level_itypes syspref), the
method C4::Reserves::CanItemBeReserved uses item->{itemtype}. But
ithe item comes from C4::Items::GetItem and it does not have an
'itemtype' key; in this method the item type value is always in
'itype' key.

This patch corrects it.

Test plan:

You should have itemtype on biblio and 'item-level_itypes' syspref
set to biblio.

This test plan is with ReservesControlBranch on ItemHomeLibrary.
- Choose a branch, a borrower category and an item type, for example
  'NYC', 'CHILD' and 'DVD'
- Set an issuing rule for 'NYC', CHILD' and 'DVD' with 'Holds allowed'
  set to 10
- Set an issuing rule for 'NYC', CHILD' and all item types with
  'Holds allowed' set to 0
- Choose an item of a biblio with itemtype 'DVD', that can be reserved,
  with 'NYC' as homebranch
- Choose a borrower with category 'CHILD'
- Try to request the item for the borrower
=> without the patch, you can
=> with the patch, you can't
You may check reserve is allowed with 'Holds allowed' > 0 on issuing
rule for 'DVD'.

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Great test plan - thanks!

Confirmed the bug, and the fix. Looks good to me.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7acd7f43a703c3aa853ea6e58153584c24ca6d09)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11768: Show patron cardnumber in OPAC personal details

In previous versions of Koha, the patron cardnumber was displayed in the
personal details section of the OPAC for logged in users. A patron needs
to be able to access his or her cardnumber in some cases to access
online resources a library makes available that requires his or her
cardnumber. This is especially important for patron self registration
where a patron may not have a physical library card. This field should
be re-added to the patron personal details page.

Test Plan:
1) Apply this patch
2) Log into the OPAC
3) Browse to "your personal details"
4) Verify the patron cardnumber is visible

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Restores cardnumber on personal details tab in OPAC for
prog and bootstrap theme. Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2345dc12d8cd6f80164fce3a2a846613da44fc50)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11809: don't display 'Clear date' on OPAC patron details form if date of birth is required

On the OPAC's patron details form, if the date of birth field is
required we shouldn't offer the user a "clear date." This patch removes
the "clear date" link if the field is required.

To test, configure the BorrowerMandatoryField system preference to
require dateofbirth. Enable the OPACPatronDetails system preference and
log in to the OPAC. View the "personal details" form and confirm that
there is no "clear date" link next to the required date of birth field.

Remove dateofbirth from the BorrowerMandatoryField system preference and
re-test. The "clear date" link should appear.

Test in both prog and Bootstrap themes.

I tested with prog and bootstrap themes, adding/removing field 'dateofbirth'
in sys pref PatronSelfRegistrationBorrowerMandatoryField.
Patch behaves as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as expected, passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 234560a690c78ef7723f15c0cb31f0497d073988)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11555: Make "All" one of the default options for datatables

There are many instances where librarians would like to have the ability
to see all the rows in a datatable at one. It seems prudent to make this
a default option for datatables, rather than change it on a case by case
basis.

Test Plan:
1) View the circulation history for a patron
2) Note you can select to view 10, 25, 50, or 100 entries
3) Apply this patch
4) Reload the circulation history page for a patron
5) Note the new "All" option
6) Verify the "All" option shows all the rows at once

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I tested the translation for "All"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit b80b8fa40f706b9cade5f6ee39d73e1b1f9616c9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11555: (follow-up) use 20 rather 25 for one of the default DT row counts

If you have a look at git grep aLengthMenu, you will see we choose 20
instead of 25.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 8a7c31f7669a74df14d0fbc158fab493e995abba)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11605: fallback to default DataTables settings where possible

The default entry is 20 and can be apply to all tables.

Bug 11555 apply the menu entries to all tables, redefining it is
uesless and can be removed.

Test plan:
Test pages impacted by this patch and verify there is no regression on
the tables.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit bb96da8ff86798df099a99e3123796731659fb67)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11605: (follow-up) fix regression

Bug 11314 overrides the iDisplayLength and aLengthMenu values and should
be kept.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e2ef2f51d03f31b45396a88529a46af35b0b08e3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11359: Add the borrower's cardnumber and phonenumber to the branch overdues report

The report also known as "Overdues with fines"

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

All tests pass, this adds data to the Patron column on the
overdues with fines report to show the patron's cardnumber
and phone number.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works as described and passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 54a17d97dcdcf31e9d4228c89473c82373e48e68)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11465: Show counts and amounts on OPAC 'your summary' tabs

This patch adds counts and amounts to the tabs in the 'your summary'
page of the OPAC patron account.

_TEST PLAN_

Before applying:
1) Choose a test patron
2) Place a few holds
3) Check in one of the holds so that it is waiting for the patron
4) Check out a few items
5) Check out another item that can generate fines (backdate it a few
   weeks/months)
6) Run fines.pl to generate fines (make sure your finesmode syspref
   is set to prod)
7) Check your OPAC patron account.
8) Note the tabs "Checked out, Fines, Holds, and Waiting"

Apply the patch
1) Switch your OPAC to the bootstrap theme
2) Refresh your browser for the OPAC patron account screen
3) Note that the applicable counts and amounts appear on the tabs

--

At the moment, I just have a Bootstrap patch. This is an easy patch
though, so I can duplicate to the other themes if necessary...

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

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
"Waiting" doesn't appear to work for me with and without the patch.
"Checkouts", "Holds" and "Fines" work fine.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 60d24754ee3cdc4aa4ba52a4f61625d0ba0f3369)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11695 - Fixed typo in marc21_field_008.xml

"Tree-character alphabetic code", to "Three-character alphabetic code"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Trees are nice, but Three is better here.
String change, works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1c794eaeca3877c8af32ea0b1cce7354541fdba7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11918 : Fix typo on authorized values page

This is a small string patch. On Authorized values this patch fixes
the wording next to the library limit.

To test:

Visit Authorized Values
Click 'Add new' or 'Edit' next to a value
Make sure that the text next to the library filter is right

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Text change, works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2f0aac89709fec329436f15e259d49dd6072c6c1)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11550: Add UT for C4::Acquisition::GetOrder

If GetOrder is called with a nonexistent ordernumber or without any
ordernumber, it should return undef.

Test plan:
prove t/db_dependent/Acquisition.t

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Updated number of tests to 68, tests and QA script all happy now.
Looked at a few pages in aquisition using GetOrder as well.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0b35290011a48938b55a069c2e44eee688bf70c8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Conflicts:
	t/db_dependent/Acquisition.t
Bug 11648 - Use word item instead of copy - intranet

Sometimes, the word copy/copies is use to speak about item/items.
It would be better to use only item because translation of the word
copy depends on context, it should be used only when speaking about
copy like in "copy and paste".

This patch replaces copy/copies in intranet.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
String changes, no regressions found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 3273f823508f445cfdbf0ad5f60b7f4c546f0ee2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11648 - Use word item instead of copy - opac bootstrap

Sometimes, the word copy/copies is use to speak about item/items.
It would be better to use only item because translation of the word
copy depends on context, it should be used only when speaking about
copy like in "copy and paste".

This patch replaces copy/copies in opac bootstrap theme.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 18456ea5fc605d0c6dc58a860fe963bfbd3ba972)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11648 - Use word item instead of copy - opac prog

Sometimes, the word copy/copies is use to speak about item/items.
It would be better to use only item because translation of the word
copy depends on context, it should be used only when speaking about
copy like in "copy and paste".

This patch replaces copy/copies in  opac prog theme.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 635d5441112171170bd3f2de7fdbf9a9feb62f48)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11649 - Always use words "copy number" - intranet

In most cases, the value of items.copynumber is displayed using the
words "Copy number". But in some cases, it is just "Copy".
It would be better to always use "Copy number" because in translation
the word "Copy" means the action of coping.

This patch manages templates of intranet.

To test, display an item containing a value in items.copynumber.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0f9ec8f589e0afee79923570b71078d8c94b8986)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11649 - Always use words "copy number" - opac bootstrap

In most cases, the value of items.copynumber is displayed using the
ords "Copy number". But in some cases, it is just "Copy".
It would be better to always use "Copy number" because in translation
the word "Copy" means the action of coping.

This patch manages templates of opac bootstrap theme.

To test, display an item containing a value in items.copynumber.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 8a6f51e0ef9badf786345cbab51c80873ef872fc)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11649 - Always use words "copy number" - opac prog

In most cases, the value of items.copynumber is displayed using the
words "Copy number". But in some cases, it is just "Copy".
It would be better to always use "Copy number" because in translation
the word "Copy" means the action of coping.

This patch manages templates of opac prog theme.

To test, display an item containing a value in items.copynumber.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 113ce7808a69373117e7697ad16d06169fe97279)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Bug 11686: make "please note your reason here..." translatable

Through some quirk of the translation script a predefined value on a
text input is not properly translated even though the string appears in
the po file. On the suggestions form the problem can be solved by using
the HTML5 placeholder attribute.

To test you must have existing suggestions to manage. Apply the patch
and:

- Update a translation by running tranlsate update [language code]
- Install/reinstall the translation by running translate install
  [language code]

- In the English templates:

  - Navigate to Acquisitions -> Suggestions and find the "Mark selected
    as:" section below the table of existing suggestions.
  - Select "Other" from the "choose a reason" field. A text input field
    should appear with the placeholder text "please note your reason
    here."

- In the templates you updated and installed, follow the same procedure
  above. The placeholder text should now appear with the correct
  translation.
- In both English and translated templates using this bulk-status option
  should save your chosen status correctly with the correct reason,
  whether that reason be predefined or manually entered.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script.
Tested successfully with German - nice to see this fixed!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6c264b24d12bafb8d0bc6eecdc7e188a622d7389)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>