koha.git
7 months agoBug 34375: Fix the option to provide no fund in budget dropdown
Matt Blenkinsop [Mon, 6 Nov 2023 10:40:33 +0000 (10:40 +0000)]
Bug 34375: Fix the option to provide no fund in budget dropdown

Currently it is not possible to use the No fund option as the dropwdown will default to the first budget in the list. This patch re-adds this option so that the defaulting behaviour is fixed

Test plan:
1) Go to a vendor record in Acquisitions and then Receive Shipment
2) Enter an invoice number
3) Leave the Shipping cost empty and Shipping Fund as 'No fund'
4) Receive some orders or go straight to Finish receiving
5) Notice the Shipping fund has defaulted to the first fund in the alphabetical list of funds.  It is not possible to select 'No fund' and the selected fund is recorded in shipmentcost_budgetid incorrectly.
6) Apply patch
7) Repeat steps 1-5 and this time the No fund option should be used correctly

Signed-off-by: Georgia Newman <g.newman@arts.ac.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35269: Improve POD
Tomas Cohen Arazi [Mon, 6 Nov 2023 15:01:09 +0000 (12:01 -0300)]
Bug 35269: Improve POD

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
7 months agoBug 35269: Rename `update_item_location` to `location_update_trigger`
Tomas Cohen Arazi [Mon, 6 Nov 2023 14:53:53 +0000 (11:53 -0300)]
Bug 35269: Rename `update_item_location` to `location_update_trigger`

This patch renames all occurences of the method.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
7 months agoBug 35218: (QA follow-up) Perltidy and file permissions
Katrin Fischer [Mon, 6 Nov 2023 19:30:42 +0000 (19:30 +0000)]
Bug 35218: (QA follow-up) Perltidy and file permissions

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35218: Add unit tests for the counter registry API
Matt Blenkinsop [Mon, 6 Nov 2023 14:14:45 +0000 (14:14 +0000)]
Bug 35218: Add unit tests for the counter registry API

This patch adds two unit tests to cover the integration with the Counter Registry API in the Usage Statistics module. This is to prevent regressions caused either by changes to the Koha endpoint, or by changes to the Counter Registry API that might require changes in Koha to handle.

Test plan:
1) prove t/db_dependent/api/v1/erm_counter_registries.t
2) prove t/db_dependent/api/v1/erm_sushi_services.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>
7 months agoBug 35263: (QA follow-up) Update code
Pedro Amorim [Tue, 7 Nov 2023 10:25:18 +0000 (10:25 +0000)]
Bug 35263: (QA follow-up) Update code

Thank you Jonathan. I first tried with '||' but it would fallback to 1
for either undef or 0 (we want the first case, but not the second).
But using '//' instead, it only falls back to 1 if undef, and not when 0.
Today I learned between '||' and '//'! Thanks!

From perldoc.perl.org (relating to '//'):
'In fact, it's exactly the same as ||, except that it tests the left hand
side's definedness instead of its truth.'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35263: Default 'can_place_ill_in_opac' to 1
Pedro Amorim [Mon, 6 Nov 2023 09:39:52 +0000 (09:39 +0000)]
Bug 35263: Default 'can_place_ill_in_opac' to 1

If ILLModule sys pref is 'off', this input param is undef. The database does not allow it to be nullable causing an error.
Check if its defined (i.e. the option was submitted) and use that, if not default to 1

Test plan, k-t-d:
1) Edit an existing patron category, visit:
/cgi-bin/koha/admin/categories.pl?op=add_form&categorycode=B
2) Click 'Save' at the bottom of the form
3) Notice a yellow box is shown with an error message
4) Apply patch. Repeat steps 1-3. Notice it now updates successfully.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35263: Add selenium tests
Pedro Amorim [Mon, 6 Nov 2023 10:13:48 +0000 (10:13 +0000)]
Bug 35263: Add selenium tests

Test plan, on k-t-d selenium (ktd --selenium up):
1) Apply just this tests patch
2) Run: prove t/db_dependent/selenium/administration_tasks.t
3) Notice it fails. Apply the other patch. Restart plack
4) Repeat step 2. Notice it passes.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35258: Remove uneeded comment and fix po:update
Jonathan Druart [Tue, 7 Nov 2023 21:16:31 +0000 (22:16 +0100)]
Bug 35258: Remove uneeded comment and fix po:update

This comment was breaking gulp po:update on D11
koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue:82: warning: unterminated string
Aborted (core dumped)

    at ChildProcess.exithandler (node:child_process:419:12)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess.emit (node:domain:552:15)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:514:28)
    at Socket.emit (node:domain:552:15)
    at Pipe.<anonymous> (node:net:323:12)
    at Pipe.callbackTrampoline (node:internal/async_hooks:130:17)
[19:23:07] 'po:update' errored after 1.14 s

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34275: Add toggle switch for basic/advanced cataloging editors
Lucas Gass [Thu, 13 Jul 2023 17:51:13 +0000 (17:51 +0000)]
Bug 34275: Add toggle switch for basic/advanced cataloging editors

To test:
1. Apply patch and regenerate CSS. (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface)
2. Turn on EnableAdvancedCatalogingEditor.
3. Go to cataloging > 'New record'
4. In the upper left notice a new toggle switch labeled 'Editor:'.
5. Try toggling the switch back and forth to move between editors. Verify it works correecly.
6. Try editing an existing record and make sure the toggle works well when editing records.
7. Try the other method of switch editors, Settings > Switch to basic/advanced editor. Make sure it works the same as always
8. Turn off EnableAdvancedCatalogingEditor, make sure the toggle button is no longer present.

Signed-off-by: Eesther <esther@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: DBRev 23.06.00.063
Tomas Cohen Arazi [Mon, 6 Nov 2023 14:34:32 +0000 (11:34 -0300)]
Bug 21159: DBRev 23.06.00.063

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: Add Koha::Item->update_item_location tests
Tomas Cohen Arazi [Mon, 6 Nov 2023 14:00:04 +0000 (11:00 -0300)]
Bug 21159: Add Koha::Item->update_item_location tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: Remove redundant mock
Tomas Cohen Arazi [Mon, 6 Nov 2023 12:59:27 +0000 (09:59 -0300)]
Bug 21159: Remove redundant mock

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: (QA follow-up) Add say to database update, perltidy, fix tests
Katrin Fischer [Wed, 1 Nov 2023 11:10:24 +0000 (11:10 +0000)]
Bug 21159: (QA follow-up) Add say to database update, perltidy, fix tests

* Perltidies to pass the QA script
* Adds missing say statement to the database update
* Makes sure the tests pass on a database, where UpdateItemLocaton*
  system preferences are not empty

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 21159: Update item location on checkout
Alex Buckley [Wed, 10 Aug 2022 00:54:20 +0000 (00:54 +0000)]
Bug 21159: Update item location on checkout

This patchset shifts the logic for changing the item location on checkin
(controlled by the UpdateItemLocationOnCheckin system preference) to a
new subroutine in Koha/Items.pm

That subroutine logic is shared with the UpdateItemLocationOnCheckout
system preference.

