koha.git
18 months agoBug 30952: Staff interface redesign (header)
Solène Desvaux [Mon, 25 Jul 2022 14:37:41 +0000 (16:37 +0200)]
Bug 30952: Staff interface redesign (header)

What this patch does:
- change the navigation bar style
- change the breadcrumbs style
- change the "last borrower" link style
- move the search bar inside the navigation bar
- move the help link to the same row as the breadcrumbs

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 28372: Update OPAC results XSLT to use variables for 007
Nick Clemens [Wed, 21 Sep 2022 20:12:06 +0000 (20:12 +0000)]
Bug 28372: Update OPAC results XSLT to use variables for 007

Same test plan as before, but for OPAC

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 28372: Use variables instead of repeated field lookup
Nick Clemens [Tue, 18 May 2021 14:40:13 +0000 (14:40 +0000)]
Bug 28372: Use variables instead of repeated field lookup

This simply replaces repeated lookups of the field with a variable test

To test:
1 - Perform a search on the staff client
2 - Note the 'Format' in the  record results
3 - Apply patch
4 - Repeat search
5 - Confirm Formats are unchanged

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31469: log4perl.conf: Add %n to conversionpattern for Plack
Marcel de Rooy [Thu, 29 Sep 2022 07:51:33 +0000 (07:51 +0000)]
Bug 31469: log4perl.conf: Add %n to conversionpattern for Plack

The PLACKOPAC, PLACKAPI and PLACKINTRANET appenders still need %n
(i.e. a newline). Note that this patch does not add %l since it
is a bit confusing because it adds a lot of Plack internal noise like:
    [2022/09/29 08:51:34] [WARN] Test mainpage CGI::Compile::ROOT::usr_share_koha_mainpage_2epl::__ANON__ /usr/share/koha/mainpage.pl (49)

The patch is a result of:
    git grep -l "log4perl.appender.PLACK" | xargs sed -i -e"/ConversionPattern/ s/%m$/%m%n/"

Test plan:
First run: sed -i -e"/ConversionPattern/ s/%m$/%m%n/" /etc/koha/sites/[YOUR_CLONE]/log4perl.conf
Edit that file, change PLACKOPAC to debug level like:
    log4perl.logger.plack-opac = DEBUG, PLACKOPAC
Restart.
Hit an OPAC page twice.
Check plack-opac logfile and verify that it contains a newline between last two messages like:
    [2022/09/29 08:04:30] [DEBUG] kohaversion : 22.0600054
    [2022/09/29 08:04:42] [DEBUG] kohaversion : 22.0600054

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31552: SIP2 option format_due_date not honored for AH field in item information...
Kyle Hall [Mon, 12 Sep 2022 17:52:23 +0000 (13:52 -0400)]
Bug 31552: SIP2 option format_due_date not honored for AH field in item information response

Bug 28730 added the ability to format due dates based on Koha's date format, but missed formatting the due date field in the item information response.

Test Plan:
1) Apply this patch
2) prove t/db_dependent/SIP/Message.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 27136: DBRev 22.06.00.062
Tomas Cohen Arazi [Wed, 12 Oct 2022 17:54:23 +0000 (14:54 -0300)]
Bug 27136: DBRev 22.06.00.062

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 27136: (QA follow-up) Fix entries for multiple und undetermined language(s)
Katrin Fischer [Fri, 7 Oct 2022 19:53:24 +0000 (21:53 +0200)]
Bug 27136: (QA follow-up) Fix entries for multiple und undetermined language(s)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 27136: (QA follow-up) Remove reference to facets, add languages to update description
Katrin Fischer [Fri, 7 Oct 2022 16:58:20 +0000 (16:58 +0000)]
Bug 27136: (QA follow-up) Remove reference to facets, add languages to update description

The new languages will also effect other pages in Koha, like the
language list on the advanced search page.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 27136: (follow-up) Make update idempotent
Nick Clemens [Mon, 3 Oct 2022 10:34:58 +0000 (10:34 +0000)]
Bug 27136: (follow-up) Make update idempotent

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 27136: Add additional languages for facet display
Nick Clemens [Wed, 31 Aug 2022 10:01:50 +0000 (10:01 +0000)]
Bug 27136: Add additional languages for facet display

This patch adds two missing languages, Cree & Afrikaans, as well
as some necessary linguistic definitions for faceting: Multi language,
undetermined, no linguistic content

Signed-off-by: Alexis Ripetti <alexis.ripetti@inLibro.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 26648: Add tests
Lucas Gass [Mon, 3 Oct 2022 18:27:21 +0000 (18:27 +0000)]
Bug 26648: Add tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Cab Vinton <director@plaistowlibrary.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 26648: Prevent explosion in notices on missing item
Martin Renvoize [Fri, 9 Oct 2020 15:13:00 +0000 (16:13 +0100)]
Bug 26648: Prevent explosion in notices on missing item

The item accessor in Koha::Old::Checkouts could explode given a checkout
where the item had been deleted.

To test
1/ Edit the issueslip notice to output some item details from the
borrowers old checkouts

[% FOREACH old_checkout IN borrower.old_checkouts %]
  [% IF old_checkout.item %]
    [% old_checkout.item.price %]
  [% END %]
[% END %]

2/ Delete the item associated with an old checkout for a test patron
3/ Print the issueslip for the patron
4/ Note a server side error is triggered
5/ Apply the patch
6/ Print the slip again and note the price details for old checkouts are
now displayed
7/ Signoff

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31614: Adds a koha-conf.xml config to set Zebra connection timeout
David Cook [Fri, 23 Sep 2022 03:21:08 +0000 (03:21 +0000)]
Bug 31614: Adds a koha-conf.xml config to set Zebra connection timeout

This patch adds <zebra_connection_timeout>30</zebra_connection_timeout>
to the koha-conf.xml file.

Sometimes, a Zebra search might take longer than 30 seconds. If it does,
Koha will say that 0 records have been found. While slow searching
is not desirable, it's more desirable to get the result set regardless.

