Bug 10115 - Hiding advanced search in Orders search tab removes plus button

The logic of the JavaScript for showing and hiding additional options in
the orders search form wasn't quite right, resulting in the +/- control
being hidden incorrectly.

This patch corrects and simplifies the JS in order to fix the problem.

To test:
 - Open any page in Acquisitions which shows the orders search
   form in the header search bar (for instance, Acquisitions home).
 - Open the orders search tab and click on the "+" to show more
   options.
 - Click the "-" to hide the additional options. The additional options
   should now be hidden and the "+" displayed.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Works as expected
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_10115' into 3.14-master
Bug 10107 - opacbookbag shouldn't prevent from adding items to a list in the OPAC

This bug is present in master and (at least 3.8.x, where we spotted it).
The patch makes adding items, to a list from the results page, not rely
only on opacbookbag syspref but also 'virtualshelves'.

Regards
To+

PS: Thanks Graciela Galli for reporting.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Template only patch, works nicely.
Test plan copied from bug report:

- Disable the opacbookbag syspref
- Login in the OPAC
- Create a list (I tested a private one)
- Search in your db for some biblios.
- Choose some and add them to the created list
- Go to your users's page, to the my lists tab
- Your list is empty.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_10107' into 3.14-master
Bug 9659 - Better handling of non-existent authorised value categories used in SQL reports

A user might create a SQL report that relies on non-existent authorised value categories.
Because of a typo, or just because they copy&pasted the report from the Wiki.

Use cases are:

- The user creates a report from SQL
  a) Uses bad authorised values
  b) Clicks 'Save Report'
  c) Koha lists the problematic authorised values
  d) The user decides to
  e-1) Save it anyway, it gets saved
  e-2) Edit the report, it gets back to where it chose 'Save Report'

- The user edits an already saved report (Update SQL)
  a) Uses bad authorised values
  b) Clicks 'Update SQL'
  c) Koha lists the problematic authorised values
  d) The user decides to
  e-1) Save it anyway, it gets saved
  e-2) Edit the report, it gets back to where it chose 'Update SQL'

- The user tries to run a saved report that contains bad authorised values, Koha advertises the problem and provides the user with a button 'Edit SQL' to fix things.

To test, just create a report from SQL using invalid authorised values like this (misspelled 'branch'):

SELECT *
FROM itemtypes
WHERE hola=<<Test branch1|branchee>> AND
      hola2=<<Test branch2|brancha>>

Regards
To+

Notes:
- I added several comments on the code.
- Fixed an annoying warning of uninitialised variable also (refactored some tiny bits to do it).
- Added the following methods
   -  C4::Reports::Guided::GetReservedAuthorisedValues
   -  C4::Reports::Guided::GetParametersFromSQL
   -  C4::Reports::Guided::IsAuthorisedValueValid
   -  C4::Reports::Guided::ValidateSQLParameters
   -  C4::Koha::IsAuthorisedValueCategory
- Those methods could have been used to refactor this guided reports code as its *a bit messy*. I chose to do it in a new bug of course :-D.
- Fixed some trivial perlcritic -5 errors
- Removed some debugging stuff left by mistake
- Fixed some POD problems
- Optimal SQL-driven IsAuthorisedValueCategory method
- Thanks to Owen and Jared for their patience heh.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Comment: Work as described. No koha-qa errors.

Test:
Tried with examples (from help and test plan) reports, correctly
identifies invalid authorized values, and no problem with
authorized ones.

NOTE: Online help for this does not states that partial values
need to be between '%' in a SQLish way. Perhaps this could be
addressed inserting % in values or adding a checkbox (partial|exact).
Or changing help.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9659 - QA Follow up: Unit tests

Added some tests against the methods added by this patch.

To test, prove -v
- t/Koha.t
- t/ReportsGuided.t

Edit: fixed the amount of tests in the skip block. Tests fail for people having earlier versions of DBD::Mock.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works quite nicely!
All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9659: Move new unit test to db-dependent directory

C4::Reports::Guided requires a koha-conf.xml file to be in place in
order to load. This means that any test which uses it has to go in
t/db_dependent

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9659' into 3.14-master
Bug 9219 - Show damaged and lost statuses for issues on circulation.pl as they are on moremember.pl

This patch adds the lost and damaged status for an issued item to the
table of issued items on circulation.pl to make it align more closely to
the same table on moremember.pl

Test Plan:
1) Apply patch
2) Issue an item
3) Set the item's damaged status
4) Verify the status is showing near the date due on circulation.pl
5) Clear the damaged status and set the lost status again
6) Repeat step 4

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

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I could only test this with the DAMAGED value, because
currently lost items are removed from the patron account
when you set the status.
I know there is a patch somewhere
to make it optional and the change looks alright.
Passes all tests and QA script.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9219' into 3.14-master
Bug 10103 UniqueItemFields is missing from sysprefs.sql

Bug 7892 introduced UniqueItemFields but did not add it to sysprefs.sql.
Also fixes an unrelated  missing semicolon in sysprefs.sql

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_10103' into 3.14-master
Bug 10073: Show ccode or location also if not bound to Authorized Values in XSLT

If you do not have ccode or location governed by authorized value
(you can release this default connection in the marc structure),
these item values are not passed through in the items section,
created by buildKohaItemsNamespace for XSLTParse4Display.

This simple patch checks if the authorized value hash on ccode or
location returns something and passes the original value in otherwise.

Test plan:
Temporarily disconnect ccode and location from authorized values
in MARC structure.
Edit an item, put some values in location and ccode.
Look at this record via opac search (XSLT enabled). Toggle the value of
OPACItemLocation to show ccode or location before call number.
Restore authorized values-connection when applicable.

Note: Since bug 9995 adjusts OPAC XSLT Results, it may be helpful
to apply these
patches when testing this.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works as described for the XSLT result list.
The text is shown when OpacItemLocation is set to show collection
or location.

Note: Displaying location and collection without using authorised
values doesn't work in other places like the detail page item table.
So this will need more work to be fully functional.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_10073' into 3.14-master
Bug 10040: Capitalization wrong when deleting subfields from authority

Confirmation message for deleting subfields from an authority framework
has wrong capitalization.

To reproduce:
1) Go to Administration > Authority types
2) Click on MARC structure for one of the authority types
3) Click on the subfields link for one of the fields
4) Delete one of the subfields

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Passed-QA-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_10040' into 3.14-master
Bug 9671: Make fines.pl help text more accurate

To test:

run kohaclone/misc/cronjobs/fines.pl --help and note the help text. It should match the settings in System Preferences.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Documentation change, passes all tests.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9671' into 3.14-master
Bug 9886: ParseLetter removes too often punctuation characters from fields

This patch makes ParseLetter somewhat more restrictive in removing
punctuation characters from the end of a table field.
Based on the assumption that we want to remove punctuation from fields in
biblio and biblioitems (like ISBD).
ParseLetter should not remove e.g. a parenthesis in itemcallnumber, but still
removes e.g. a colon (:) at the end of a title.
Removed an unneeded global and lookahead from the regex.

Test plan:
1) Add a colon (:) to the end of a title.
2) Add a colon to the end of item copynumber.
3) Place a hold on that item. Check it in. Confirm hold.
4) Check the email or print notice generated. There should be no colon at the
end of the title, but the colon in the copynumber should still be there.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I compared checkout notices with lots of different fields before
and after applying the patch. For example the ) at the end of a
field in branches is now longer removed. Other fields looked ok
before and after.
Passes all tests and QA script.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9886' into 3.14-master