Test plan:
1. Apply patches, update databases and restart services

2. Set the following system preferences:
- UpdateItemLocationOnCheckin:
FIC: PROC

- UpdateItemLocationOnCheckout:
PROC: FIC

3. Checkout an an item with items.location = 'PROC'. Observe it's
location is changed to 'FIC'

4. Return the item. Observe it's location is changed to 'PROC'

5. Change UpdateItemLocationOnCheckout to:
PROC: _BLANK_

6. Issue the item with items.location = 'PROC' and confirm it's location
is blanked on checkout

7. Issue and return an item with a different location e.g. 'REF' (don't
use 'CART' as this is blanked by bug 14576 on checkout).
Observe the location does not change on issue or return.

8. Run unit tests
sudo koha-shell kohadev
prove t/db_dependent/Circulation/issue.t

Sponsored-by: Toi Ohomai Institute of Technology, New Zealand
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>
7 months agoBug 21159: Template and yaml changes
Alex Buckley [Wed, 10 Aug 2022 20:57:10 +0000 (20:57 +0000)]
Bug 21159: Template and yaml changes

Sponsored-By: Toi Ohomai Institute of Technology, New Zealand
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>
7 months agoBug 21159: Database changes
Alex Buckley [Tue, 9 Aug 2022 15:38:37 +0000 (15:38 +0000)]
Bug 21159: Database changes

Sponsored-by: Toi Ohomai Institute of Technology, New Zealand
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>
7 months agoBug 34529: (QA follow-up) Tidy OfflineCirculation.t
Kyle M Hall [Fri, 3 Nov 2023 10:48:39 +0000 (10:48 +0000)]
Bug 34529: (QA follow-up) Tidy OfflineCirculation.t

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34529: (QA follow-up) Add unit tests
Kyle M Hall [Fri, 3 Nov 2023 10:46:58 +0000 (06:46 -0400)]
Bug 34529: (QA follow-up) Add unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34529: (QA follow-up) Update column heading to "Card number or username"
Katrin Fischer [Tue, 31 Oct 2023 15:45:58 +0000 (15:45 +0000)]
Bug 34529: (QA follow-up) Update column heading to "Card number or username"

Updates the column heading on the table of uploaded transactions
to read "Card number or username".

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34529: Offline circulation should be able to accept userid as well as cardnumber
Kyle M Hall [Mon, 14 Aug 2023 14:55:09 +0000 (10:55 -0400)]
Bug 34529: Offline circulation should be able to accept userid as well as cardnumber

Like everywhere else in Koha, offline circulation should be able to use userid as well as cardnumber to look up the patron for a transaction ( checkouts and fine payments ).

Test Plan:
1) Apply this patch
2) Restart all the things!
3) Download the test.koc file attached to this bug
4) Verify you have an item with the barcode 39999000001396
   create it if needed
5) Set a patron's username to "hacevedo"
6) Upload and import the test.koc file into offline circ
7) Verify the item was checked out and the payment was made

Signed-off-by: Philip Orr <philip.orr@lmscloud.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35188: Show checkout override for all noisseus statuses
Nick Clemens [Mon, 30 Oct 2023 12:47:31 +0000 (12:47 +0000)]
Bug 35188: Show checkout override for all noisseus statuses

This patch moves the override button up one level into the list of noissues in order to allow
overriding any blocking status

To test:
1 - Log in to Koha with a user with force_checkout permission (superlibrarian ok too)
2 - Mark a patron as expired, lost card, gone no address
3 - Go to 'Check out' page for the patorn
4 - Note you cannot override the restrictions
5 - Add a manual restriction/debarment
6 - Go to checkout again, now you can override
7 - Remove the debarment
8 - Add manually ot URL of checkout page '&foreallow=1'
9 - Note you can now override the other restrictions
10 - Apply patch
11 - Reload patron
12 - Note you now see the override button on the check out screen
13 - Add a debarment
14 - Confirm the button is still there
15 - Confirm overriding allows the checkout (with or without a debarment)

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35241: Fix markup errors in point of sale template
Owen Leonard [Thu, 2 Nov 2023 18:36:06 +0000 (18:36 +0000)]
Bug 35241: Fix markup errors in point of sale template

This patch makes several markup corrections to the Point of Sale page,
fixing duplicate ids, invalid "selected" attributes*, a broken comment
tag, and an invalid "href" attribute.

* The "selected" attribute in this template is on a disabled <option>,
  so it can't be selected.

The patch also changes <div class="action"> to <fieldset class="action">
for consistency and better layout.

It makes some changes to the "Payment received" dialog in order to
improve visual consistency.

To test, apply the patch and make sure the EnablePointOfSale preference
is turned on.

- Go to Point of Sale.
- Test the process of adding items for purchase and collecting payment.
- After you submit the payment the confirmation dialog should look
  correct, and the "Print" and "Email" buttons should both work
  correctly.

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>
7 months agoBug 34866: Use template wrapper for breadcrumbs: OPAC part 4
Owen Leonard [Thu, 21 Sep 2023 15:17:34 +0000 (15:17 +0000)]
Bug 34866: Use template wrapper for breadcrumbs: OPAC part 4

This patch updates several OPAC templates so that they
use a new WRAPPER for displaying breadcrumbs.

Apply the patch and log in to the OPAC. Test each of the following pages
and their variations. Breadcrumbs should look correct, and each link
should be correct:

- Recent comments
- Most popular
- Enable "PatronSelfRegistration" and set "PatronSelfRegistrationVerifyByEmail"
  to "Don't require."
  - In the OPAC, go to "Register here." Fill out the form and submit
    your registration.
  - Check the "Registration complete" page.
- Set "PatronSelfRegistrationVerifyByEmail" to "Require"
  - Submit another registration and check the "Confirm your
    registration" page.
- Visit the registration page passing an invalid token:
  /cgi-bin/koha/opac-registration-verify.pl?token=foo
  Check the "Registration invalid" page.
- Enable the "ArticleRequests" system preference and log in to the
  OPAC.
  - Perform a search which will return results.
    - Check the search results page
    - View the detail page for one of the results.
     - Click "Request article."
    - Return to the detail page and click "Place hold."
      - Complete each step of the hold process.
- Enable the "OpacAllowSharingPrivateLists" system preference.
  - Create a private list if necessary.
  - Click the "Share" link
- Locate a serial record and view the detail page.
  - Click the "More details" link under the "Subscriptions" plan
- Enable the system preference "suggestion."
  - From the logged-in user summary page click "Purchase suggestions"
    - Click the "New purchase suggestion" link
- Enable the "AnonSuggestions" and "OPACViewOthersSuggestions" system
  preferences and log out of the OPAC.
  - View the purchase suggestions page.