Test plan:
0. Apply patch
1. Add <zebra_connection_timeout>.1</zebra_connection_timeout> to
your relevant koha-conf.xml file (e.g. /etc/koha/sites/kohadev/koha-conf.xml)
2. echo 'flush_all' | nc -q 1 memcached 11211
3. koha-plack --restart kohadev
4. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test
5. Note that no results are returned
6. Change zebra_connection_timeout to 30
7. echo 'flush_all' | nc -q 1 memcached 11211
8. koha-plack --restart kohadev
9a. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test
9b. Note that 3 results are returned
10. Remove zebra_connection_timeout from koha-conf.xml
11. echo 'flush_all' | nc -q 1 memcached 11211
12. koha-plack --restart kohadev
13a. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test
13b. Note that 3 results are returned
14. Celebrate

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31635: Fix output of current title in OPAC browse results
Owen Leonard [Tue, 4 Oct 2022 11:21:33 +0000 (11:21 +0000)]
Bug 31635: Fix output of current title in OPAC browse results

This patch makes a correction to the output of OPAC browse results. In
the numbered result navigation links, a title tag on each
navigation link should contain the title of the record. The link for the
current title didn't include the title information in the title tag
because it used the wrong template variables.

To test, apply the patch and make sure OpacBrowseResults is enabled.

- In OPAC, perform a search that will return multiple results.
- View one of the results.
- In the right-hand sidebar, click "Browse results."
- In the list of numbered links at the top of the panel, hover your
  mouse over each link. They should each display a tooltip with  "View
  record [title]"
- Confirm that the current title in the list includes the correct
  tooltip.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31677: Convert basic MARC editor tabs to Bootstrap
Owen Leonard [Thu, 6 Oct 2022 13:38:54 +0000 (13:38 +0000)]
Bug 31677: Convert basic MARC editor tabs to Bootstrap

This patch modifies the basic MARC editor template to replace jQueryUI
tabs with Bootstrap tabs. The changes should have no visible effect,
with all previous functionality still intact.

To test, apply the patch and go to Cataloging -> New record.

- When the page first displays, the "0" tab should be active.
- Test that each of the numbered tabs works correctly to activate the
  correct tab content.
- Confirm that the numbered tag anchors still work correctly.
- Append a specific tab anchor to the URL, e.g. "#tab4XX" and refresh
  the page (you may need to shift-refresh). When the page reloads the
  correct tab should be active by default.
- Try appending a query string to the URL, e.g. "?tab=tab4XX" This
  should reload the page and make the correct tab active.
- Confirm that sortable subfields can still be re-ordered by dragging
  and dropping them via the "stacked lines" icons.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31678: Convert authority editor tabs to Bootstrap
Owen Leonard [Wed, 5 Oct 2022 19:08:24 +0000 (19:08 +0000)]
Bug 31678: Convert authority editor tabs to Bootstrap

This patch modifies the authorities editor template to replace jQueryUI
tabs with Bootstrap tabs. The changes should have no visible effect,
with all previous functionality still intact.

To test, apply the patch and go to Authorities -> New authority.

- When the page first displays, the "0" tab should be active.
- Test that each of the numbered tabs works correctly to activate the
  correct tab content.
- Confirm that the numbered tag anchors still work correctly.
- Append a specific tab anchor to the URL, e.g. "#tab4XX" and refresh
  the page (you may need to shift-refresh). When the page reloads the
  correct tab should be active by default.
- Confirm that sortable subfields can still be re-ordered by dragging
  and dropping them via the "stacked lines" icons.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 30571: (follow-up) Additional check at upgrade
Marcel de Rooy [Wed, 5 Oct 2022 11:49:56 +0000 (11:49 +0000)]
Bug 30571: (follow-up) Additional check at upgrade

Bad data occurs. We are removing null hosts here and update
empty syntax or encoding, informing the user.

Test plan:
Remove the NOT NULL condition if needed.
Copy db_revs/220600056.pl to atomicupdate and test dbrev.
You might see something like:
    Upgrade to 22.06.00.056  [11:48:22]: Bug 30571 - Table z3950servers: three cols NOT NULL
        Found bad data in table z3950servers: removed 1 records with host undefined
        Corrected empty syntax or encoding for the following hosts. Please check after upgrade.
        Updated hosts: lx2.loc.gov,lx2.loc.gov

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31555: change holds GET permission to place_holds
Johanna Raisa [Wed, 14 Sep 2022 06:14:24 +0000 (09:14 +0300)]
Bug 31555: change holds GET permission to place_holds

This patch changes holds' GET REST API endpoint permission
to place_holds to match with request.pl

Test plan:
1) prove t/db_dependent/api/v1/holds.t

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 30168: (QA follow-up) Fix POD
Katrin Fischer [Sat, 8 Oct 2022 16:04:36 +0000 (16:04 +0000)]
Bug 30168: (QA follow-up) Fix POD

The POD had $issue in the example, but $checkout in
explanation. Also standardized a bit of other terminology.
(borrower, issue) = (patron, checkout)

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 30168: Use checkout object in GetSoonestRenewDate
Nick Clemens [Wed, 23 Feb 2022 16:25:21 +0000 (16:25 +0000)]
Bug 30168: Use checkout object in GetSoonestRenewDate

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31257: (QA follow-up) Fix some typos
Katrin Fischer [Sat, 8 Oct 2022 12:57:05 +0000 (12:57 +0000)]
Bug 31257: (QA follow-up) Fix some typos

The QA tools highlighted some typos in the code comments that
this fixes: measurment and milimeter

Also removes a space befor colon form: Vendor note :

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31257: (follow-up) Fix display of PDF
Aleisha Amohia [Tue, 4 Oct 2022 03:34:01 +0000 (03:34 +0000)]
Bug 31257: (follow-up) Fix display of PDF

This patch rearranges the Qty and Document columns and shifts the
vendor account number field lower to make room for address fields

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31257: Add a new English 1 page layout to export basketgroup
Aleisha Amohia [Thu, 28 Jul 2022 22:36:37 +0000 (10:36 +1200)]
Bug 31257: Add a new English 1 page layout to export basketgroup

This patch adds a new English 1 page layout to be used when exporting a
basketgroup as PDF. This has been modelled after an example PDF from
another library system.

To test:
1) Go to Koha Administration -> Libraries. Ensure Library A has an
address, phone and fax.
2) Go to Koha Administration -> System preferences. Search for
OrderPdfFormat. Set this to the new English 1-page layout option.
3) Go to Acquisitions. Use an existing vendor or create a new one.
Ensure the vendor has a postal address, phone, fax and accout number.
4) Create a basket for this vendor. Add a few orders to the basket.
5) Close the basket and add it to a basket group of the same name.
6) Edit the basket group. Add an address in the delivery place, and a
delivery comment. Check the box to close the basket group and Save.
7) Click the button to Export as PDF.
8) View the exported PDF. Confirm all of the information displayed is
correct.
9) Reopen the basketgroup. Edit the details and remove the delivery
place text. Re-close the basketgroup.
10) Repeat steps 7 and 8.

