koha.git
15 months agoBug 32482: (follow-up) Add markup comments
Owen Leonard [Fri, 16 Dec 2022 12:23:10 +0000 (12:23 +0000)]
Bug 32482: (follow-up) Add markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the page's appearance or
functionality.

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>
15 months agoBug 32482: Reindent holds awaiting pickup template
Owen Leonard [Fri, 16 Dec 2022 11:48:54 +0000 (11:48 +0000)]
Bug 32482: Reindent holds awaiting pickup template

This patch reindents the holds awaiting pickup template so that it has
consistent indentation.

This patch also corrects a markup error that was causing a layout issue.
Incorrectly closed <div>s caused the circulation sidebar menu to
disappear.

To test, apply the patch and test all aspects of the page, including:

- Correctly functioning tabs and DataTables
- Cancel selected holds waiting
- Cancel selected holds waiting past ReservesMaxPickUpDelay
- Cancel all holds waiting past ReservesMaxPickUpDelay
- Cancel individual holds with cancellation requests (Cancellations
  of waiting holds via the OPAC. See "Default waiting hold cancellation
  policy" in Circulation and Fine rules).

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>
15 months agoBug 32690: (follow-up) Add markup comments
Owen Leonard [Fri, 20 Jan 2023 17:08:19 +0000 (17:08 +0000)]
Bug 32690: (follow-up) Add markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the page's appearance or
functionality.

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>
15 months agoBug 32690: Reindent the serial collection template
Owen Leonard [Fri, 20 Jan 2023 16:59:42 +0000 (16:59 +0000)]
Bug 32690: Reindent the serial collection template

This patch reindents the serial collection template so that it has
consistent indentation. These changes should have no visible effect on
the page.

To test, apply the patch and go to Serials -> Subscription detail ->
Serial collection. Everything should look normal. All tabs should work
correctly.

Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.

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>
15 months agoBug 31095: (Rebase follow-up) Correct fine rules and AddIssue calls
Martin Renvoize [Mon, 30 Jan 2023 17:27:53 +0000 (17:27 +0000)]
Bug 31095: (Rebase follow-up) Correct fine rules and AddIssue calls

This patch corrects the errant call to AddIssue that passes a patron
object instread of a patron hash to AddIssue in the tests and also adds
lengthunit to squash a pair of warnings.

However, it doesn't resolve the failing test.. still somthing going on
there.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 31095: Fix Circulation.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: DBIC additions and relation name tweak
Tomas Cohen Arazi [Mon, 30 Jan 2023 15:57:32 +0000 (12:57 -0300)]
Bug 31095: DBIC additions and relation name tweak

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: (QA follow-up) Fix POD
Tomas Cohen Arazi [Mon, 30 Jan 2023 15:25:19 +0000 (12:25 -0300)]
Bug 31095: (QA follow-up) Fix POD

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: (follow-up) Iterate debarments in batch mod
Nick Clemens [Fri, 16 Sep 2022 15:52:13 +0000 (15:52 +0000)]
Bug 31095: (follow-up) Iterate debarments in batch mod

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: (QA follow-up) Fix after rebase
Martin Renvoize [Tue, 18 Oct 2022 14:01:02 +0000 (15:01 +0100)]
Bug 31095: (QA follow-up) Fix after rebase

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from Koha::Patron::Debarments
Martin Renvoize [Thu, 25 Aug 2022 09:22:39 +0000 (10:22 +0100)]
Bug 31095: Remove GetDebarments from Koha::Patron::Debarments

This patch finally removes GetDebarments from the codebase.

Test plan
1. Confirm GetDebarments is no longer mentioned in the codebase. `git
   grep GetDebarments`
2. Confirm t/db_dependent/Patron/Borrower_Debarments.t continues to pass

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from Borrower_Debarments.t
Martin Renvoize [Thu, 25 Aug 2022 09:16:46 +0000 (10:16 +0100)]
Bug 31095: Remove GetDebarments from Borrower_Debarments.t

This patch replaces calls to GetDebarments with teh
$patron->restritions->search() equivilents.

Test plan
1. Run the test prior to the patch and confirm it passes
2. Run the test after the patch and confirm it passes
3. Confirm no tests were removed

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from Restriction/Type.t
Martin Renvoize [Thu, 25 Aug 2022 08:23:36 +0000 (09:23 +0100)]
Bug 31095: Remove GetDebarments from Restriction/Type.t

This patch replaces GetDebarments with $patron->restrictions in
t/db_dependent/Koha/Patron/Restriction/Type.t

Test plan
1. Confirm t/db_dependent/Koha/Patron/Restriction/Type.t passes prior to
   the patch
2. Confirm t/db_dependent/Koha/Patron/Restriction/Type.t passes after
   the patch
3. Confirm no tests were removed

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from MarkIssueReturned.t
Martin Renvoize [Thu, 25 Aug 2022 08:11:13 +0000 (09:11 +0100)]
Bug 31095: Remove GetDebarments from MarkIssueReturned.t

This patch removes GetDebarments from Ciculation/MarkIssueReturned.t

Test plan
1. Confirm t/db_dependent/Circulation/MarkIssueReturned.t passes prior
   to the patch
2. Confirm t/db_dependent/Circulation/MarkIssueReturned.t passes after
   the patch
3. Confirm no tests have been removed

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from maxsuspensiondays.t
Martin Renvoize [Thu, 25 Aug 2022 08:00:51 +0000 (09:00 +0100)]
Bug 31095: Remove GetDebarments from maxsuspensiondays.t

This patch replaces GetDebarments in maxsuspensiondays.t with calls to
the restrictions accessor.

Test plan
1. Confirm t/db_dependent/Circulation/maxsuspensiondays.t passes prior
   to this patch
2. Confirm t/db_dependent/Circulation/maxsuspensiondays.t passes after
   this patch
3. Confirm no tests have been removed in this patch

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from Patron::Import
Martin Renvoize [Thu, 25 Aug 2022 07:56:54 +0000 (08:56 +0100)]
Bug 31095: Remove GetDebarments from Patron::Import

This patch replaced GetDebarments with $patron->restrictions->search in
Koha::Patron::Import.

Test plan
1. Confirm that importing patrons with debarred and debarredcomment
   fields in the import still works as expected

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from Circulation.t
Martin Renvoize [Thu, 25 Aug 2022 07:36:37 +0000 (08:36 +0100)]
Bug 31095: Remove GetDebarments from Circulation.t

Replace GetDebarments with $patron->restrictions.

Test plan
1. Run test prior to patch - all should pass
2. Run test after patch - all should pass
3. Confirm no tests were removed as part of the patch

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from Circulation.pm
Martin Renvoize [Wed, 24 Aug 2022 15:47:54 +0000 (16:47 +0100)]
Bug 31095: Remove GetDebarments from Circulation.pm

This patch removes GetDebarments from Circulation.pm replacing them with
calls to $patron->restrictions and filtering using a chained search
call.

Test plan
1. Confirm that t/db_dependant/Circulation.t continues to pass

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from tools/modborrowers.pl
Martin Renvoize [Wed, 24 Aug 2022 15:30:43 +0000 (16:30 +0100)]
Bug 31095: Remove GetDebarments from tools/modborrowers.pl

This patch removes GetDebarments from the modborrowers tool controller
and replaces it with $patron->restrictions as appropriate.

Test plan
1. Confirm that the 'Batch patron modification' tool pages still load
   and perform as expected.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove keyed_on_code
Martin Renvoize [Wed, 24 Aug 2022 15:20:05 +0000 (16:20 +0100)]
Bug 31095: Remove keyed_on_code

We no longer require keyed_on_code from Koha::Patron::Restrictoin::Types
as we have relation accessors for the relevent use cases and no longer
reference the method anywhere in the codebase!

Test plan
1. Confirm 'keyed_on_code' is no longer referenced anywhere in the
   codebase.
   `git grep keyed_on_code`

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove borrower_debarments and patron_restrictions includes
Martin Renvoize [Wed, 24 Aug 2022 15:16:34 +0000 (16:16 +0100)]
Bug 31095: Remove borrower_debarments and patron_restrictions includes

This patch removes the aforementioned includes and drops the last
remaining reference to them.

We have replaces these includes with patron-restrictions-tab.inc and
restriction-types.inc.

Test plan
1. Confirm the includes are no longer referenced anywhere in the
   codebase. 'git grep borrower_debarments.inc', 'git grep
   patron_restrictions.inc'

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from members/memberentry.pl
Martin Renvoize [Wed, 24 Aug 2022 15:14:59 +0000 (16:14 +0100)]
Bug 31095: Remove GetDebarments from members/memberentry.pl

This patch removes the use of GetDebarments from members/memberentry.pl
and replaces the references in the templates with patron.restrictions.

Test plan
1. Add a new user and confirm that the patron restrictions section does
   not appear on the form
2. Edit the user and confirm the patron restrictions section now appears
3. Add a manual restriction using the patron edit form
4. Confirm the restriction appears on the patron edit form
5. Confirm you can remove the restriction usine the patron edit form

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from members/moremember.pl
Martin Renvoize [Wed, 24 Aug 2022 15:13:26 +0000 (16:13 +0100)]
Bug 31095: Remove GetDebarments from members/moremember.pl

This patch removes the use of GetDebarments from members/moremember.pl
and replaces template references with patrons.restrictions and the new
includes introduced in the prior patch

Test plan
1. Confirm that the 'Restrictions (x)' tab still appears on the patron
   details page.
2. Confirm that the 'Restrictions (x)' tab count is correct
3. Confirm that the 'Restrictions (x)' tab table functions
4. Confirm that the 'Restrictions (x)' tab 'Add manual restriction' form
   works as expected

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Remove GetDebarments from circ/circulation.pl
Martin Renvoize [Wed, 24 Aug 2022 15:11:43 +0000 (16:11 +0100)]
Bug 31095: Remove GetDebarments from circ/circulation.pl

This patch remove the use of GetDebarments from circ/circulation.pl,
replacing it with a reference to patron.restrictions in the template and
includes.

Test plan
1. Confirm that the 'Restrictions (x)' tab still appears on the checkout
   page for a user.
2. Confirm that the 'Restrictions (x)' tab count is correct
3. Confirm that the 'Restrictions (x)' tab table functions
4. Confirm that the 'Restrictions (x)' tab 'Add manual restriction' form
   works as expected

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Add type relation accessor to Koha::Patron::Restriction
Martin Renvoize [Wed, 24 Aug 2022 15:01:27 +0000 (16:01 +0100)]
Bug 31095: Add type relation accessor to Koha::Patron::Restriction

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Add restrictions accessor to Koha::Patron
Martin Renvoize [Wed, 24 Aug 2022 15:00:52 +0000 (16:00 +0100)]
Bug 31095: Add restrictions accessor to Koha::Patron

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31095: Add Koha::Patron::Restriction(s)
Tomas Cohen Arazi [Mon, 22 Aug 2022 17:06:31 +0000 (14:06 -0300)]
Bug 31095: Add Koha::Patron::Restriction(s)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32504: Fix misalignment of visibility of basket orders table columns and missing...
Slava Shishkin [Wed, 21 Dec 2022 12:46:45 +0000 (14:46 +0200)]
Bug 32504: Fix misalignment of visibility of basket orders table columns and missing export columns

To reproduce:
1. Go to /cgi-bin/koha/admin/columns_settings.pl
2. In the section Acquisition > Basket > Orders uncheck all checkboxes in the table settings
3. Go to a separate browser window to /cgi-bin/koha/acqui/booksellers.pl and open/create a new basket and add one book to it so the basket table will have rows in the "Order" table which we will configure below:
4. Click on the ["Columns" settings] for the table.
5. In the dropdown menu, observe that all Columns are marked as visible and correspond to the current table display.
6. Also check the export table feature: Click on "Export" and choose print, you will see that Columns up to GST (goods_and_services_tax) are displayed, and Fund and Estimated delivery date are missing.
7. Go back to table settings (like it was in steps.1-2)
8. Make the estimated_delivery_date column 'invisible by default' by checking out the appropriate checkbox and saving the changes.
9. Refresh the basket window/page (like in step 3).
10. Observe that in the table the whole columns "Estimated delivery date" is visible but "Fund" is gone.
11. Click on the ["Columns" settings] for the table.
12. In the dropdown menu observe that the wrong column is disabled ("Fund" instead of "Estimated delivery date").
13. Apply the patch.
14. Go through steps 3-12 and make sure that everything mentioned in those steps now works correctly: when you hide any columns in columns_settings.pl they are correctly hidden for the "Order" table, as well when exporting the table, the Fund, and Estimated delivery date columns are now exported.

Note: this patch also respects Koha.Preference('EDIFACT') setting and when it's enabled it also correctly hides/shows and exports the 'supplier_report' column.

Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32504: Fix typo columnname in columns_settings.yml
Slava Shishkin [Tue, 20 Dec 2022 14:49:57 +0000 (16:49 +0200)]
Bug 32504: Fix typo columnname in columns_settings.yml

Trivial fix.

To reproduce:
1. Go to /cgi-bin/koha/admin/columns_settings.pl
2. Observe in the section Acquisition > Basket > Orders an empty field in the Column name, the row between fund and supplier_report rows: it was expected estimated_delivery_date value.
3. Apply the patch.
4. Restart Memcached (console: service memcached restart)
5. Reload cgi-bin/koha/admin/columns_settings.pl: that empty row now will have estimated_delivery_date value.

Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32644: Terminology: staff/intranet and biblio in plugins-home page
Caroline Cyr La Rose [Mon, 16 Jan 2023 20:06:19 +0000 (15:06 -0500)]
Bug 32644: Terminology: staff/intranet and biblio in plugins-home page

This patch replaces some incorrect terminology in the plugins-home page.
The current terminology is available at https://wiki.koha-community.org/wiki/Terminology

To test:
0. Make sure you have no enhanced content plugins installed
1. Apply patch
2. Go to Administration > Manage plugins
3. Click 'View plugins by class'
   --> Notice that one of the options is 'View bibliographic record enhancement
   plugins for the staff interface'
4. Make sure this phrase is gramatically correct, makes sense and has no
   typos
5. Click on that option
   --> Notice that the message says 'No plugins that can enhance the bibliographic
   records in the staff interface are installed'
6. Make sure this phrase is gramatically correct, makes sense and has no
   typos

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>
15 months agoBug 32600: Housebound module needs page-section treatment
Owen Leonard [Tue, 17 Jan 2023 12:45:35 +0000 (12:45 +0000)]
Bug 32600: Housebound module needs page-section treatment

This patch adds a .page-section container to two areas in the patron
homebound template.

This patch contains indentation changes, so please ignore whitespace
when looking at the diff.

To test, apply the patch and make sure the HouseboundModule system
preference is enabled.

- Locate a patron and edit their record.
- In the "Housebound roles" section, check both "Chooser" and
  "Deliverer."
- Locate another patron and click on the "Housebound" menu item in the
  left-hand sidebar.
- On the "Manage housebound profile" page, set a delivery day and
  frequency and save changes.
- On the "Housebound details for..." page the details section at the top
  should be correctly styled.
- Click "Add a new delivery."
- Fill out some delivery details and click "Save."
- Now the "Housebound details for..." page should show a "Deliveries"
  section which is correctly styled.

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>
15 months agoBug 32738: Correct upload local cover image title tag
Owen Leonard [Fri, 27 Jan 2023 15:05:30 +0000 (15:05 +0000)]
Bug 32738: Correct upload local cover image title tag

This patch corrects the local cover image template's title tag so that
it conforms to the changes made in Bug 26703, 'Modify the "title"
elements to contain unique information first.'

The patch also makes minor corrections to the page's breadcrumbs.

To test you must have the LocalCoverImages system preference enabled.

- Apply the patch and go to Cataloging -> Upload local cover image.
- The page title should be correct:
  Upload local cover image › Cataloging › Koha
- The breadcrumbs should be:
  Home -> Cataloging -> Upload cover image
- Locate a bibliographic record and view its details.
- Click the "Images" tab, then the "Upload" button.
- The page title should now be
  Upload local cover image for [title] › Cataloging › Koha
- The breadcrumbs should now be:
  Home -> Cataloging -> Upload local cover image -> Upload cover for
  [title]

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>
15 months agoBug 32618: Add 'page-section' to various administration pages
Owen Leonard [Thu, 12 Jan 2023 18:00:56 +0000 (18:00 +0000)]
Bug 32618: Add 'page-section' to various administration pages

This patch adds a "page-section" container div around the main section
of administration pages which lack it.

The SMS providers page required a small change to the associated
JavaScript in order to target the right container, so you may need to
clear your browser cache to get the correct behavior.

This patch contains indentation changes, so please ignore whitespace
when looking at the diff.

To test, apply the patch and view the following pages to confirm that
the main content is contained in a white box:

 - Acquisitions -> Vendor -> Contracts
 - Administration -> Budgets -> Budget details -> Planning
 - Administration -> Circulation desks
 - Administration -> OAI sets configuration -> Define mappings
 - Administration -> System preferences -> Search for
   'OverDriveAuthName' -> OverDrive library authnames table
 - Administration -> SMS cellular providers
   - Confirm that the "Edit" buttons work correctly to show and hide the
     right content.

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>
15 months agoBug 32382: (follow-up) Fix selector
Lucas Gass [Mon, 19 Dec 2022 23:50:17 +0000 (23:50 +0000)]
Bug 32382: (follow-up) Fix selector

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>
15 months agoBug 32382: Fix alignment on invoice summary page
Lucas Gass [Fri, 2 Dec 2022 00:18:59 +0000 (00:18 +0000)]
Bug 32382: Fix alignment on invoice summary page

To test:

1. Apply patch
2. Have some funds from budgets that are both active and inactive
3. Receive a basket and click 'Finish receiving' to get to the invoice page
4. Look at the Fund/Show inactive line and make sure it is aligned right
5. With some inactive funds click 'Show inactive' and make sure they appear in this dropdown
6. Click 'Add an adjustment'. Make sure the Fund/Show inactive line looks correct there as well/
7. Make an adjustment and click 'Update adjustments' make sure the line also looks right in the table that appears.
8. Inside that table make sure you can click the 'Show inactive' checkbox and the inactive budgets appears.

Note: Some of the HTML was ouside of the HTML body, so I moved it into the HTML body so it will be valid.

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>
15 months agoBug 32712: (QA follow-up) Use Koha.Preference
Tomas Cohen Arazi [Tue, 31 Jan 2023 12:34:13 +0000 (09:34 -0300)]
Bug 32712: (QA follow-up) Use Koha.Preference

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32712: Fix OPAC breakage when OPACShowCheckoutName enabled
Tomas Cohen Arazi [Mon, 30 Jan 2023 20:08:36 +0000 (17:08 -0300)]
Bug 32712: Fix OPAC breakage when OPACShowCheckoutName enabled

Bug 31313 removed GetItemsInfo and proper Koha::Object-based objects are
passed now. But some automatic search & replace kept patron-related
attributes incorrectly linked to Koha::Item.

This patch makes the item-status.inc file reuse the checkout object and
get the linked patron to gather the required information. Some
simplification is done on hte same patch... should be trivial.

To test:
1. Have OpacShowCheckoutName enabled
2. Pick a biblio with items (all of them not checkecd-out)
3. Open the OPAC detail view for the biblio
=> SUCCESS: You see the biblio and the items
4. Check one of the items out
5. Refresh the OPAC page
=> FAIL: The page explodes!
6. Apply this patch
7. Refresh the OPAC page
=> SUCCESS: You see the biblio and the items, the patron info is
correctly displayed.
8. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32555: Fix serial vs. serialitem typo
Tomas Cohen Arazi [Mon, 30 Jan 2023 18:38:59 +0000 (15:38 -0300)]
Bug 32555: Fix serial vs. serialitem typo

To test:
1. Create a serial subscription
   1.1. Go to Serials
   1.2. Click on New subscription
   1.3. Fill out the first form
        - Vendor: leave empty
        - Record: enter a record number (I used 108)
        - Create an item record when receiving this serial
        - When there is an irregular issue: Keep issue number
        - Manual history: leave unchecked
        - Call number: leave empty
        - Library: Centerville
        - Public/nonpublic note: leave empty
        - Patron notification: None
        - Location: None
        - Collection: None
        - Item type: Continuing resources
        - Grace period: leave empty
        - Number of issues to display: leave both empty
   1.4. Click Next (and confirm you are not using a vendor)
   1.5. Fill out the second form
        - First issue publication date: 2023-01-01
        - Frequency: 1/month
        - Subscription length: issues 12
        - Subscription start date: 2023-01-01
        - Subscription end date: 2024-01-01
        - Numbering pattern: Number
        - Locale: leave empty
        - Begins with: 42
        - Inner counter: leave empty
   1.6. Click Test prediction pattern
   1.7. Click Save subscription
2. Click OPAC view: Open in new window.
=> SUCCESS: It should open normally in another tab/window and the record displays without problem
3. Back in the staff interface tab, receive an issue
   3.1. Click Receive
   3.2. In Status, choose Arrived for No. 42
   3.3. Click Save
4. Go back to the OPAC tab and refresh
=> FAIL: Page explodes
5. Apply this patch
6. Repeat 4
=> SUCCESS: Information shows correctly no explosions.
7. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32434: Show "Lists" line on lists results
David Cook [Fri, 9 Dec 2022 03:28:12 +0000 (03:28 +0000)]
Bug 32434: Show "Lists" line on lists results

This patch adds a "Lists:" line on the lists results so that the
output matches the search result output.

This allows users to know which records belong to which lists.

Test plan:
0. Apply patch and koha-plack --restart kohadev
1. Go to http://localhost:8080/cgi-bin/koha/opac-search.pl?idx=&q=test
2. Add all 3 results to a new list called "Test"
3. Note that "Lists:" appears in the search results
4. Click on "Test" in the "Lists:" line
5. Note that it takes you to the list "Test" and that "Lists:"
still appears in the results

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32431: Display expiry date on SIP checkout when patron is expired
Matthias Meusburger [Thu, 8 Dec 2022 14:10:18 +0000 (14:10 +0000)]
Bug 32431: Display expiry date on SIP checkout when patron is expired

Test plan:

 - Set up an expired patron
 - Do a SIP checkout
 - Check that the message is "Patron expired"
 - Apply the patch
 - Check that the message is "Patron expired on <correctly_formatted_date>"
 - Prove t//db_dependent/SIP/Transaction.t

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32688: Convert recalls awaiting pickup tabs to Bootstrap
Owen Leonard [Fri, 20 Jan 2023 11:56:55 +0000 (11:56 +0000)]
Bug 32688: Convert recalls awaiting pickup tabs to Bootstrap

This patch updates the recalls awaiting pickup template
(recalls_waiting.tt) to replace a set of jQueryUI tabs. They are
converted to Bootstrap in order to complete Bug 29226.

To test, apply the patch and make sure the "UseRecalls" system
preference is enabled.

- Go to Circulation -> Recalls awaiting pickup.
- You should see two tabs, "Recalls waiting" and "Recalls waiting over X
  days."
- The tabs should look correct and work correctly.

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>
15 months agoBug 31797: Add DELETE /items/:item_id endpoint
Tomas Cohen Arazi [Mon, 26 Dec 2022 19:01:42 +0000 (16:01 -0300)]
Bug 31797: Add DELETE /items/:item_id endpoint

This patch adds the mentioned endpoint. The controller relies on
Koha::Item->safe_to_delete for checks and uses `safe_delete` as
additem.pl does.

The required permissions are edit_catalogue.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/items.t
=> SUCCESS: Tests pass!
3. Play with item deletion using a REST tool like Postman
=> SUCCESS: All works as expected
4. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: Move 773 entries in result lists before 856 entries
Katrin Fischer [Fri, 20 Jan 2023 15:29:49 +0000 (16:29 +0100)]
Bug 16522: Move 773 entries in result lists before 856 entries

This moves the display of 773 In: displays to right before the
856 Online resource: as suggested by Heather in order to make it
more consistent with the display in the detail pages.

Everything should be unchanged, but the position of the
In: line :)

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: (follow-up) If no 773$w, try to return host record
Aleisha Amohia [Mon, 17 Oct 2022 22:38:44 +0000 (22:38 +0000)]
Bug 16522: (follow-up) If no 773$w, try to return host record