- Enable the "OpacCloud" system preference and go to the "Subject cloud"
  page. (the feature doesn't need to be configured to test).
- Populate the "RestrictedPageTitle" and "RestrictedPageContent" system
  preferences and navigate directly to /cgi-bin/koha/opac-restrictedpage.pl
  - Remove the contents of "RestrictedPageTitle" and check the page
    again.
- This patch also updates svc/suggestion.tt but I don't know how to test
  it!

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>
7 months agoBug 35187: (follow-up) Use <br> consistently over <br />
Martin Renvoize [Mon, 6 Nov 2023 11:42:02 +0000 (11:42 +0000)]
Bug 35187: (follow-up) Use <br> consistently over <br />

The first patch highlighted a minor inconsistency to me and this patch
just brings us closer to html5 consistency throughout the notices by
replacing any existing occurences of `<br />` and `<br/>` with the
recommended `<br>`.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35187: Make sure HTML notices use explicit line breaks
Katrin Fischer [Sun, 29 Oct 2023 16:10:25 +0000 (16:10 +0000)]
Bug 35187: Make sure HTML notices use explicit line breaks

When a notices is marked as HTML, we need to use block elements
(p, div, li, etc.) or explicit line breaks.
This adds the line breaks where required.

Affects:

* ISSUEQSLIP
* ISSUESLIP
* TRANSFERSLIP
* CHECKINSLIP
* HOLD_SLIP
* WELCOME

The biggest change is the WELCOME notices. With this patch
it appears no longer on only one line, but properly formatted.

To test:

WELCOME
* Without patch
* Make sure your Koha can send email (set up SMTP server, KohaAdminLibraryAddress)
* Make sure your patron has an email set
* In patron account, use "More > Welcome email"
* Verify all text is on one line
* Apply patch
* reset_all to install new sample notice templates
* Repeat test, verify welcome notice is now nice

ISSUESLIP, ISSUEQSLIP
* Checkout at least 2 items
* Print > Print slip
* Print > Print quick slip
* Verify both look nice!

CHECKINSLIP
* Return both items
* Print checkin slip (button in list of checkouts)
* Verfiy... you know, that it looks nice!

TRANSFERSLIP
* Checkin an item from another library
* "Print transfer slip"
* Verify again.

HOLD_SLIP
* Place a hold on a record
* Return an item that can fill the hold
* "Print slip and confirm"
* Verify.
* Note: if you compare to before, this also removes a <> appearing instead
  of the city.

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>
7 months agoBug 27992: (QA follow-up) Terminology: returned -> checked in
Katrin Fischer [Sun, 5 Nov 2023 12:39:13 +0000 (12:39 +0000)]
Bug 27992: (QA follow-up) Terminology: returned -> checked in

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 27992: (QA follow-up) Perltidy
Katrin Fischer [Sun, 5 Nov 2023 12:07:25 +0000 (12:07 +0000)]
Bug 27992: (QA follow-up) Perltidy

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 27992: Unit test
Lucas Gass [Mon, 30 Oct 2023 16:45:54 +0000 (16:45 +0000)]
Bug 27992: Unit test

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 27992: Call AddReturn on stats patron
Lucas Gass [Fri, 27 Oct 2023 23:36:05 +0000 (23:36 +0000)]
Bug 27992: Call AddReturn on stats patron

To test:
1. Create a Statistical Patron
2. Check out an item to the Stat Patron, that is checked out to another user
3. See that the local use is recorded, but the item does not get checked in
4. Check out an item that has a lost status and note that the local use is recorded, and the lost status is cleared.
5. Item is NOT checked in
6. Apply patch
7. Repeat steps 2 - 4. Item is checked in.
8. Set BlockReturnOfLostItems to Block.
9. Have a checkout to another patron then mark it as lost.
10. Check it out to the Statistical Patron. You should see the message "Item was lost, cannot be returned."
12. Conform the item remains on the patron's account.
13. Turn off BlockReturnOfLostItems, check out the same item to the Statistical Patron. You should see a message "Item was lost, now found."
14. Conform the item was actually checked in.

15. Set BlockReturnOfWithdrawnItems to Block.
16. Have a checkout to another patron then mark it as withdrawn.
17. Check it out to the Statistical Patron. You should see the message "Item was withdrawn, cannot be returned."
18. Conform the item remains on the patron's account.
19. Turn off BlockReturnOfWithdrawnItems, check out the same item to the Statistical Patron. You should see a message "Item was withdrawn."
20. Conform the item was actually checked in.

21. Have an item on a regular patron account that has a hold on it.
22. Check it out to the Statistical Patron
23. See the message "Item on hold, please checkin."

24. Have an item on a regular patron account that has a claim return on it.
25. Checkit it out to the Statistical Patron.
26. See the message "Item claimed returned, please checkin."

27. Have an item on a regular patron account that has been recalled.
28. Checkit it out to the Statistical Patron.
29. See the message "Item can fill a recall, please checkin."

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35245: Set default width for select2 in authorities
Pedro Amorim [Fri, 3 Nov 2023 10:17:23 +0000 (10:17 +0000)]
Bug 35245: Set default width for select2 in authorities

Test plan:
1) Edit a authority Marc framework, e.g. 'CHRON_TERM', visit:
   /cgi-bin/koha/admin/auth_tag_structure.pl?authtypecode=CHRON_TERM
2) Pick any field to turn into a AV field, e.g. 371, and edit its subfields:
   /cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=371&authtypecode=CHRON_TERM
3) Pick a subfield e.g. 'd' and click edit, visit:
   /cgi-bin/koha/admin/auth_subfields_structure.pl?op=add_form&tagfield=371&tagsubfield=d&authtypecode=CHRON_TERM#subdfield
4) Pick a Authorized value list e.g. DEPARTMENT, click Submit
5) Create a new authority of the same type 'CHRON_TERM', visit:
   /cgi-bin/koha/authorities/authorities.pl?authtypecode=CHRON_TERM
6) Click on Tab '3' and click on field 371 ADDRESS to expand it
7) Notice field 'd' select2 width is very narrow
8) Apply patch. Repeat. Notice its not narrow anymore

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>
7 months agoBug 35264: Add "protected" column to patron import
David Cook [Mon, 6 Nov 2023 05:31:29 +0000 (05:31 +0000)]
Bug 35264: Add "protected" column to patron import

This change adds the "protected" column to patron import.

Test plan:
0. Apply the patch and run "restart_all"
1. prove -v t/db_dependent/Koha/Patrons/Import.t
2. Go to http://localhost:8081/cgi-bin/koha/tools/import_borrowers.pl
3. Note "protected" is listed in the "fields you want to supply"
on the right side of the screen
4. Note "protected" appears in file downloaded by clicking
"Download a Starter CSV file with all the columns"
5. Note that "Protected" appears after clicking "Enter default values"
and after clicking "Preserve existing values"

6. For bonus marks, use the "Starter CSV file" to import a test patron
(remember surname, branchcode, and categorycode are the required fields)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34993: (QA follow-up) Perltidy
Katrin Fischer [Sun, 5 Nov 2023 11:50:17 +0000 (11:50 +0000)]
Bug 34993: (QA follow-up) Perltidy

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34993: Pass context parameters to generate_subfield_form
Emily Lamancusa [Thu, 2 Nov 2023 16:56:35 +0000 (12:56 -0400)]
Bug 34993: Pass context parameters to generate_subfield_form