Sponsored-by: Pymble Ladies' College
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 28799: Log when item was lost and now found
Nick Clemens [Thu, 5 Aug 2021 13:17:19 +0000 (13:17 +0000)]
Bug 28799: Log when item was lost and now found

In the subroutine ModDateLastSeen we unset an item's lost status when
checked in.

This routine passes a noi log parameter to the store request, this is
to avoid spamming the cataloguing log on every checkin.

When marking an item unlost we should record this change.

To test:
1 - Enable cataloguing log
2 - Mark an item lost
3 - View the log and confirm this chagne was recorded
4 - Check the item in
5 - The message indicates item is now found, but logs have no new entry
6 - Apply patch, restart all
7 - Mark the item lost and verify it is logged
8 - Check the item in, reported found and log entry recorded

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 29048: Fix link to linked records from authority search results in OPAC
Katrin Fischer [Sun, 27 Feb 2022 00:09:20 +0000 (01:09 +0100)]
Bug 29048: Fix link to linked records from authority search results in OPAC

Without this patch the constructed search link would give wrong
results with Elasticsearch. If you searched for records linked
to authority id 3 it would also turn up all other records linked
to an authority where the id started with 3...

This just copies the more specific link using an,phr used in the
staff interface and the OPAC detail page to make things consistent

To test:
- Turn on Elasticsearch
- Search for authorities in the OPAC
- Locate a authority with a low ID in your result list
- Note the number of linked records
- Click on the link
- It will give you more results than it said before
- Verify results don't match your search
- Apply patch
- Try again - now it should all match up

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 28950: Mark serial late when past grace period
Nick Clemens [Thu, 19 May 2022 13:50:59 +0000 (13:50 +0000)]
Bug 28950: Mark serial late when past grace period

This script had some oddities:
- There was a LEFT JOIN to subscription, but no error printed if no subscription
  I changed this to a JOIN as there is a constraint, so this shoudl not happen
- Publisheddate was checked after the SQL, moved into query
- We checked for the next issue, and marked late only if that issue was already expected
  This overruled grace period, which should be the mnarker for a serial being late
  The grace period should be extended if you wish to wait for next issue
- If no next published date, we reported an error on the planneddate
- Script without confirm had no reporting

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 29561: (follow-up) Don't remove facet '0'
Nick Clemens [Thu, 22 Sep 2022 19:54:07 +0000 (19:54 +0000)]
Bug 29561: (follow-up) Don't remove facet '0'

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 29561: Remove blank facets
Nick Clemens [Tue, 23 Nov 2021 14:42:54 +0000 (14:42 +0000)]
Bug 29561: Remove blank facets

This patch strips the blank facets from the ES aggregations, this seems
to only affect language fields currently, but could affect any facetable field
that can contain blank values

To test:
1 - Have Koha running Elasticsearch with standard test data,
    or add some records with blank values in the 008/35-37
2 - Search for 'a'
3 - Look at the language facets, they should appear normal
4 - Browse to:
    http://localhost:8081/cgi-bin/koha/catalogue/search.pl?idx=&q=a&sort_by=relevance_dsc&count=20&limit=ln:
5 - Note there is now an 'x' under the Languages facet - to remove a limit you cannot see
6 - Apply patch
7 - Reload
8 - Note the x is not there
9 - Inspect HTML, confirm no blank link under language facets

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 29561: Unit test
Nick Clemens [Thu, 22 Sep 2022 19:51:46 +0000 (19:51 +0000)]
Bug 29561: Unit test

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31682: Silence automatic linker warn
Aleisha Amohia [Tue, 4 Oct 2022 21:23:57 +0000 (21:23 +0000)]
Bug 31682: Silence automatic linker warn

To test:
1. Open the plack-intranet-error.log in your terminal
2. When editing or adding a bibliographic record, click the button to
link authorities automatically.
3. Notice the warn in the log
4. Apply the patch, restart services and refresh the page
5. Click the button again. There should be no warn

Sponsored-by: Catalyst IT
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31485: Move _item_denied_renewal to Koha::Item
Joonas Kylmälä [Sun, 28 Aug 2022 20:01:19 +0000 (23:01 +0300)]
Bug 31485: Move _item_denied_renewal to Koha::Item

The question whether item is denied renewal doesn't depend on
circulation rules or the patron, it is only a property of the item and
only changes to the item's attributes can cause the return value of
the check to change, thus we should move this to be a method of
Koha::Item.

To test:
 1) Run unit tests
    $ prove t/db_dependent/Circulation.t
    $ prove t/db_dependent/Koha/Item.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31646: Add Select2 focus to text search field
Lucas Gass [Fri, 30 Sep 2022 17:48:25 +0000 (17:48 +0000)]
Bug 31646: Add Select2 focus to text search field

To test:
1. Edit a biblio record
2. Go to tab 9 to find the item type MARC field 942$c
3. Click on the field to select an item type
4. Notice you have to click again on the search field to begin typing to search
   for your item type
5. Apply patch/clear browser cache
6. Try steps 2-3 again, the focus should now be on the search text field
7. Try another select2 dropdown on the same page like the  942$n ( Suppress in
   OPAC ), it should also default to the text search field.
8. Try other places in Koha that feature this kind of select2, like when
   placing hold.

Note: Using $(document).on here instead of $(".select2").on becuase there are
several instances where there are more than 1 select2 dropdown on a single page.
This allows for the text search field to default each time you click on a
different dropdown.

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31420: Managing funds: Labels of statistic fields overlap with pull downs
Owen Leonard [Tue, 4 Oct 2022 12:31:48 +0000 (12:31 +0000)]
Bug 31420: Managing funds: Labels of statistic fields overlap with pull downs

This patch removes some very old inline style attributes from the fund
edit form. The "white-space" attribute prevented label text from
naturally wrapping.

To test, apply the patch and go to Administration -> Funds.

- In the list of funds, click Actions -> Edit.
- The the form, confirm that the text of the "Statistic" 1 and 2 labels
  wraps, not getting hidden by the associated select tags.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31587: Basket not accessible from ACQORDER notice