Use host biblionumber or host itemnumber to return a host record if
EasyAnalyticalRecords is enabled, or return an undef record and a string
of host information when get_marc_host is called in list context.

Confirm tests pass:
- t/db_dependent/Koha/Biblio/host_record.t

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: (follow-up) Remove HTML links from email
Katrin Fischer [Wed, 28 Sep 2022 14:11:45 +0000 (14:11 +0000)]
Bug 16522: (follow-up) Remove HTML links from email

The emails sent for cart and list are plain text and any
<a> tag will be scrubbed by HtmlToText. So we can remove
those links.

This also solves an issue with the original patch set,
where the error below would appear on sending a cart or
list email from the staff interface:

Template process failed: file error - biblio_a_href: not found at /kohadevbox/koha/C4/Templates.pm line 127

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: (follow-up) Fix variable in OPAC cart brief display
Katrin Fischer [Wed, 28 Sep 2022 13:00:25 +0000 (13:00 +0000)]
Bug 16522: (follow-up) Fix variable in OPAC cart brief display

Without this change records 773 entries with links in $w would
not display the title information, but just "No title".
With the variable fixed, now the host's title displays.

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: (follow-up) Rename "Host item entry" to "In"
Katrin Fischer [Wed, 28 Sep 2022 12:50:45 +0000 (12:50 +0000)]
Bug 16522: (follow-up) Rename "Host item entry" to "In"