Pass necessary parameters from the UI to ensure that the basic
MARC editor can correctly identify when a framework is changed,
a bib is being duplicated, or a bib is being imported with Z39.50 -
for purposes of filling in default values according to the settings
of ApplyFrameworkDefaults.

To test:
1. Set the system preference ApplyFrameworkDefaults - Select All
2. Create or edit a MARC bibliographic framework with a default value in
   one of the fields (such as 500$a)
3. Go to the Cataloguing module and create a new record using the
   framework from step 2
   --> Confirm that the default value is filled in
4. Search for an existing bib record
5. Click Edit > Edit record to open the basic editor
6. If the field from step 2 already has data, clear it
7. Switch the framework to the framework from step 2
   --> Confirm that the default value is filled in
8. Clear the field again, and save the edit
9. Click Edit > Edit as new (duplicate)
   --> Confirm that the default value is filled in
10. Go to the cataloguing module and do a Z39.50 search
11. Find a record that does not have a value for the subfield from step 2
12. Import the record using the framework from step 2
    --> Confirm that the default value is filled in

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>
7 months agoBug 35215: Add few assumptions in Suggestions.t around emailing
Marcel de Rooy [Wed, 1 Nov 2023 14:50:47 +0000 (14:50 +0000)]
Bug 35215: Add few assumptions in Suggestions.t around emailing

Test plan:
Without this patch, set pref ReplytoDefault or EmailAddressForSuggestions.
Run t/db_dependent/Suggestions.t (FAIL)
Fill branch email and reply for CPL branch.
Run t/db_dependent/Suggestions.t (FAIL: more errors)
Apply patch.
Run t/db_dependent/Suggestions.t (PASS)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35212: Correct mismatched label on identity provider entry form
Owen Leonard [Wed, 1 Nov 2023 10:21:41 +0000 (10:21 +0000)]
Bug 35212: Correct mismatched label on identity provider entry form

This patch corrects the identity provider form so that the label for the
"Allow staff" field has the correct "for" attribute. Currently it is a
duplicate of the one for the "Allow OPAC" field.

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

- Click "New identity provider"
- Near the bottom of the form, look for the "Allow staff" field.
- Clicking the "Allow staff" label should activate the corresponding
  dropdown.

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>
7 months agoBug 35205: Fix duplicate id attribute in desks search form
Owen Leonard [Tue, 31 Oct 2023 16:58:48 +0000 (16:58 +0000)]
Bug 35205: Fix duplicate id attribute in desks search form

This patch updates the header search form for desks administration so
that it doesn't contain an HTML id attribute which duplicates one on the
desks entry form.

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

- Go to Administration -> Circulation desks -> New desk.
- Click the "Desk" label in the entry form. Cursor focus should move to
  the adjacent input field.
- Click the "Search desks" label in the header search form to confirm
  that your cursor moves to the header search form.

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>
7 months agoBug 35181: Don't pass undef to header
Nick Clemens [Thu, 2 Nov 2023 10:56:30 +0000 (10:56 +0000)]
Bug 35181: Don't pass undef to header

It seems passing an undef value causes the headers to be malformed.

To test:
1 - Visit http://localhost:8081/cgi-bin/koha/svc/bib/303
2 - Note 'Invalid-metadata' at top of page, as well as other headers
3 - Apply patch, restart all
4 - Visit http://localhost:8081/cgi-bin/koha/svc/bib/303
5 - Page should now appear as xml
6 - Edit record 303, or any record with valid metadata in the advanced cataloging editor
7 - Confirm there is no error or alert
8 - Edit record 369 in the advanced cataloging editor
9 - Confirm there is an alert

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33928: Improve translation of title tags: Various
Owen Leonard [Fri, 6 Oct 2023 17:16:20 +0000 (17:16 +0000)]
Bug 33928: Improve translation of title tags: Various

This patch updates various templates so that title tags can be more
easily translated. Some templates have been updated for consistency as
well: Harmonizing page title, breaddrumb navigation, and page headers.

To test, apply the patch and confirm that the following pages have the
correct title tags:

- Staff interface -> Log in
  - Staff interface home page
  - Error page (e.g. for a missing page 404 error)
  - About page

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>
7 months agoBug 34773: (follow-up) Missed templates
Owen Leonard [Fri, 15 Sep 2023 13:39:15 +0000 (13:39 +0000)]
Bug 34773: (follow-up) Missed templates

This patch fixes three templates I missed the first time around:
Inventory, MARC diff view, and Upload local cover images.

- Cataloging -> Inventory and the results page after submitting a
  batch of barcodes.
- Cataloging -> Manage staged records -> Select a batch which includes
  record matches: Click the "View" link in the "Diff" column for a
  record which has a match.
- Cataloging -> Upload local cover image (with LocalCoverImages enabled)

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>
7 months agoBug 34773: Improve translation of title tags: Cataloging tools
Owen Leonard [Tue, 12 Sep 2023 18:02:43 +0000 (18:02 +0000)]
Bug 34773: Improve translation of title tags: Cataloging tools

This patch modifies cataloging tools templates so that title tags can be
more easily translated. The patch also makes some modifications to
titles, breadcrumb navigation, and page headers in order to make them
more consistent with each other and with other similar pages.

Note that stockrotation.pl has been modified so that rota information is
available to the template in more cases for the purpose of showing that
information in navigation and headings.

To test, apply the patch and go to Cataloging. Test each page and each
variation of the page to confirm that titles, breadcrumbs, and page
headers look correct.

- Export catalog data
- Stage records for import
  - Main page
  - Upload file -> Stage for import
- Manage staged records
  - Main page
    - Batch details
      - Import batch
- Batch item modification and batch item deletion
  - Main page
    - Submit batch
      - Save
- Batch record modification
  - Main page
    - Submit batch
      - Modify selected
- Batch record deletion
  - Main page
    - Submit batch
      - Delete selected
- MARC modification templates
  - Main page
    - Edit actions for a template
- Item modifications by age
  - Main page
    - Add rules
- Stock rotation
  - Main page
    - New rota
    - Edit rota
    - Manage stages for rota
      - New stage
      - Edit stage
    - Manage items for rota
      - Add items

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>
7 months agoBug 35221: TrackLastPatronActivityTriggers description is misleading
Caroline Cyr La Rose [Wed, 1 Nov 2023 21:04:26 +0000 (17:04 -0400)]
Bug 35221: TrackLastPatronActivityTriggers description is misleading

This patch updates the description for the TrackLastPatronActivityTriggers system preference to specify that each time an action occurs, the date last seen is updated, as opposed to once per day.

This patch also uniformizes the options and corrects terminology for
checking in/returning.

To test:
1. Apply patch
2. Go to Administration > System preferences
3. Search for TrackLastPatronActivityTriggers
4. Read the description, make sure it makes sense and the spelling and
   grammar are correct
5. Open the drop down of options, make sure the spelling and grammar are
   correct

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>
7 months agoBug 34397: Fix inconsistencies in Classification sources page titles, breadcrumbs...
Owen Leonard [Tue, 3 Oct 2023 16:24:07 +0000 (16:24 +0000)]
Bug 34397: Fix inconsistencies in Classification sources page titles, breadcrumbs, and headers