Kyle Hall [Tue, 20 Sep 2022 14:21:19 +0000 (10:21 -0400)]
Bug 31587: Basket not accessible from ACQORDER notice

The parameter "aqbasket" is passed to GetPreparedLetter, but is always undefined for the notice ACQORDER.

Test Plan:
1) Set your ACQORDER notice content to:
   ***[% basket %]***
2) Set up a vendor with an email, set contact for email so the "E-mail
   order" button shows on a basket for that vendor
3) E-mail the basket
4) Note the email contents are "******"
5) Apply this patch
6) Restart all the things!
7) Email the basket again
8) Note the content looks something like:
   ***Koha::Acquisition::Basket=HASH(0x55870acd96e0)***

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31587: Regression tests
Tomas Cohen Arazi [Tue, 20 Sep 2022 14:46:23 +0000 (11:46 -0300)]
Bug 31587: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31575: Missing warning for holds where AllowHoldPolicyOverride can be used to...
Kyle Hall [Fri, 16 Sep 2022 14:47:48 +0000 (10:47 -0400)]
Bug 31575: Missing warning for holds where AllowHoldPolicyOverride can be used to force a hold to be placed

If some holds are overridable, and AllowHoldPolicyOverride is enabled, Koha
used to "flag" each holdable item to let librarians know the hold could not
normally be placed. In 22.05 up to current master as of this writing, no
warning is displayed.

Test Plan:
1) Set one circ rule to allow 0 holds
2) For Library A, set "Hold pickup library match" to "item's hold group"
3) Enable AllowHoldPolicyOverride
4) Set ReservesControlBranch to "item's home branch"
5) Create a record with an item for Library A, one for Library B, and one for Library C
   This should create a scenario where A's item cannot be held, and B and C's items must be overridden
6) Note you get the "Cannot place hold" but can place those holds anyway without a "warning" sign
7) Apply this patch
8) Restart all the things!
9) Reload the page, you should now see the warning icons!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31619: add title back to list of OPACSuggestionMandatoryFields options
Galen Charlton [Fri, 23 Sep 2022 18:49:48 +0000 (14:49 -0400)]
Bug 31619: add title back to list of OPACSuggestionMandatoryFields options

This patch fixes a regression introduced by bug 29695 that prevented
setting the title as a required field when setting the
OPACSuggestionMandatoryFields to a non-default value.

To test:

[1] Set OPACSuggestionMandatoryFields in the system preferences
    editor and note that 'title' is not listed in the modal
    that is displayed.
[2] Apply the patch.
[3] Revist the system preference editor and note that 'title'
    is now displayed as an option.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 17379: Add a man page for koha-passwd (2)
Mason James [Wed, 21 Sep 2022 11:57:38 +0000 (23:57 +1200)]
Bug 17379: Add a man page for koha-passwd (2)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 17379: Add a man page for koha-passwd
Lucio Moraes [Mon, 24 Oct 2016 08:23:20 +0000 (08:23 +0000)]
Bug 17379: Add a man page for koha-passwd

Adding a manpage for the koha-passwd utility.

To test:
1) Run these commands and look at the formatted man page:
$xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
 debian/docs/koha-passwd.xml
2)$man -l koha-passwd.8

3) Make sure this test passes:  $prove -v xt/verify-debian-docbook.t

Signed-off-by: Mika Smith <mikasmith@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31519: Move preference fetching directly to be done in the template
Joonas Kylmälä [Sun, 4 Sep 2022 07:46:16 +0000 (10:46 +0300)]
Bug 31519: Move preference fetching directly to be done in the template

Since we are not in a loop or using this multiple times it's simple to
do it this way, helps with changing the template code in the future
too since if we want to remove this syspref variable we know it is
only used in this one particular place.

To test:
 1) Grep for reserve_in_future and make sure there are no matches
    after applying this patch

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31519: Remove unused SuspendHoldsIntranet and AutoResumeSuspendedHolds variables
Joonas Kylmälä [Sun, 4 Sep 2022 07:45:59 +0000 (10:45 +0300)]
Bug 31519: Remove unused SuspendHoldsIntranet and AutoResumeSuspendedHolds variables

If you grep koha-tmpl/intranet-tmpl/prog/en for those you will see
there are no references for those.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31649: Fix acquisition basket group CSV export if biblio does not exist
Fridolin Somers [Thu, 29 Sep 2022 06:42:57 +0000 (20:42 -1000)]
Bug 31649: Fix acquisition basket group CSV export if biblio does not exist

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31649: Fix acquisition basket CSV export if biblio does not exist
Fridolin Somers [Thu, 29 Sep 2022 06:33:26 +0000 (20:33 -1000)]
Bug 31649: Fix acquisition basket CSV export if biblio does not exist

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31649: Add unit tests
Fridolin Somers [Thu, 29 Sep 2022 06:32:58 +0000 (20:32 -1000)]
Bug 31649: Add unit tests

Creates new test file GetBasketGroupAsCSV.t

Test with :
prove t/db_dependent/Acquisition/GetBasketAsCSV.t
prove t/db_dependent/Acquisition/GetBasketGroupAsCSV.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31673: (QA follow-up) Check if FK exists before attempt to remove
Tomas Cohen Arazi [Tue, 11 Oct 2022 12:08:56 +0000 (09:08 -0300)]
Bug 31673: (QA follow-up) Check if FK exists before attempt to remove

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
18 months agoBug 31673: (bug 31086 follow-up) Drop and constraint to allow updating column
Nick Clemens [Wed, 5 Oct 2022 10:16:02 +0000 (10:16 +0000)]
Bug 31673: (bug 31086 follow-up) Drop and constraint to allow updating column

It seems that we cannot edit the column while it has a constraint.
If we remove it, update the oclumn, then re-add it, the update succeeds

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: (follow-up) Unit test for store
Martin Renvoize [Tue, 4 Oct 2022 11:01:47 +0000 (12:01 +0100)]
Bug 25936: (follow-up) Unit test for store

This unit test confirms that we are not triggering the Password Change
notification notice upon patron creations.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: (follow-up) Fix ../api/v1/patrons.t
Martin Renvoize [Tue, 4 Oct 2022 11:00:18 +0000 (12:00 +0100)]
Bug 25936: (follow-up) Fix ../api/v1/patrons.t