We already use In: as label for 773 on the result lists and
detail pages and it's also recommended in the MARC documentation.
With this patch the label is the same everywhere.

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: (follow-up) Add missing TT filters
Katrin Fischer [Fri, 26 Aug 2022 16:57:19 +0000 (16:57 +0000)]
Bug 16522: (follow-up) Add missing TT filters

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: (follow-up) MARC display templates and get_marc_host fixes
Aleisha Amohia [Thu, 30 Jun 2022 22:28:31 +0000 (10:28 +1200)]
Bug 16522: (follow-up) MARC display templates and get_marc_host fixes

Also:
- Show related parts 773$g
- Normalise using 'Host item entry' as title
- Remove 'foreach' because non-xslt views only return first
- If no $w, use $atg, and related tests in
t/db_dependent/Koha/Biblio/host_record.t

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 16522: Adding 773 to cart and list displays and emails
Aleisha Amohia [Fri, 4 Dec 2020 03:00:31 +0000 (16:00 +1300)]
Bug 16522: Adding 773 to cart and list displays and emails

This enhancement adds information from a host item entry and a link if
applicable to the host record in the following places:
- staff client list
- staff client cart
- staff client send list email
- staff client send cart email
- staff client search results
- staff client detail page
- opac list
- opac cart
- opac send list email email
- opac send cart email
- opac search results
- opac detail page