This patch fixes some inconsistencies in the classification
configuration administration page, making sure the page title,
breadcrumb navigation, and page headers are consistent with each other.

Test each view to confirm that page title, heading, and breadcrumbs are
consistent:

- Administration -> Classification configuration
  - New classification source
  - Edit classification source
  - New filing rule
  - Edit filing rule
  - New splitting rule
  - Edit splitting rule

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>
7 months agoBug 17798: (follow-up) Adjust color of fieldset nested in .dialog.alert
Owen Leonard [Fri, 3 Nov 2023 12:22:34 +0000 (12:22 +0000)]
Bug 17798: (follow-up) Adjust color of fieldset nested in .dialog.alert

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>
7 months agoBug 17798: Add fieldset for 'Yes, check out (Y)'
Nick Clemens [Thu, 2 Nov 2023 19:10:02 +0000 (19:10 +0000)]
Bug 17798: Add fieldset for 'Yes, check out (Y)'

With the increased text, the buttons don't arrange neatly. Adding a
fieldset around the options for 'Yes' mitigates this somewhat - it
could do with a bit more styling, however, it also fixes bug 23953

To test:
Confirm the 'Yes' options are more clear that they only affect the yes
button
Confirm the other buttons arrange nicely

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>
7 months agoBug 17798: Confirm hold when printing slip from another patron's account
Nick Clemens [Thu, 2 Nov 2023 19:05:16 +0000 (19:05 +0000)]
Bug 17798: Confirm hold when printing slip from another patron's account

This patch adds a few pieces of information to the print slip button
and makes the code confirm the hold

As we are printing before the confirm, we also add the ability to pass
in the itemnumber to 'ReserveSlip'

This is slightly hacky, however, I don't see another way to allow
printing without an additional page reload.

To test:
 1 - Place a title level hold for patron A, for delivery to library B
 2 - Attempt to checkout an item from the record above to Patron B from
     library A
 3 - You receive an alert about the hold
 4 - Click "Don't check out, confirm hold, and print slip"
 5 - Confirm the slip looks correct and has item info
 6 - Confirm that item is in transit to fill hold
 7 - Revert transit status
 8 - Attempt to checkout the item to Patron B from Library B
 9 - Click "Don't check out, confirm hold, and print slip"
10 - Confirm slip is correct
11 - Confirm item is marked waiting

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>
7 months agoBug 32379: Add check on existing item
Marcel de Rooy [Thu, 2 Nov 2023 10:47:50 +0000 (10:47 +0000)]
Bug 32379: Add check on existing item

Simplest fix; bail out with output_error.

Test plan:
Try /cgi-bin/koha/cataloguing/additem.pl?biblionumber=1&op=saveitem&itemnumber=999999
Note: Replace 1 by existing biblionumber, and iitem 999999 should not exist.
You should get the 404 screen now.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
7 months agoBug 35219: Fix ERM usage endpoints to show in docs
Matt Blenkinsop [Thu, 2 Nov 2023 14:01:33 +0000 (14:01 +0000)]
Bug 35219: Fix ERM usage endpoints to show in docs

This patch fixes the tags and also adds the tags to the swagger.yaml
file to allow the endpoints to be documented correctly.

One endpoint has also been deleted as it is no longer required.

Test plan:
Check the attached files to see that all tags are now prefixed with
'erm_' and that the swagger file now includes an entry for all of these
files

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>
7 months agoBug 35059: (follow-up) Get authorised value description from koha field
Katrin Fischer [Sat, 28 Oct 2023 22:31:57 +0000 (22:31 +0000)]
Bug 35059: (follow-up) Get authorised value description from koha field

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 28805: (follow-up) Fix non-printable char that breaks tests
Katrin Fischer [Sat, 4 Nov 2023 13:45:56 +0000 (13:45 +0000)]
Bug 28805: (follow-up) Fix non-printable char that breaks tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34275: Add toggle switch for basic/advanced cataloging editors
Lucas Gass [Thu, 13 Jul 2023 17:51:13 +0000 (17:51 +0000)]
Bug 34275: Add toggle switch for basic/advanced cataloging editors

To test:
1. Apply patch and regenerate CSS. (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface)
2. Turn on EnableAdvancedCatalogingEditor.
3. Go to cataloging > 'New record'
4. In the upper left notice a new toggle switch labeled 'Editor:'.
5. Try toggling the switch back and forth to move between editors. Verify it works correecly.
6. Try editing an existing record and make sure the toggle works well when editing records.
7. Try the other method of switch editors, Settings > Switch to basic/advanced editor. Make sure it works the same as always
8. Turn off EnableAdvancedCatalogingEditor, make sure the toggle button is no longer present.

Signed-off-by: Eesther <esther@bywatersolutions.com>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: (follow-up) Make CanBook more resilient
Martin Renvoize [Fri, 3 Nov 2023 17:11:51 +0000 (17:11 +0000)]
Bug 29002: (follow-up) Make CanBook more resilient

This patch adds a check for biblio existance prior to method resolution
failure in Koha::Template::Plugin::Biblio.

This fixes a failure case in unit tests.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35190: DBIC schema
Tomas Cohen Arazi [Fri, 3 Nov 2023 17:19:52 +0000 (14:19 -0300)]
Bug 35190: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35190: DBRev 23.06.00.062
Tomas Cohen Arazi [Fri, 3 Nov 2023 17:18:17 +0000 (14:18 -0300)]
Bug 35190: DBRev 23.06.00.062

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35190: Adjust UI handling to avoid inserting an empty string
Emily Lamancusa [Mon, 30 Oct 2023 17:19:02 +0000 (13:19 -0400)]
Bug 35190: Adjust UI handling to avoid inserting an empty string

To test:
1. In the Administration module, create an Additional Field that is
   not linked to an authorized value
2. Create another Additional Field that is linked to an authorized
   value
3. Access the database in the command line (koha-mysql kohadev)
4. Select all from additional_fields
5. Confirm that each field correctly lists either the appropriate
   authorized value, or NULL

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35190: Adjust tests
Emily Lamancusa [Mon, 30 Oct 2023 16:07:28 +0000 (12:07 -0400)]
Bug 35190: Adjust tests

Test plan:
prove t/db_dependent/Koha/AdditionalField.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35190: Set default NULL for authorised_value_category in additional_fields table
Emily Lamancusa [Mon, 30 Oct 2023 15:31:31 +0000 (11:31 -0400)]
Bug 35190: Set default NULL for authorised_value_category in additional_fields table

To test:
1. Start KTD without this patch
2. In the Administration module, create an Additional Field with
   Authorized Value set to None
3. Create another Additional Field with Authorized Value set to an
   existing authorized value
4. Apply patch and updatedatabase
5. Access the database in the command line with koha-mysql kohadev
6. Select all rows from additional_fields
7. Confirm that the two Additional Fields from earlier have values of
   NULL and the correct authorized value, respectively, in their
   authorised_value_category fields.