Disable password change notifications for the api test to negate the
need for setting up notices.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31203: (follow-up) Remove stray debug statement
Nick Clemens [Fri, 30 Sep 2022 12:22:50 +0000 (12:22 +0000)]
Bug 31203: (follow-up) Remove stray debug statement

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31203: Alter other cronjobs that currenlty use cronlogaction
Nick Clemens [Fri, 5 Aug 2022 14:11:55 +0000 (14:11 +0000)]
Bug 31203: Alter other cronjobs that currenlty use cronlogaction

Added command line ooption logging and completion logging where
cronlogaction was already imported. We should probably standardize all
cronjobs, but this is a start

One cron didn't log on confirm, likely we need to update all crons to log
if confirm, and possibly not log if running in test mode? Another bug as well

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31203: Add End action to cronjobs and log viewer
Nick Clemens [Thu, 21 Jul 2022 14:53:23 +0000 (14:53 +0000)]
Bug 31203: Add End action to cronjobs and log viewer

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31203: POC advance_notices
Nick Clemens [Thu, 21 Jul 2022 12:44:40 +0000 (12:44 +0000)]
Bug 31203: POC advance_notices

This patch proposes a new standard for cronlogaction

We copy @ARGV into a space separated string, then pass this to
cronlogaction

At the end of the script we add a call with info "COMPLETED"

To test:
1 - Apply patch
2 - perl misc/cronjobs/advance_notices.pl -v -m 4 -n -c
3 - sudo koha-mysql kohadev
4 - SELECT * FROM action_logs WHERE interface="CRON";
5 - Note start and completion logged
6 - Note command line arguments included in info

If this looks good I will copy this pattern to the other cronjobs

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31203: Alter cronlogaction to take a hash
Nick Clemens [Thu, 21 Jul 2022 12:43:34 +0000 (12:43 +0000)]
Bug 31203: Alter cronlogaction to take a hash

This patch simply changes the routine to expect a hashref for info
and to log the PID as object in action logs

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31465: (follow-up) Link to preference tabs directly
Martin Renvoize [Fri, 16 Sep 2022 11:33:31 +0000 (12:33 +0100)]
Bug 31465: (follow-up) Link to preference tabs directly

This patch enhances the mapping system for the help button to allow for
each tab of preferences to link directly to the relevent section of the
manual.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31465: Correct help link for preferences
Martin Renvoize [Fri, 16 Sep 2022 10:42:17 +0000 (11:42 +0100)]
Bug 31465: Correct help link for preferences

This patch updates the mapping to reflect the split and rename of the
preferences section of the manual.

Test plan
1) Hitting 'Help' on any tab except for 'Local use' should lead you to
   the globalpreferences section of the manual for your Koha version.
2) Hitting 'Help' on the 'Local use' tab should take you directly to the
   'localusepreferences' manual page.

NOTE: I have now updated the manual build pipeline to remove
renamed/deleted files so prior to this patch you should now see a 404
response when clicking Help from these pages.  Before I made that
change, we had the old file hanging around, so you actually got an
outdated manual page disguised as a more recent version.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31666: (QA follow-up) Remove ES template literals
Martin Renvoize [Tue, 4 Oct 2022 14:03:02 +0000 (15:03 +0100)]
Bug 31666: (QA follow-up) Remove ES template literals

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31666: (QA follow-up) Add filters
Martin Renvoize [Tue, 4 Oct 2022 13:49:01 +0000 (14:49 +0100)]
Bug 31666: (QA follow-up) Add filters

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31666: Add job progress bar to stage-marc-import.pl
Kyle Hall [Fri, 30 Sep 2022 16:35:00 +0000 (12:35 -0400)]
Bug 31666: Add job progress bar to stage-marc-import.pl

It would be nice if we had progress bars to indicate the progress of background jobs for scripts that utilize them.

This patch implements a reusable bootstrap based progess bar.

Test Plan:
1) Apply this patch
2) Stage a marc batch ( preferrably a large one to show the progress updating )
3) Note the new progess bar, verify it functions correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31685: Replace current_article_requests_count in opac-user
Marcel de Rooy [Wed, 5 Oct 2022 13:45:09 +0000 (13:45 +0000)]
Bug 31685: Replace current_article_requests_count in opac-user

Fixing the "( total)" in the caption of the table.

The tt var should be replaced now by current_article_requests.size.
Note that current_article_requests is an array now (from as_list).
We cannot use .count since it is no Koha object.

Test plan:
Submit a few article requests.
Check OPAC account page, and verify that both totals are fine now.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: DBRev 22.06.00.061
Tomas Cohen Arazi [Wed, 5 Oct 2022 19:02:04 +0000 (16:02 -0300)]
Bug 31333: DBRev 22.06.00.061

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: (QA follow-up) Simplify code
Tomas Cohen Arazi [Wed, 5 Oct 2022 18:14:22 +0000 (15:14 -0300)]
Bug 31333: (QA follow-up) Simplify code

The new syspref is a deny-list. So not being part of the list means you
are allowed. This was not that clear reading the code, so this patch
tries to simplify the logic. Better handling on undef syspref value is
added as well to avoid useless warnings.

This patch does the following changes:
- Uses `any` instead of `grep`. This has the effect of just returning a
  boolean on the first match, instead of keep looping until de array

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: (QA follow-up) Move and improve tests
Tomas Cohen Arazi [Wed, 5 Oct 2022 14:53:46 +0000 (11:53 -0300)]
Bug 31333: (QA follow-up) Move and improve tests

This patch moves tests to the right file (singular class name). It also
refactors them a bit, in order to cover more cases, including the
syspref split one.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Category.t \
           t/db_dependent/Koha/Patron/Categories.t
=> SUCCESS: All good.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: (QA follow-up) Add hint about AnonSuggestions to new system preference
Katrin Fischer [Wed, 7 Sep 2022 11:24:35 +0000 (11:24 +0000)]
Bug 31333: (QA follow-up) Add hint about AnonSuggestions to new system preference

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: (follow-up) Handle anonymous patrons making suggestions
Alex Buckley [Fri, 26 Aug 2022 02:04:51 +0000 (02:04 +0000)]
Bug 31333: (follow-up) Handle anonymous patrons making suggestions