To test:

1. apply patch, restart services
2. log into the staff client and enable the syspref EasyAnalyticalRecords
3. find a record with an item. take note of the barcode.
4. go to another record (biblio 2). click Edit -> Link to host record
5. enter the barcode in the input and submit.
6. click the MARC tab and confirm the host record has been linked under
MARC field 773.
7. add biblio 2 to your cart, and to a list.
8. go to your cart. confirm you see the 'host item entry' link.
9. click on 'more details' and confirm you see the 'host item entries'
link.
10. click 'send' to email the cart. confirm the email contains the host
item entry and the link sends you to the catalogue page for the record
in the OPAC.
11. go to the list you added the record to. confirm you see the 'source'
link for the host item entry.
12. click 'send list' to email the list. confirm the email contains the
host item entry and the link sends you to the catalogue page for the
record in the OPAC.
13. log into the OPAC. repeat steps 7 to 12 on the OPAC and confirm they
all pass as expected.
14. Confirm host item info also shows correctly on the
OPAC and staff client search results, and the OPAC and staff client
detail pages (where XSLT is used)
15. Delete the 773$w and confirm host item info still shows correctly
but no longer links to biblio
16. confirm tests pass t/db_dependent/Koha/Biblio/host_record.t

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32694: (QA follow-up) Fix missing TT filters
Katrin Fischer [Fri, 27 Jan 2023 13:17:42 +0000 (13:17 +0000)]
Bug 32694: (QA follow-up) Fix missing TT filters

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32694: Fix value of 'Keep current' option in receiving
Nick Clemens [Fri, 20 Jan 2023 20:18:27 +0000 (20:18 +0000)]
Bug 32694: Fix value of 'Keep current' option in receiving

This patch restores missing template toolkit markers around the variable

To test:
1 - Order an item in a basket
2 - Close the basket
3 - Attempt to receive the item, leaving budget as 'Keep current'
4 - 500 Error:
C4::Acquisition::ModReceiveOrder(): DBI Exception: DBD::mysql::st execute failed: Cannot add or update a child row: a foreign key constraint fails (koha_cclsny.aqorders, CONSTRAINT aqorders_budget_id_fk FOREIGN KEY (budget_id) REFERENCES aqbudgets (budget_id) ON DELETE CASCADE ON UPDATE CASCADE) at /usr/share/koha/intranet/cgi-bin/acqui/finishreceive.pl line 120
5 - Apply patch
6 - Receive order successfully!

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>
15 months agoBug 29021: (QA follow-up) Remove useless warnings
Tomas Cohen Arazi [Mon, 30 Jan 2023 15:01:41 +0000 (12:01 -0300)]
Bug 29021: (QA follow-up) Remove useless warnings

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 29021: (QA follow-up) Fix for new parameter, add unit test
Kyle Hall [Fri, 27 Jan 2023 16:58:45 +0000 (11:58 -0500)]
Bug 29021: (QA follow-up) Fix for new parameter, add unit test

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 29021: RenewAccruingItemWhenPaid renewals are not seen
Martin Renvoize [Wed, 11 May 2022 14:47:58 +0000 (15:47 +0100)]
Bug 29021: RenewAccruingItemWhenPaid renewals are not seen