8. reset_all to test new install
9. Access the database in the command line
10. Show the table structure for additional_fields and confirm that
    default for authorised_value_category is NULL

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 30024: Make link_bibs_to_authorities.pl rely on LinkerRelink
Tomas Cohen Arazi [Tue, 27 Sep 2022 19:10:51 +0000 (16:10 -0300)]
Bug 30024: Make link_bibs_to_authorities.pl rely on LinkerRelink

This patch makes the trivial change of making the linker script rely on
LinkerRelink instead of CatalogModuleRelink, which is confusing and
incorrect (according to both sysprefs descriptions).

To test:
1. Verify that relinking is now tied to the right syspref

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: (follow-up) Fix Permissions test
Martin Renvoize [Fri, 3 Nov 2023 17:06:18 +0000 (17:06 +0000)]
Bug 29002: (follow-up) Fix Permissions test

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33749: (QA follow-up) Tidy code for qa script
Kyle M Hall [Fri, 3 Nov 2023 14:51:35 +0000 (14:51 +0000)]
Bug 33749: (QA follow-up) Tidy code for qa script

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 33749: Use TrimFields instead of stripWhitespaceChars
Tomas Cohen Arazi [Wed, 7 Jun 2023 20:31:37 +0000 (17:31 -0300)]
Bug 33749: Use TrimFields instead of stripWhitespaceChars

This patch replaces the uses of the static method with the new filter.
It also moves the tests to the relevant place and removes the (now)
unused method.

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>
7 months agoBug 33749: Add TrimFields field class
Tomas Cohen Arazi [Wed, 7 Jun 2023 17:28:34 +0000 (14:28 -0300)]
Bug 33749: Add TrimFields field class

This patch adds a RecordProcessor filter class that takes care of
performing the field cleanup that was originally done in the static
method `Koha::MetadataRecord::stripWhitespaceChars`.

In order to test the results, I adapted the tests to use the filter
instead of the original method.

To test:
1. Run:
   $ ktd --shell
  k$ prove t/Koha_MetadataRecord.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests still pass
4. Sign off :-D

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>
7 months agoBug 31477: Use clipboard icon for inventory
Owen Leonard [Thu, 2 Nov 2023 11:07:06 +0000 (11:07 +0000)]
Bug 31477: Use clipboard icon for inventory

This patch changes the inventory icon on the cataloging home page. The
"chart" icon is switched for one of a clipboard with a checkmark.

To test, apply the patch and go to the cataloging home page in the staff
interface. Check that the icon on the inventory link looks correct.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35230: (bug 30708 follow-up) fix description for catalogue_item
Jonathan Druart [Fri, 3 Nov 2023 13:24:09 +0000 (14:24 +0100)]
Bug 35230: (bug 30708 follow-up) fix description for catalogue_item

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 28805: (follow-up) Fix template logic error
Fabricio Molina [Mon, 30 Oct 2023 20:50:00 +0000 (17:50 -0300)]
Bug 28805: (follow-up) Fix template logic error

This patch fixes a problem in the template logic that made the 'Due
date' legend display when `OnSiteCheckouts` and `SpecifyDueDate` are not
set, as highlighted by QA.

Sponsored-by: Banco Central de la República Argentina
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 28805: (QA follow-up) Pass onsite variable to confirmation screen
Nick Clemens [Mon, 25 Sep 2023 18:48:59 +0000 (18:48 +0000)]
Bug 28805: (QA follow-up) Pass onsite variable to confirmation screen

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 28805: (QA follow-up) Restore removed asset
Nick Clemens [Mon, 25 Sep 2023 18:26:28 +0000 (18:26 +0000)]
Bug 28805: (QA follow-up) Restore removed asset

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 28805: Add on-site checkout checkbox in batch checkout
Fabricio Molina [Mon, 3 Jul 2023 14:55:59 +0000 (14:55 +0000)]
Bug 28805: Add on-site checkout checkbox in batch checkout

Add the 'on-site checkout' checkbox to the 'Batch checkout'. To verify the functionality, follow these steps:

  1) Before the modification is added, enable the 'OnSiteCheckouts' and 'BatchCheckout' system preferences.
  2) In the 'BatchCheckoutsValidCategories' preference, select all categories.
  3) Find a user in the system. For example, Henry Acevedo.
  4) In the 'Check out' section, you can see that the 'Checkout settings' option displays the 'On-site Checkout' checkbox when clicked.
  5) Check the 'On-site checkout' option. This will display the current date with a runtime deadline of 23:59.
  6) Enter a barcode (for example 39999000011418).
  7) Click the 'Check out' button. This will show that the loan was made on-site.
  8) Check the 'Batch checkout' section. This section does not hace the 'On-site checkout' checkbox.

When loading the patch with the addition of the 'on-site checkout' checkbox in 'Batch checkout' starting from step 3), you can already find the checkbox in the 'Batch checkout' section. To use it, you can try the barcodes 39999000006179 and 39999000008494 together. Then continue from step 5).

When viewing the loans, you will see that both items (39999000006179 and 39999000008494) will appear with the label 'On-site checkout'.

If this patch is deactivated, the functionality will remain the same as it was before this change.

Sponsored-by: Banco Central de la República Argentina
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35242: Force memcache restart after koha upgrade
Mason James [Thu, 2 Nov 2023 22:56:51 +0000 (11:56 +1300)]
Bug 35242: Force memcache restart after koha upgrade

to test..

1/ install koha-common
    $ sudo apt install koha-common

2/ start memcached, check PID
    $ sudo service memcached start
    $ sudo systemctl status  memcached | grep PID
        Main PID: 52851 (memcached)

3/ build and install new koha-common package (will trigger a restart)
    $ sudo apt install ./koha-common-git+deadbeef.deb

5/ check that memcache is started, and has new PID (52900)
    $ sudo systemctl status  memcached | grep PID
        Main PID: 52900 (memcached)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35004: Set row.quantity_received to 1 if row.quantity_received is empty and we...
Slava Shishkin [Fri, 6 Oct 2023 16:25:30 +0000 (19:25 +0300)]
Bug 35004: Set row.quantity_received to 1 if row.quantity_received is empty and we're in 'cataloguing' mode

Before the code changes only field value was set to 1,
but "row.quantity_received" still had an undefined value.
After correction row.quantity_received set to 1 if it is empty,
but only when effective_create_items == 'cataloguing',
and after that its value assigned to the form field.