Test plan:
1. Enable suggestion & AnonSuggestions sysprefs and set AnonymousPatron = 1
2. Visit the OPAC without logging in
3. Confirm you can successfully create a suggestion from:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
4. Disable the AnonSuggestions syspref
5. Confirm you cannot see links to make purchase suggestions on the
following pages:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
6. Confirm if you try visiting /cgi-bin/koha/opac-suggestions.pl page
you are re-directed to a login page
7. Select the category of your user in the suggestionPatronCategoryExceptions syspref
8. Log into the OPAC
9. Confirm you cannot see links to make purchase suggestions on the
following pages:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
- opac-user.pl ('Your summary') page
10. Confirm if you try visiting /cgi-bin/koha/opac-suggestions.pl page
you are re-directed to a 404 error page
11. Enable AnonSuggestions syspref
12. Confirm you can successfully create a suggestion from:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
- opac-user.pl ('Your summary') page
13. Disable AnonSuggestions syspref and un-check your category from
suggestionPatronCategoryExeptions syspref
14. Confirm you can create a suggestion from:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
- opac-user.pl ('Your summary') page

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: (QA follow-up) Add the new check to OPAC result list
Katrin Fischer [Sun, 28 Aug 2022 09:14:46 +0000 (11:14 +0200)]
Bug 31333: (QA follow-up) Add the new check to OPAC result list

When no result is found and at the bottom of the result list
the option to make a purchase suggestion is displayed. This
also needs to use the new check.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: (QA follow-up) Combine and rephrase system preferences
Katrin Fischer [Sun, 28 Aug 2022 09:14:07 +0000 (11:14 +0200)]
Bug 31333: (QA follow-up) Combine and rephrase system preferences

Combines suggestion and suggestionPatronCategoryExceptions so
they can be easily set together and rephrases slightly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: Unit tests
Alex Buckley [Mon, 15 Aug 2022 06:39:23 +0000 (06:39 +0000)]
Bug 31333: Unit tests

Test plan:
1. Run tests (Categories.t has been updated by me, and I suggest running
Suggestions.t to confirm it still passes):

sudo koha-shell kohadev
prove t/db_dependent/Koha/Patron/Categories.t
prove t/db_dependent/Koha/Suggestions.t

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Rhonda Kuiper <rkuiper@roundrocktexas.gov>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: Add ability to make purchase suggestions by borrower type
Alex Buckley [Tue, 9 Aug 2022 14:43:33 +0000 (14:43 +0000)]
Bug 31333: Add ability to make purchase suggestions by borrower type

Introduce a suggestionPatronCategoryExceptions system preference.

If the suggestion syspref is enabled then libraries can stop specific
borrower types from making suggestions by ticking the type in the
suggestionPatronCategoryExceptions syspref.

Test plan:
1. Apply patches, update database, re-start services

2. Set 'suggestion' syspref = 'Allow'

3. Confirm you can view the purchase suggestion links on OPAC biblio detail
page & 'your summary' page. As well as successfully submit a suggestion.

4. Select the patron category you're logged in as in
suggestionPatronCategoryExceptions syspref

5. Confirm the purchase suggestion links are hidden in the OPAC biblio
detail page & 'your summary' page

6. In your browser enter the link: <OPAC base URL>/cgi-bin/koha/opac-suggestions.pl
e.g. http://localhost:8080/cgi-bin/koha/opac-suggestions.pl

7. Confirm a 404 page loads

8. Confirm you can view/moderate suggestions in the staff
client - even though your patron is selected in the
suggestionPatronCategoryExceptions syspref

9. Untick your patron category in the suggestionPatronCategoryExceptions syspref

10. Confirm you can view the purchase suggestion links on the OPAC, as
well as successfully submit a suggestion.

11. Set 'suggestion' syspref = "Don't allow"

12. Confirm the purchase suggestion links are hidden in the OPAC

13. Select all patron categories in suggestPatronCategoryExceptions
syspref. View the OPAC without logging in and confirm you can perform
searches and view OPAC biblio detail pages.

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31333: Database changes
Alex Buckley [Tue, 9 Aug 2022 02:01:57 +0000 (02:01 +0000)]
Bug 31333: Database changes

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31536: Add UNIMARC framework plugin to fetch PPN from sudoc.fr
jeremy breuillard [Tue, 7 Jun 2022 13:40:09 +0000 (15:40 +0200)]
Bug 31536: Add UNIMARC framework plugin to fetch PPN from sudoc.fr

This plugin uses sudoc.fr webservices (isbn2ppn, issn2ppn, ean2ppn) to
search a PPN using ISBN, ISSN or EAN as search criteria.
The plugin expects than ISBN is in 010$a, ISSN is in 011$a and EAN is in
073$a.

Test plan:
1. Configure the default MARC framework so that 009 uses this plugin
   (unimarc_field_009_ppn.pl)
2. Start creating a new bibliographic record
3. In the editor, write "0195141156" in the 010$a input, then move the
   focus out of the input (by pressing Tab, or clicking elsewhere on the
   page)
   The 009 field should be automatically filled with "06735209X"
4. Empty the 010$a input, then empty the 009 input
5. Write "2262-4694" in the 011$a input, then move the focus out of the
   input
   The 009 field should be automatically filled with "166197947"
6. Empty the 011$a input, then empty the 009 input
7. Write "9782070424597" in the 073$a input, then move the focus out of
   the input
   The 009 field should be automatically filled with "151662983"
8. Empty only the 009 field, keep the same value for 073$a and save the
   bibliographic record.
9. Edit the same record, you should have an empty 009 field and 073$a =
   "9782070424597".
   Click on the 009 field input, it should be automatically filled with
   "151662983"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31371: (QA follow-up) Capitalization fixes
Katrin Fischer [Mon, 3 Oct 2022 19:53:42 +0000 (19:53 +0000)]
Bug 31371: (QA follow-up) Capitalization fixes

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31371: Value builder for field 283
jeremy breuillard [Mon, 1 Aug 2022 13:27:22 +0000 (15:27 +0200)]
Bug 31371: Value builder for field 283

On page cataloging some plugins were added for subfields $2 and $a from field $283

Test plan:
    1)Go to Home > Cataloging > New record
    2)Section 2 - field 283 : it contains subfields $2, $6, $8 & $a
    3)Inputs are writable but notice that no plugins are suggested
    4)Apply patch and repeat 1) to 3)
    5)Values builders plugins are available for $2 and $a