This patch updates the call to AddRewewal from Koha::Accounts to makr
the renewal as unseen.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 30254: (QA follow-up) Remove warn from tests
Martin Renvoize [Tue, 1 Nov 2022 10:19:45 +0000 (10:19 +0000)]
Bug 30254: (QA follow-up) Remove warn from tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 30254: Don't charge overdue fines unless some fine exists
Nick Clemens [Mon, 31 Oct 2022 18:38:04 +0000 (18:38 +0000)]
Bug 30254: Don't charge overdue fines unless some fine exists

We need to determine if a book was lost by a patron, the clues we have
are previous charges. If we don't find any, we shouldn't charge a new fine

To test:
 1 - set Lost item fee refund on return policy to "Refund lost item charge and charge new overdue fine", turn on FinesMode, make sure your circ rules charge fines
 2 - have an itemtype / patron combo that charges an overdue fine
 3 - check item out (with a due date in the future) and then right back in again
 4 - confirm patron doesn't have a fine because the item was not late
 5 - set the item to Lost
 6 - in the database, edit the date_due of your checkout to a date in the past
 7 - check the item in, it is marked found
 8 - confirm your patron now has a fine
 9 - Apply patch
10 - Repeat with a new item and patron
11 - Confirm no charges

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 30254: Unit tests
Nick Clemens [Mon, 31 Oct 2022 18:37:18 +0000 (18:37 +0000)]
Bug 30254: Unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32583: Restore display of only one item in catalogue/moredetails
Michael Hafen [Fri, 13 Jan 2023 17:49:46 +0000 (10:49 -0700)]
Bug 32583: Restore display of only one item in catalogue/moredetails

Bug 31315 (Remove GetItemsInfo from moredetail) removed the code that limits
the items displayed to only one item if the itemnumber was passed as a
parameter to the page.
This restores that code.

Test plan:

1. find a title with multple items.
2. click on an items barcode in the holdings table on the title details page.
3. observe that all items are shown on the catalogue/moredetails page.
4. apply patch.
5. refresh (catalogue/moredetails) page.
6. observe that only the item for the barcode clicked on is shown.

Signed-off-by: Amaury GAU <amaury.gau@bulac.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32520: Amend DefaultPatronSearchFields system preference description
Katrin Fischer [Wed, 28 Dec 2022 21:26:13 +0000 (21:26 +0000)]
Bug 32520: Amend DefaultPatronSearchFields system preference description

Tries to clarify that the preference is not only used for the search
in the patrons module, but also in circulation.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32520: Use DefaultPatronSearchFields in patron_autocomplete
Martin Renvoize [Fri, 23 Dec 2022 11:32:12 +0000 (11:32 +0000)]
Bug 32520: Use DefaultPatronSearchFields in patron_autocomplete

This patch updates js_includes.inc to set a new global js variable
`defaultPatronSearchFields` with the content of the corresponding system
preference.

We then update the patron_autocomplete function to use this new global
variable and iterate in the same way as
koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc.

NOTE: This changes the behaviour of the autocomplete from always
searching using contains on surname or firstname or starts with on
cardnumber to searching using 'contains' on any of the fields listed in
the DefaultPatronSearchFields system preference of defaulting to
'firstname,middle_name,surname,othernames,cardnumber,userid'.

Test plan
1. Ensure autocomplete still works everywhere
2. Confirm the system preference fields are being used.

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>
15 months agoBug 32251: Add a fallback for when language cookie was removed
Marcel de Rooy [Fri, 18 Nov 2022 07:23:25 +0000 (07:23 +0000)]
Bug 32251: Add a fallback for when language cookie was removed

Since we remove cookies after logout now, the language cookie
might not be there yet. It is friendlier to add the template
language fallback here now too before switching to 'default' in
the Additional contents (AC)-context.

Note: The cookie will not be removed when you added it to the list
in koha-conf.xml.

Note2: This only pertains to the use of opac-page with code param.

Test plan:
[1] Create a CMS page with AC. Add two languages (say en, nl-NL).
    Add different text to default and both languages.
[2] Remove the KohaOPACLanguage cookie from your browser (via
    dev console).
[3] Without this patch, copy the Current language URL from the AC
    overview page. (Note that the Default URL always refers you to
    'default'.)
[4] Go to that page with the selected (Current..) URL. Observe that
    you still see the 'default' text.
[5] Remove the cookie again if it might be there already.
[6] With this patch, observe that you get the language of the
    interface now on the CMS page using the same URL.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Pascal <pascal.uphaus@gwdg.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32631: Error when previewing record during batch record modification
Owen Leonard [Fri, 13 Jan 2023 15:00:25 +0000 (15:00 +0000)]
Bug 32631: Error when previewing record during batch record modification

This patch corrects an error in the script which outputs MARC data for
preview during batch record modification.

To test, apply the patch and restart services. You will need at least
one MARC modification template in your system.

- Go to Cataloging -> Batch record modification
- Submit a batch of bibliographic records
- In the table of records that follows, click any "Show MARC" button. A
  modal window should appear with a preview of the modified record.

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32562: (follow-up) Add markup comments
Owen Leonard [Tue, 3 Jan 2023 20:25:31 +0000 (20:25 +0000)]
Bug 32562: (follow-up) Add markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the page's appearance or
functionality.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32562: Reindent the about page template
Owen Leonard [Tue, 3 Jan 2023 19:49:44 +0000 (19:49 +0000)]
Bug 32562: Reindent the about page template

This patch reindents the about page template so that it has consistent
indentation. These changes should have no visible effect on the page.

To test, apply the patch and view the about page. Everything should look
normal. All tabs should work correctly.

Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 18247: Remove SQL queries from branch_transfer_limit.pl
Alex Buckley [Mon, 8 Aug 2022 23:59:20 +0000 (23:59 +0000)]
Bug 18247: Remove SQL queries from branch_transfer_limit.pl

1. Visit Administration > Patrons and circulation > Limit transfer limits

2. Observe collection codes are displayed as tabs on the Limit transfer
limits page when the BranchTransferLimitsType syspref = 'Collection
code'

3. Switch the BranchTransferLimitsType syspref = 'item type'. Refresh
the Limit transfer limits page and observe the tabs have changed to item
type codes

4. Apply patchset and restart services

5. Reload the Limit transfer limits page and confirm it displays
correctly with the  BranchTransferLimitsType = 'collection code' and
'item type'

6. Confirm you can successfully save transfer policies

Sponsored-by: Catalyst IT
Signed-off-by: Jacob Omara <jacob.omara@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32416: Add a warning to the file
Nick Clemens [Wed, 7 Dec 2022 13:02:33 +0000 (13:02 +0000)]
Bug 32416: Add a warning to the file

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>
15 months agoBug 32416: Update attribute number for arp search to 9015
Nick Clemens [Wed, 7 Dec 2022 12:56:02 +0000 (12:56 +0000)]
Bug 32416: Update attribute number for arp search to 9015

Bug 20078 updated the attribute for arp to 2014 to avoid conflict with 9013 not-on-loan-count

Bug 28830 then added Control-number-identifier as 2014, breaking arp again

This patch updates the number to 9015

To test:
1 - Apply first patch
2 - Attempt searching by arp, no results (add a unique 526$d to a record to ease searching)
3 - Apply this patch
4 - Copy bib1.att and ccl.properties to the correct locations
    cp etc/zebradb/biblios/etc/bib1.att /etc/koha/zebradb/biblios/etc/bib1.att
    cp etc/zebradb/ccl.properties /etc/koha/zebradb/ccl.properties