To test:
1. Add a new basket.
2. Create an order line
3. Receive shipment and create an invoice
4. Start receiving your order:
    Verify:
    - Quantity ordered: X
    - Quantity received: 1 (pre-filled, don't touch or change it)
5. Click "Confirm"
6. Observe the Receive error popup: "Order ZZZ: No quantity to receive
   set. No items will be created."
7. Verify that "Order receive" was not happen (received orders remains
   empty)
8. Apply the patch and make sure your order is received correctly after
   step 5.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35196: Remove misc/perlmodule_* scripts
Katrin Fischer [Tue, 31 Oct 2023 10:14:18 +0000 (10:14 +0000)]
Bug 35196: Remove misc/perlmodule_* scripts

These scripts are outdated and no longer needed in
the codebase.

To test:
* Verify both perlmodule_* scripts have been removed from misc/

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35231: Resolve crash on unexisting patron in Auth
Marcel de Rooy [Thu, 2 Nov 2023 13:16:52 +0000 (13:16 +0000)]
Bug 35231: Resolve crash on unexisting patron in Auth

Test plan:
Without this patch:
Logout from OPAC. Crash.
Try to login. Crash.

With this patch:
Enable login in tracking triggers. Clear lastseen.
Flush memcache.
Login. Check lastseen.
Logout.
Login.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34855: (QA follow-up) Terminology: "issue note" to "checkout note"
Katrin Fischer [Wed, 1 Nov 2023 22:37:40 +0000 (22:37 +0000)]
Bug 34855: (QA follow-up) Terminology: "issue note" to "checkout note"

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34855: Use template wrapper for breadcrumbs: OPAC part 3
Owen Leonard [Wed, 20 Sep 2023 15:11:08 +0000 (15:11 +0000)]
Bug 34855: Use template wrapper for breadcrumbs: OPAC part 3

This patch updates several OPAC templates so that they
use a new WRAPPER for displaying breadcrumbs.

This patch also updates html_helpers.inc to add some logic for handling
the case where the "Home" link is the only breadcrumb (on the OPAC main
page). The change allows for the link to be disabled in this case.

Apply the patch and log in to the OPAC. Test each of the following pages
and their variations. Breadcrumbs should look correct, and each link
should be correct:

- OPAC main page
- Course reserves
  - Course reserves details
- Libraries
  - Follow the link for a specific library
- View the details of a bibliographic record
- Navigate directly to
  /cgi-bin/koha/opac-downloadshelf.pl?shelfnumber=X where X is the id of
  an existing list. (I don't think this page is ever seen unless the
  user has JavaScript disabled).
- Locate a serial record and click the "More details" link under the
  "Subscriptions" tab.
  - Click the "Full history" tab.
- Log into the OPAC as a user with checkouts. Navigate directly to
  /cgi-bin/koha/opac-issue-note.pl?issue_id=X where X is the id
  (issue_id) of one of the user's checkouts. (Another page which is only
  accessed directly if the user has JS disabled).
- From the logged-in user summary page, click "Change password"
  - Submit a password change.
- With "UseRecalls" enabled, locate a bibliographic record you can place
  a recall request for.
  - Place a recall.
- With "OPACLocalCoverImages" enabled, locate a bibliographic record
  which has a local cover image attached.
  - Under the "Images" tab, click the image thumbnail.
- If you have no custom OPAC pages, go to Tools -> Pages in the staff
  interface anc create one.
  - View the page in the OPAC.
- With "OPACReportProblem" enabled, click the "Report a problem" link at
  the bottom of any OPAC page.
  - Submit a report.

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>
7 months agoBug 34406: (QA follow-up) Add another "Identity provier" to "domains"
Katrin Fischer [Wed, 1 Nov 2023 22:21:08 +0000 (22:21 +0000)]
Bug 34406: (QA follow-up) Add another "Identity provier" to "domains"

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 34406: Fix inconsistencies in Identity providers/domains page titles, breadcrumbs...
Owen Leonard [Fri, 6 Oct 2023 12:20:23 +0000 (12:20 +0000)]
Bug 34406: Fix inconsistencies in Identity providers/domains page titles, breadcrumbs, and headers

This patch fixes some inconsistencies in the templates for identity
providers and identity provider domains, making sure the page title,
breadcrumb navigation, and page headers are consistent with each other.

To test, apply the patch and check these views:

- Administration -> Identity providers
  - New identity provider
  - Edit identity provider
  - Confirm deletion of identity provider
  - Manage domains
    - New domain
    - Edit domain
    - Confirm deletion of domain

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>
7 months agoBug 34802: Improve translation of title tags: Tags and comments
Owen Leonard [Fri, 15 Sep 2023 13:46:13 +0000 (13:46 +0000)]
Bug 34802: Improve translation of title tags: Tags and comments

This patch modifies tag and comments management templates so that title
tags can be more easily translated. The patch also makes some
modifications to titles, breadcrumb navigation, and page headers in
order to make them more consistent with each other and with other
similar pages.

To test, apply the patch and go to Tools. Test each of the following
pages and each variation of the page to confirm that titles,
breadcrumbs, and page headers look correct.

- Tags
  - Main page
    - Viewing tags by status: Approved, pending, and rejected (link in
      the right-hand column)
  - List of records by tag
    - This page has been modified so that the menu of tag link in the
      left-hand sidebar is styled consistently with other sidebar menus.
- Comments
  - Approved comments
  - Comments awaiting moderation

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>
7 months agoBug 34769: Improve translation of title tags: Patron lists
Owen Leonard [Tue, 12 Sep 2023 16:20:39 +0000 (16:20 +0000)]
Bug 34769: Improve translation of title tags: Patron lists

This patch updates patron lists templates so that title tags can be more
easily translated. Some templates have been updated for consistency as
well: Harmonizing page title, breaddrumb navigation, and page headers.

To test, apply the patch and confirm that the following pages have the
correct title tags:

- Tools -> Patron lists
  - New patron list
  - View patron list
  - Edit patron list

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>
7 months agoBug 35073: perltidy subscription-batchedit.pl
Pedro Amorim [Tue, 17 Oct 2023 09:24:09 +0000 (09:24 +0000)]
Bug 35073: perltidy subscription-batchedit.pl

git show -w <this_patch_hash>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35073: Default to existing value if there is one
Pedro Amorim [Tue, 17 Oct 2023 09:20:59 +0000 (09:20 +0000)]
Bug 35073: Default to existing value if there is one

For values that dont exist in the batch edit submission, i.e. UI says 'No change', we default to existing value if there is one.

Test plan:
Preparation - Additional fields:
1) Add a new 'additional field', visit:
/cgi-bin/koha/admin/additional-fields.pl
2) Click 'subscription' and '+ New field'. Enter a 'name' and hit 'save'.

Serials:
1) Add a new serial, visit:
/cgi-bin/koha/serials/subscription-add.pl
2) Put a biblionumber in the 'record' field, i.e. '112'. Press 'next' and click 'ok' on the alert box
3) Fill all the required fields and click 'test prediction'
4) Input something in the additional field created previously.
5) Click 'save subscription'. Notice the additional field is as expected.
6) Repeat steps 1-5 to create a second serial.

Batch edit:
1) Visit serials and hit the 'Search' button:
/cgi-bin/koha/serials/serials-home.pl
2) Click the 2 checkboxes for the 2 serials we created previously and click the new link that pops up 'edit selected serials'.
3) Click 'Save' without changing anything.
4) Go back to either of the serials, notice the value for the additional field is unchanged. Visit:
/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=1

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35073: Rename additional_fields to available_additional_fields
Pedro Amorim [Tue, 17 Oct 2023 09:18:29 +0000 (09:18 +0000)]
Bug 35073: Rename additional_fields to available_additional_fields