Signed-off-by: Thibault Keromnès <thibault.keromnes@univ-paris8.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31372: Value builder for field 325
jeremy breuillard [Wed, 20 Jul 2022 13:45:16 +0000 (15:45 +0200)]
Bug 31372: Value builder for field 325

On page cataloging some plugins were added for subfields $h and $h from field $325

Test plan:
    1)Go to Home > Cataloging > New record
    2)Section 3 - field 325 : it contains lots of subfields (g, h, i, j...)
    3)Inputs are writable but notice that no plugins are suggested
    4)Apply patch and repeat 1) to 3)
    5)Values builders plugins are available for $h and $j

Signed-off-by: Thibault Keromnès <thibault.keromnes@univ-paris8.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 28186: Use Koha::Authority in C4::AuthoritiesMarc::AddAuthority
Julian Maurice [Wed, 21 Apr 2021 05:56:50 +0000 (07:56 +0200)]
Bug 28186: Use Koha::Authority in C4::AuthoritiesMarc::AddAuthority

This patch replaces the use of $dbh->do by corresponding use of
Koha::Authority object

Test plan:
1. Verify that creating/modifying authority still work
2. prove t/db_dependent/AuthoritiesMarc.t

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31660: MARC preview for authority search results has hidden contents
Kevin Carnes [Fri, 30 Sep 2022 07:21:25 +0000 (09:21 +0200)]
Bug 31660: MARC preview for authority search results has hidden contents

This patch makes the contents of the MARC preview for authority search
results visible.

To test:
1)  Go to the Authorities page in the staff interface
2)  Click Submit to do a search
3)  Click on Actions to the right of an authority
4)  Select MARC preview
5)  Observe that the modal appears empty
6)  Apply patch
7)  Hold down the shift key when you reload the page, clear the cache,
    or use another web browser
8)  Do another authority search and look at a MARC preview
9)  Observe that the MARC preview contains the MARC record

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: DBRev 22.06.00.060
Tomas Cohen Arazi [Mon, 3 Oct 2022 18:05:01 +0000 (15:05 -0300)]
Bug 10950: DBRev 22.06.00.060

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: DBIC schema
Tomas Cohen Arazi [Mon, 3 Oct 2022 18:04:06 +0000 (15:04 -0300)]
Bug 10950: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: (follow-up) Change display of pronoun fields
Lucas Gass [Mon, 29 Aug 2022 22:24:56 +0000 (22:24 +0000)]
Bug 10950: (follow-up) Change display of pronoun fields

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: (QA follow-up) Fix typo in hidden check in OPAC patron form
Katrin Fischer [Sun, 28 Aug 2022 11:13:37 +0000 (13:13 +0200)]
Bug 10950: (QA follow-up) Fix typo in hidden check in OPAC patron form

definded => defined

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: (QA follow-up) Exec
Martin Renvoize [Tue, 14 Jun 2022 08:36:05 +0000 (09:36 +0100)]
Bug 10950: (QA follow-up) Exec

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: (follow-up) fix typo in kohastructure.sql
Lucas Gass [Mon, 13 Jun 2022 17:28:45 +0000 (17:28 +0000)]
Bug 10950: (follow-up) fix typo in kohastructure.sql

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: API spec update
Lucas Gass [Fri, 10 Jun 2022 17:40:11 +0000 (17:40 +0000)]
Bug 10950: API spec update

Test plan:
1. Apply patch, restart_all, and updatedatabase
2. In the staff client go to a patron record or create a new patron.
3. Notice the pronouns field, make sure you add a value to it.
4. Now notice that the value should display in parentheses in places where the patron name is displayed.
5. Go to the details page and you should see the value display in quotes. ( next to othernames )

6. Check to make sure you can hide the pronouns field via BorrowerUnwantedField.
7. Check to make sure you can make the field required with BorrowerMandatoryField

8. Go to the OPAC to self register. The pronouns field should appear in the form.
9. Make sure you can make it required ( PatronSelfRegistrationBorrowerMandatoryField ) and that you can hide it ( PatronSelfRegistrationBorrowerUnwantedField ).
10. Once registered check 'your personal details'. Check that the field can be required (PatronSelfModificationMandatoryField) or hidden ( PatronSelfModificationBorrowerUnwantedField ).

11. Try some notices like ISSUESLIP. You should be able to add either <<borrowers.pronouns>> or [% borrower.pronoun %] to the notice and have it display when you generate the notice.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: Display pronouns field
Lucas Gass [Thu, 9 Jun 2022 16:23:49 +0000 (16:23 +0000)]
Bug 10950: Display pronouns field

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: Add intranet/OPAC form fields
Lucas Gass [Thu, 9 Jun 2022 16:02:42 +0000 (16:02 +0000)]
Bug 10950: Add intranet/OPAC form fields

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 10950: Database update
Lucas Gass [Thu, 9 Jun 2022 14:17:03 +0000 (14:17 +0000)]
Bug 10950: Database update

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31634: Add part_number and part_name in opac result browser
Caroline Cyr La Rose [Tue, 27 Sep 2022 15:30:16 +0000 (11:30 -0400)]
Bug 31634: Add part_number and part_name in opac result browser

This patch adds the part_number and part_name in the opac results browser.

To test:
0. Apply patch

1. Download the sample records and import into Koha
1.1. Download the sample mrc file
1.2. In Koha staff interface, go to Tools > Stage MARC records for import
1.3. Click 'Browse' and choose the file
1.4. Click 'Upload file'
1.5. Click 'Stage for import'
1.6. Click 'Manage staged records'
1.7. Click 'Import this batch into the catalog'

2. Make sure OpacBrowseResults is enabled
2.1. In Koha staff interface, go to Administration > Global system preferences
2.2. Search for OpacBrowseResults
2.3. If necessary, change to 'enable' and click 'Save all OPAC preferences'

3. In OPAC, search for BFF and browse the results
3.1. In Koha OPAC, search for BFF
3.2. Click on one of the titles to access the opac-detail page
3.3. Click 'Browse results'
--> The browser should show the main title, along with the number and volume title.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31586: Log basket number as object for action ACQUISITION ORDER
Katrin Fischer [Tue, 20 Sep 2022 12:47:15 +0000 (12:47 +0000)]
Bug 31586: Log basket number as object for action ACQUISITION ORDER

Until now we logged undef as object in action_logs when an email
order was sent. With this patch the basket number is logged instead,
which will allow for reporting and also allows us to display a link
to the basket, if permissions permit (order manage), in the log
viewer.