5 - Restart zebra
6 - Rebuild indexes
7 - Search again, success!

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>
15 months agoBug 32733: (follow-up) Reorganize classification of information
Owen Leonard [Thu, 26 Jan 2023 12:12:34 +0000 (12:12 +0000)]
Bug 32733: (follow-up) Reorganize classification of information

If we're dividing the sections into labeled "Information" and
"Settings," I propose that we try to put under "Information" lines
which are just for display, and under "Settings" lines which allow the
user to change things: Managed by, managing library, basket group, etc.

This patch moves a few lines to accomplish this. The only other change
is to remove a "float:left" inline style from the "Change library" form
to make it display better.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32733: Add page-section cards to basket summary
Martin Renvoize [Thu, 26 Jan 2023 11:38:53 +0000 (11:38 +0000)]
Bug 32733: Add page-section cards to basket summary

This patch adds two new page-section divs to the basket summary page.
One for each column of details in the top area of the summary page.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31932: (follow-up) Markup comments
Owen Leonard [Wed, 25 Jan 2023 16:38:01 +0000 (16:38 +0000)]
Bug 31932: (follow-up) Markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the page's appearance or
functionality.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31932: The basket summary page template needs a cleanup
Owen Leonard [Mon, 23 Jan 2023 17:23:36 +0000 (17:23 +0000)]
Bug 31932: The basket summary page template needs a cleanup

This patch reindents the Acquisitions basket template so that it has
consistent indentation. These changes should have no visible effect on
the page.

To test, apply the patch and go to Acquisitions.

Locate a vendor and add a basket and some orders if necessary.

Test as much of the page's functionality as possible, e.g. toolbar
controls, in-table controls, managed-by and managing library controls,
etc. Try adding an internal note, adding a vendor note, and deleting the
basket.

Everything should look correct and work correctly.

Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32204: Check for hash before setting focus
Lucas Gass [Tue, 10 Jan 2023 18:10:43 +0000 (18:10 +0000)]
Bug 32204: Check for hash before setting focus

1. Search the catalog and view a record detail page of a record with items
2. Click 'Edit items'
3. Choose one item from the list and click 'Edit'
4. The URL fragment or in-page anchor (#edititem) is appended to the end of the URL but you are not placed on it. Instead you are placed at the top of the page and must scroll down to edit the particular item.
5. Apply patch
6. Try steps 1 - 3 again, now you should be placed in the correct location (#edititem) when editing an item.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32718: Capitalization: Display Order
Caroline Cyr La Rose [Tue, 24 Jan 2023 21:55:42 +0000 (16:55 -0500)]
Bug 32718: Capitalization: Display Order

This patch corrects the capitalization of the "Display order" column heading
in the item groups table.

To test:
0. Apply patch
1. Enable the EnableItemGroups system preference
   1.1. Go to Administration > Global system preferences
   1.2. Search for EnableItemGroups
   1.3. Change the value to "Enable"
   1.4. Click "Save all Circulation preferences"
2. Go to any bibliographic record
3. Click the "Item groups" tab at the bottom
   --> First column should be "Display order"

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>
15 months agoBug 32229: Typo: Items missing from bundle at checking for %s
Caroline Cyr La Rose [Wed, 25 Jan 2023 21:19:10 +0000 (16:19 -0500)]
Bug 32229: Typo: Items missing from bundle at checking for %s

This patch corrects a typo in the missing items from bundle pop-up
header.

To test:

I created a MARC21 file of records to use as an example. It assumes
you have the sample branches and itemtypes that come with Koha. You
can use any record you have in your database, you need at least three
records each with at least one item.

0. Apply patch
1. If using the example records, import the records
   1.1. Download the attached earlyliteracy.mrc file
   1.2. Go to Cataloging > Stage records for import
   1.3. Click the button and select the file on your computer
   1.4. Click 'Upload file'
   1.5. Click 'Stage for import'
   1.6. Click 'View detail of the enqueued job'
   1.7. Click 'View batch'
   1.8. Click 'Import this batch into the catalog'
2. If using the example records, bundle the books into the 'My first
books bundle' record
   2.1. Click 'Manage imported batch'
   2.2. Click 'View' next to 'My first books bundle'
   2.3. Click 'Manage bundle' on the right of the item
   2.4. Click 'Add to bundle'
   2.5. Enter the following barcodes, followed by 'Submit' (or press
enter) after each
        -  001229
        -  001230
        -  001231
        -  001232
        -  001233
   2.6. Click 'Close'

Alternate step 2, if using own records: find a record with an item,
change the leader/position 7 to c, click 'Manage bundle', then 'Add
to bundle' and enter a few existing barcodes (at least 2).

3. Check out bundle
   3.1. Go to Patrons
   3.2. Click 'Search' to find a patron
   3.3. Click 'Checkout' next to a patron
   3.4. If using example records, enter the following barcode into the
checkout box and click 'Checkout' (or press enter)
        -  001234
        Alternate step 3.4, if using own records: checkout the 'main'
record in which you bundled all the other records

4. Check in bundle, 'losing' at least one item
   4.1. In the bar at the top of the screen, select 'Check in'
   4.2. If using the example records, enter the following barcode and
click the arrow (or press enter)
        -  001234
        Alternate step 4.2, check in the same barcode you just checked
out
   4.3. In the 'Barcodes' box, enter the following barcodes, pressing
enter between each
        -  001229
        -  001230
        -  001231
        Alternate step 4.3, enter only some of the bundled barcodes
   4.4. Click 'Confirm checkin and mark missing items as lost'
   4.5. Click 'View list of missing items'
        --> Items missing from bundle at checkin for (barcode)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32561: Prevent worker to run with unecessary modules in memory
Jonathan Druart [Wed, 4 Jan 2023 09:08:06 +0000 (10:08 +0100)]
Bug 32561: Prevent worker to run with unecessary modules in memory

Regression of bug 28413, bug 30410 added a "use Koha::Plugins" statement at the top of Koha::BackgroundJob, and so all Koha module are loaded by the worker on startup.

See bug 28413 for more info

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32321: Pre-populate material type for 006 in advanced cataloging editor
Nick Clemens [Tue, 22 Nov 2022 14:05:08 +0000 (14:05 +0000)]
Bug 32321: Pre-populate material type for 006 in advanced cataloging editor

To test"
1 - Edit a record in advanced cataloging editor with field helpers enabled
2 - Choose a material type, not BKS, from dropdown
3 - Set the first position to something
4 - Save the record
5 - 006 shows 'BKS'
6 - Apply patch
7 - Reload
8 - Record should show correct value
9 - Edit 006 and confirm the first position correctly determines material type

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32376: Remove creation of selenium_failure_2.png
Jonathan Druart [Wed, 30 Nov 2022 07:32:20 +0000 (08:32 +0100)]
Bug 32376: Remove creation of selenium_failure_2.png

This was for debugging purpose.

Test plan:
Run the tests and confirm that the screenshot is not generated when the
patch is applied

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>
15 months agoBug 32692: Terminology - use staff interface for MARC framework subfield editor
David Nind [Fri, 20 Jan 2023 18:42:01 +0000 (18:42 +0000)]
Bug 32692: Terminology - use staff interface for MARC framework subfield editor

For the visibility options in the advanced constraints section of the
MARC framework subfield editor, use 'Staff interface' instead
of 'Intranet'.

This makes it consistent with the terminology list (see
https://wiki.koha-community.org/wiki/Terminology#I).

Test plan:
1. Go to Administration > Catalog > MARC bibliographic framework.
2. Select Actions > MARC structure for any framework.
3. For any tag select Actions > Edit subfields.
4. Note that in the advanced constraints section for the visibility
   field that 'Intranet' is used as an option.
5. Apply the patch.
6. Refresh the page and note that 'Staff interface' is now used, which
   is consistent with the terminology list (see
   https://wiki.koha-community.org/wiki/Terminology#I).
7. Sign off D:

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Amaury GAU <amaury.gau@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32393: (QA follow-up) Add explicit undef response in two catch blocks
Marcel de Rooy [Tue, 24 Jan 2023 13:38:41 +0000 (13:38 +0000)]
Bug 32393: (QA follow-up) Add explicit undef response in two catch blocks

Do not implicitly depend on last statement returning nothing.
Make it explicit. We want $args to be null here.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32393: Deal with the DB fallback part
Jonathan Druart [Tue, 24 Jan 2023 08:11:25 +0000 (09:11 +0100)]
Bug 32393: Deal with the DB fallback part

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32393: Split into 2 try catch blocks
Jonathan Druart [Wed, 11 Jan 2023 11:36:42 +0000 (12:36 +0100)]
Bug 32393: Split into 2 try catch blocks

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32393: Prevent invalid job to block the job queue
Jonathan Druart [Fri, 2 Dec 2022 13:23:38 +0000 (14:23 +0100)]
Bug 32393: Prevent invalid job to block the job queue

I have faced a problem when testing an incorrect version of bug 32370.
The frame sent to the message broker was not a correct JSON encoded
string, and its decoding was obviously failing, exploding the worker
script.
Additionally, as we don't send a ack for this frame, the next pull will
result in processing the same message, and so in the same explosion.
No more messages can be processed!

This patch is logging the error and ack the message to the broker, in
order to not get stuck.

Test plan:
0. Dont' apply this patch
1. Enqueue a bad message
  a. Apply 32370
  b. Comment the following line in Koha::BackgroundJob::enqueue
    $self->set_encoded_json_field( { data => $job_args,    field => 'data' } );
  c. restart_all
  d. Use the batch item modification tool to enqueue a new job
=> Notice the error in the log
=> Note that the status of the job is "new"
=> Inspect rabbitmq queue:
% rabbitmq-plugins enable rabbitmq_management
% rabbitmqadmin get queue=koha_kohadev-long_tasks
You will notice there is a message in the "long_tasks" queue
2. Enqueue a good message
  a. Remove the change from 1.b
  b. restart_all
  c. Enqueue another job
=> Same error in the log
=> Both jobs are new
=> Inspect rabbitmq, there are 2 messages
3. Apply this patch
4. restart_all
=> Second (good) job is finished
=> rabbitmq long_tasks queue is empty

We cannot mark the first job as done, we have no idea which job it was!

QA: Note that this patch is dealing with another problem, not tested in
this test plan. If an exception is not correctly caught by the ->process
method of the job, we won't crash the worker. The job will be marked as
failed.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 32573: Send ACK message to RabbitMQ before handling the job
Kyle Hall [Thu, 5 Jan 2023 16:35:42 +0000 (11:35 -0500)]
Bug 32573: Send ACK message to RabbitMQ before handling the job

Splitting off this functionality from bug 32558. This is the comment that started this discussion: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32558#c15

From the O'Reilly book Mobile and Web Messaging:

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31893: Use checkauth and do not fetch about.tt template
Nick Clemens [Fri, 13 Jan 2023 17:29:22 +0000 (17:29 +0000)]
Bug 31893: Use checkauth and do not fetch about.tt template

This patch updates four scripts to use checkauth instead of get_template_and_user

reserve/modrequest.pl
reserve/modrequest_suspendall.pl
course_reserves/mod_course.pl
members/members-update-do.pl

No behvaiour change is expected

To test:
0 - Apply patch
1 - Place some holds for a patron
2 - From patron page, confirm you can suspend all
3 - confirm you can delete marked holds
4 - Edit a course in course-reserves
5 - Make a chaneg to personal details via OPAC
6 - Confirm change can be approved on staff side

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32221: Borrowers.password should no longer be an option
Matt Blenkinsop [Mon, 28 Nov 2022 14:35:37 +0000 (14:35 +0000)]
Bug 32221: Borrowers.password should no longer be an option

When creating a notice template the user has the option to add the borrower's
password to the template. This should be removed as the password should not be
an option to be added to a notice.

Test plan:
1) Navigate to Tools > Notices and slips
2) Either create a new notice or edit an existing notice
3) Observe that in the list of fields available to insert into the message body,
   there is the option for "borrowers.password"
4) Apply patch
5) Navigate to the same menu
6) Observe that the "borrowers.password" option is now no longer visible

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32656: Script delete_records_via_leader.pl no longer deletes items
Kyle Hall [Tue, 17 Jan 2023 17:18:00 +0000 (12:18 -0500)]
Bug 32656: Script delete_records_via_leader.pl no longer deletes items