'additional_fields' is ambiguous and in other places we name this available_additional_fields instead. Do the same here.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 35185: Remove is_html flag from sample notices that are plain text
Katrin Fischer [Sun, 29 Oct 2023 15:20:03 +0000 (15:20 +0000)]
Bug 35185: Remove is_html flag from sample notices that are plain text

Some notices had the is_html flag for new installations, but actually
didn't include any HTML formatting. These should be plain text
to have the line breaks behave as expected.

This updates:
* 2FA_OTP_TOKEN
* OPAC_REG_VERIFY

We cannot do a database update here, as libraries will
have changed and updated these. So this is only for new
installations.

To test:
* Apply patch
* reset_all (create a new sample database)
* Verify that the HTML checkbox is not set for these notices
* Verify they appear as plain text notices, not including HTML tags

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 24480: (follow-up) Adjust tests
Nick Clemens [Fri, 15 Sep 2023 20:06:41 +0000 (20:06 +0000)]
Bug 24480: (follow-up) Adjust tests

With the way the patchset alters to use insert_fields_ordered, we now add fields to the beginning of their number group as opposed to appending before. We just need ot shift the order we expect the fields to end up in to make the tests pass

To test:
1 - Apply all patches except this
2 - prove -v t/SimpleMARC.t t/db_dependent/MarcModificationTemplates.t
3 - It fails
4 - Apply this
5 - prove -v t/SimpleMARC.t t/db_dependent/MarcModificationTemplates.t
6 - It passes

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 24480: (follow-up) Shift new fields into array and add after all are copied
Nick Clemens [Fri, 15 Sep 2023 19:59:57 +0000 (19:59 +0000)]
Bug 24480: (follow-up) Shift new fields into array and add after all are copied

The updated code removed the pushing of fields to an array - this caused a bug.
When multiple fields were copied and replaced and there were more fields added than existed originally we were adding the new field to the end, then removing the first occurence of the original field. If we tried to move 2 650 fields to 651 and the record had no 651 we would:
- Delete the first 651, there were none, so nothing happened
- Take the first 650, add it to the end of the 651 group (there were none, so it became the first 651)
- Delete the first 651, which was the field we just copied
- Take the second 650 and add it to the end of the 651 group (whihc had none, because we deleted it)

I re-add the line, but do as suggesed by Phil and reverse the order (unshift vs push)

To test:
1 - Apply other patches
2 - prove -v t/SimpleMARC.t
3 - It fails
4 - Apply this patch
5 - prove -v t/SimpleMARC.t
6 - It still fails, but more tests pass (there's another patch to follow)

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 24480: Unit test
Arthur Suzuki [Sat, 25 Jan 2020 22:19:52 +0000 (23:19 +0100)]
Bug 24480: Unit test

This updates the SimpleMARC tests and MarcModificationTemplates
tests to expect the new order of fields

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 24480: Fix insert_fields_ordered instead of append_fields in SimpleMARC
Arthur Suzuki [Fri, 17 Jan 2020 09:26:58 +0000 (10:26 +0100)]
Bug 24480: Fix insert_fields_ordered instead of append_fields in SimpleMARC

Test plan :
 - create a marc modification template which add a new field to a record
 - apply that template to some records
 - verify that the new field is always appended at the bottom of the record, even if some fields are higher.
 - apply patch
 - apply template to another set of records
 - verify the added field is now ordered within the already existing fields in the records

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: DBRev 23.06.00.061
Tomas Cohen Arazi [Fri, 3 Nov 2023 14:26:19 +0000 (11:26 -0300)]
Bug 29002: DBRev 23.06.00.061

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: DBIC schema
Tomas Cohen Arazi [Fri, 3 Nov 2023 14:18:50 +0000 (11:18 -0300)]
Bug 29002: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: (QA follow-up) Fix stray x-koha-embed
Tomas Cohen Arazi [Fri, 3 Nov 2023 13:55:25 +0000 (10:55 -0300)]
Bug 29002: (QA follow-up) Fix stray x-koha-embed

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: (QA follow-up) Correct param retrieval in controllers
Tomas Cohen Arazi [Fri, 3 Nov 2023 13:51:07 +0000 (10:51 -0300)]
Bug 29002: (QA follow-up) Correct param retrieval in controllers

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Tidy
Tomas Cohen Arazi [Fri, 3 Nov 2023 12:52:15 +0000 (09:52 -0300)]
Bug 29002: Tidy

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Add 'manage_bookings' permission
Martin Renvoize [Fri, 3 Nov 2023 11:39:27 +0000 (11:39 +0000)]
Bug 29002: Add 'manage_bookings' permission

Somehow this got lost during rebases. Restoring the permission here to
allow libraries to restrict which librarians can add, edit and remove
bookings.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Empty select2 options for patron at modal close
Martin Renvoize [Fri, 27 Oct 2023 14:23:02 +0000 (15:23 +0100)]
Bug 29002: Empty select2 options for patron at modal close

Select2's recommended reset doesn't remove <option> blocks it adds for
ajax responses.. as such it gets confused when you subsequently
re-initialise.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Fix permission required to access bookings list
Martin Renvoize [Thu, 26 Oct 2023 11:22:12 +0000 (12:22 +0100)]
Bug 29002: Fix permission required to access bookings list

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>
7 months agoBug 29002: Fix database update idempotency
Martin Renvoize [Thu, 19 Oct 2023 10:40:04 +0000 (11:40 +0100)]
Bug 29002: Fix database update idempotency

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>
7 months agoBug 29002: Update Makefile
Martin Renvoize [Wed, 18 Oct 2023 14:55:04 +0000 (15:55 +0100)]
Bug 29002: Update Makefile

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>
7 months agoBug 29002: Circulation
Martin Renvoize [Fri, 1 Oct 2021 08:03:31 +0000 (09:03 +0100)]
Bug 29002: Circulation

This patch adds handling for circulation of booked materials.

We prevent checkouts of booked items during the booking period where the
booking is for another user.

We update the due date to match the end of booking period when checking
out to the user who the booking is for.

If a checkout would overlap a booking to another user, we ask the user if
they will accept a reduced due date so the booked item is returned in
time to fulfill the booking.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Use buildPatronSearchQuery in patron select
Martin Renvoize [Thu, 19 Oct 2023 15:59:20 +0000 (16:59 +0100)]
Bug 29002: Use buildPatronSearchQuery in patron select

Rebased to use the standardised patron search query builder that has
been introduced more recently.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Prevent booking a checked out item
Martin Renvoize [Tue, 10 Oct 2023 16:09:38 +0000 (17:09 +0100)]
Bug 29002: Prevent booking a checked out item

This patch updates the bookings logic to prevent placing a booking
on an item that is checked out to start prior to it's due date.

Test plan
1) Follow the previous test plans
2) Add a checkout of an item
3) Attempt to place a booking and note that the item is not available to
   be booked until after it's due date.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
7 months agoBug 29002: Ensure bookings stash is up to date
Martin Renvoize [Wed, 11 Oct 2023 16:20:42 +0000 (17:20 +0100)]
Bug 29002: Ensure bookings stash is up to date

This patch adds the edited/added booking to the bookings stash such that
subsequent triggers of the place/edit booking modal will reflect the
change in thier picker.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>