To test:
- Make sure the ClaimsLog system preference is set to Log
- Create a vendor or make sure an existing vendor has an email set
- Make sure to add an SMTP server and link it to your library
- Create a basket in acqisitions and add an order line
- Click "E-mail order" to send the email
- Go to the log viewer, limit to module Acquisitions
- Verify that the entry show with a link to the basket in the
  Object column
  If the user doesn't have order_manage permission, the basket
  number will still show, but isn't linked

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: DBRev 22.06.00.059
Tomas Cohen Arazi [Mon, 3 Oct 2022 17:30:39 +0000 (14:30 -0300)]
Bug 25936: DBRev 22.06.00.059

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: (QA follow-up) Enable feature for new installs
Marcel de Rooy [Fri, 30 Sep 2022 07:05:08 +0000 (07:05 +0000)]
Bug 25936: (QA follow-up) Enable feature for new installs

It feels safer to enable this rightaway for new installs.
Since we always love to "keep current behavior", I do not really
mind to keep it disabled at upgrade time.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: (QA follow-up) Spelling and wording
Marcel de Rooy [Fri, 30 Sep 2022 06:26:44 +0000 (06:26 +0000)]
Bug 25936: (QA follow-up) Spelling and wording

[1] NotifyPassowrdChange => NotifyPasswordChange
[2] Someone has changed your library user account password.
    Scary? Changed it myself. Reworded it a bit.
[3] is( $THE_notice->status, 'failed', "The notice was sent immediately");
    Note that THE_notice is imo horrible :) Wont touch it though.
    But I think we should reword 'sent' since it just failed.
    And we actually should mock sending mail here. Adding FIXME.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: Unit tests
Martin Renvoize [Thu, 29 Sep 2022 11:42:39 +0000 (12:42 +0100)]
Bug 25936: Unit tests

This patch adds a unit test to check that the notice is enqueued and
sending is attempted immediately.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: (follow-up) Rename notice and fix indentation
Martin Renvoize [Wed, 9 Mar 2022 12:23:07 +0000 (12:23 +0000)]
Bug 25936: (follow-up) Rename notice and fix indentation

This patch renames the notice from PASSCHANGE to PASSWORD_CHANGE which
is both clearer and more consistent.  It also fixes the indentation
issues mentioned in the atomicupdate.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 25936: Add option to send password change notices
Martin Renvoize [Thu, 3 Mar 2022 12:03:42 +0000 (12:03 +0000)]
Bug 25936: Add option to send password change notices

This patch add a new security notice to allow sending notification of
password changes to patrons. If enabled, the 'PASSCHANGE' notice will be
sent to respective patrons whenever their password is updated.

Test plan
1) Run the database updates
2) Enable the new feature by setting 'NotifyPasswordChange' to 'Notify'
3) Change a users password
4) Check that the notice appears in the patrons notices

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 20457: Overdue and pre-overdue cronjobs not skipping phone notices
Kyle M Hall [Mon, 25 Mar 2019 18:03:16 +0000 (14:03 -0400)]
Bug 20457: Overdue and pre-overdue cronjobs not skipping phone notices

The overdue and pre-overdue cron scripts are not skipping the generation of phone notices. This causes many phone notices to be created that will always be left at 'pending' as the Talking Tech outbound script creates its own phone notices and puts them in the message queue.

Test Plan:
1) Enable Talking Tech
2) Enable predue and overdue notice phone transports for a patron
3) Generate overdues and predues, notice phone notices are generated
4) Apply the patch
5) Repeat steps 2-3
6) Note phone notices are not generated

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 29671: Dropbox mode is unchecked after check in confirm on item with Materials...
Christophe Torin [Fri, 23 Sep 2022 19:55:37 +0000 (15:55 -0400)]
Bug 29671: Dropbox mode is unchecked after check in confirm on item with Materials specified

Suggested patch

steps to reproduce :

1) Enable System preference CirConfirmItemParts
2) Go to Circulation > Check in
3) Enable Dropbox mode (Book drop mode) in the Checkin settings
4) Enter a barcode of an item having the 'Materials specified' field
   not empty
5) A Popup is shown, click the confirm button
6) The Dropbox mode (Book drop mode) is now unchecked, but should stay
   checked.

In the template, the modal window lacks the dropboxmode input, so that
it stays on the next page. I attached a patch with my suggested correction.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Géraud <geraud.frappier@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31633: (follow-up) Group template params
Tomas Cohen Arazi [Mon, 3 Oct 2022 17:09:59 +0000 (14:09 -0300)]
Bug 31633: (follow-up) Group template params

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31633: (QA follow-up) Add data-attribute for logged-in library
Katrin Fischer [Sat, 1 Oct 2022 20:33:00 +0000 (20:33 +0000)]
Bug 31633: (QA follow-up) Add data-attribute for logged-in library

The class has some advantages, but I thought it would be nice to also
have the complete set of options in data-attributes.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 31633: Add holding and home data attributes to spinelabel-print.tt
Lucas Gass [Tue, 27 Sep 2022 16:44:24 +0000 (16:44 +0000)]
Bug 31633: Add holding and home data attributes to spinelabel-print.tt

To test:

1. Apply patch
2. Have some items with call numbers and different holding/home branches.
3. Generate some quick spine labels and use your browsers dev tools to inscept the #spinelabel element. It should have 2 new data-attributes, data-homebranch and data-holdingbranch
4. You can then apply this CSS via IntraNnetUserCSS to make sure you can select these properly now:

background: red;
}

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 30646: Unit tests for Auth_with_ldap
Martin Renvoize [Fri, 30 Sep 2022 10:44:39 +0000 (11:44 +0100)]
Bug 30646: Unit tests for Auth_with_ldap

This patch adds a unit test to the Auth_with_ldap.t to confirm welcome
notices are send when replace + welcome are enabled in the
configuration.

We also add a snippet to hide 'Subroutine redefined' warnings in this
test as it makes the test output rather challenging to read and the way
the test is written these warning are expected.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
19 months agoBug 30646: Unit test for Auth_with_shibboleth
Martin Renvoize [Fri, 30 Sep 2022 09:35:51 +0000 (10:35 +0100)]
Bug 30646: Unit test for Auth_with_shibboleth

This patch adds a unit test for the Auth_with_shibboleth welcome notice
addition.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>