Bug 29788 inadvertantly replaced a call to safe_delete() with safe_to_delete()
such that any time the script should delete an item it only checks to see if
the item is delectable, after which deletion of the record fails because the
items were not deleted.

Test Plan:
1) Mark a record with items to be deleted via the record leader
2) Run delete_records_via_leader.pl -i -b -v
3) Note the script says it is deleting the items but then the record
   deletion fails. Note the items remain in the items table of the
   database.
4) Apply this patch
5) Repeat step 2
6) This time the items and record should be deleted!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32650: Prevent Koha/Holds.t to fail randomly
Jonathan Druart [Wed, 18 Jan 2023 14:45:34 +0000 (15:45 +0100)]
Bug 32650: Prevent Koha/Holds.t to fail randomly

22:25:51 koha_1       |     #   Failed test 'Items 1, 2, and 5 are available for filling the holds'
22:25:51 koha_1       |     #   at t/db_dependent/Koha/Holds.t line 531.
22:25:51 koha_1       |     #     Structures begin differing at:
22:25:51 koha_1       |     #          $got->[0] = '1000'
22:25:51 koha_1       |     #     $expected->[0] = '996'
22:25:51 koha_1       |     # Looks like you failed 1 test of 6.
22:25:51 koha_1       |
22:25:51 koha_1       | #   Failed test 'get_items_that_can_fill'
22:25:51 koha_1       | #   at t/db_dependent/Koha/Holds.t line 539.

We need to use a numeric sort, or 1000 is before 996...

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 28670: Prevent api/v1/patrons_holds.t to fail randomly
Jonathan Druart [Wed, 18 Jan 2023 14:55:26 +0000 (15:55 +0100)]
Bug 28670: Prevent api/v1/patrons_holds.t to fail randomly

12:01:12 koha_1       |     #   Failed test 'Holds retrieved'
12:01:12 koha_1       |     #   at t/db_dependent/api/v1/patrons_holds.t line 56.
12:01:12 koha_1       |     #     Structures begin differing at:
12:01:12 koha_1       |     #          $got->[0]{hold_id} = '256'
12:01:12 koha_1       |     #     $expected->[0]{hold_id} = '255'
12:01:12 koha_1       |     # Looks like you failed 1 test of 9.
12:01:12 koha_1       |
12:01:12 koha_1       | #   Failed test 'list() tests'
12:01:12 koha_1       | #   at t/db_dependent/api/v1/patrons_holds.t line 70.

This is a weird one, and the only solution I see it to force the order
we want to receive the holds.

I guess we should not rely on an order if no order by clause is passed

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32550: (bug 28445 follow-up) Fix 'Clear on loan' link on item batch mod
Jonathan Druart [Tue, 3 Jan 2023 12:59:07 +0000 (13:59 +0100)]
Bug 32550: (bug 28445 follow-up) Fix 'Clear on loan' link on item batch mod

The 'Clear on loan' link displayed at the top of the batch item
modification tool has been broken by bug 28445.

data-is-onloan attribute is supposed to be 1 or 0, but we passed the
checkout (Koha::Checkout=HASH)

Test plan:
1. Enter a checked-out barcode in the 'Batch item modification' page
2. Click 'Continue'
3. Notice a table is loaded displaying the on-loan item with a ticked checkbox 4. Click the 'Clear on loan' link above the table
5. Notice the on-loan item is no longer selected

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32054: Add get_import_record_matches object method and use it
Nick Clemens [Mon, 31 Oct 2022 17:56:23 +0000 (17:56 +0000)]
Bug 32054: Add get_import_record_matches object method and use it

Thispatch adds the new method and alters addorderiso2907.pl to use this
rather than GetRecordImportMatches

To test:
 1 - Import the attached record several times
 2 - Set up a matching rule:
    TitleAuthor threshold: 100
    Matchpoint:
    search index: title, score: 100, tag: 245$a
    search index: author, score: 100, tag:100$a
 3 - Edit one of the imported records to have a different author
 4 - Stage the file again. and match using the matchpoint above
 5 - Note that matches are found and listed on batch management, with the lowest scored match last
 6 - Choose that match
 7 - In acquisitions, add to a basket from the staged file
 8 - Check the box for the record
 9 - Note the match lists the biblionumber for the highest scoring match, not the chosen one
10 - Add an order and note it is for the wrong biblio
11 - Appy patch
12 - Restart_all
13 - Stage the file again and choose a lower scoring match
14 - Confirm when adding to basket this match is preserved
15 - Complete order and verify correct biblio ordered
16 - Stage again, select no match
17 - Confirm no match listed when adding to basket, and choose 'Do not look for matching records' while adding
18 - Confirm order is created on a new biblio

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32517: lowercase category codes to avoid mismatch
Nick Clemens [Thu, 22 Dec 2022 15:18:20 +0000 (15:18 +0000)]
Bug 32517: lowercase category codes to avoid mismatch

To test:
1 - sudo koha-mysql kohadev
2 - UPDATE borrowers SET categorycode = LCASE(categorycode)
3 - Try to search for patrons:
    Uncaught TypeError: categories_map[data] is undefined
4 - Apply patch
5 - Search for patrons
6 - Success!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32272: Restore last and previous borrowers on moredetail
Jonathan Druart [Mon, 21 Nov 2022 09:20:22 +0000 (10:20 +0100)]
Bug 32272: Restore last and previous borrowers on moredetail

GetItemsInfo added a card0, card1 and card2 info with the cardnumbers of
the last 3 borrowers.
But 31315 forgot to adjust the code when it has been moved to using
Koha::Items

Test plan:
Check an item in and out to several patrons
Go to the moredetail page (items) and confirm that the "last borrowers"
info is displayed

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32505: Restore patron search by formatted dob
Jonathan Druart [Mon, 2 Jan 2023 16:12:40 +0000 (17:12 +0100)]
Bug 32505: Restore patron search by formatted dob

Prior to the rewrite of the patron searches (bug 30063 and friends) it
was possible to search for a patron using their date of birth, formatted
following the dateformat syspref.

Now it only works if the date is iso formatted.

This patch is providing a fix to restore the behaviour, but does not
make it consistent. Only searching patrons by date of birth is fixed
here, when we actually want to fix the problem for the REST API DT
wrapper instead.

Test plan:
Search for patrons given their date of birth. You need to select "date
of birth" in the "Search field" dropdown, or set it in
DefaultPatronSearchFields.

Note that the column filtering is still not working, but I guess it was
the case already in older versions. Ideally we will need to have a
"datatype" attribute passed to the the 'th' and retrieved from
datatables.js to add this same trick and build the query appropriately.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32535: Exclude flags from BorrowerUnwantedField system preference
Katrin Fischer [Wed, 28 Dec 2022 20:36:33 +0000 (20:36 +0000)]
Bug 32535: Exclude flags from BorrowerUnwantedField system preference

The system preference BorrowerUnwantedField includes a checkbox
for "System permissions (flags)." Checking it has no apparent effect;
one is still able to edit patron permissions with the box checked.
This patch excludes the field from the selectable fields.

To test:
* Search for the BorrowerUnwantedField system prefernce
* Verify that you can check/uncheck System permissions (flags)
* Verify it doesn't have any effect, as permissions are not set
  from the patron edit form, but separately
* Apply patch
* Verify you no longer can check/uncheck the field in the
  system preference

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 31492: Set CSRF token in circulation.pl
Lucas Gass [Fri, 13 Jan 2023 19:01:55 +0000 (19:01 +0000)]
Bug 31492: Set CSRF token in circulation.pl

To test:
* Turn on patronimages system preferences
* Go to any patron account
* Hover over the 'dummy image' for the Add button
* Browse and select an image for upload
* Saving results in the following error:

The form submission failed (Wrong CSRF token). Try to come back, refresh the page, then try again.

Apply patch and try again. You shouldn't need to try twice, it should work on the first attempt now.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32597: Fix table display of OPAC article requests
Lucas Gass [Mon, 9 Jan 2023 18:12:33 +0000 (18:12 +0000)]
Bug 32597: Fix table display of OPAC article requests

To test:
1. Enable ArticleRequests
2. Make some requests (two or more) on the OPAC and go to the user
   summary.
3. The table rows display horizontally.
4. Apply patch
5. Try step 2 again, the table should display correctly.

Note: I made some whitespace changes to make the markup look correct.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 22042: Block all return actions when BlockReturnOfWithdrawn items is set to block
Nick Clemens [Fri, 8 Apr 2022 18:52:09 +0000 (18:52 +0000)]
Bug 22042: Block all return actions when BlockReturnOfWithdrawn items is set to block

Currently this syspref only bokcs the literal 'return' from a patron, i.e. the checkin

It still processes transfers, refunds lost items, updates NotForLoan status etc.

We should block all of these things

To test:
1 - Set BlockReturnOfWithdrawn to block
2 - Set an item as lost and withdrawn
3 - Check it in
4 - Item is found
5 - Apply patch
6 - Repeat 1-3
7 - Checkin is blocked, item still lost

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 32465: Add 'queue' to koha-worker help documentation
Nick Clemens [Wed, 14 Dec 2022 15:44:28 +0000 (15:44 +0000)]
Bug 32465: Add 'queue' to koha-worker help documentation

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 14784: (follow-up) Unit tests
Shi Yao Wang [Thu, 14 Jul 2022 14:41:27 +0000 (10:41 -0400)]
Bug 14784: (follow-up) Unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
16 months agoBug 14784: Fix checkin message for restricted patrons
Shi Yao Wang [Mon, 13 Jun 2022 18:05:53 +0000 (14:05 -0400)]
Bug 14784: Fix checkin message for restricted patrons

Test plan:
Before

1) Select a user with active indefinite or definite restrictions (manual restriction works)
2) Make sure finedays=0 for the user category. See [1]
3) Checkout and return an item (not overdue)
   A previous restriction reminder will appear
4) Checkout and return an overdue item (change the date at checkout)
   No previous restriction reminder will appear

After applying patch:
Same steps, but a reminder should appear for step 4)

[1] The "finedays" setting is called "Suspension in days" in the web interface, if you're searching for it like I did...

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>