]> git.koha-community.org Git - koha.git/log
koha.git
4 days agoBug 38132: Add data-isbn to shelfbrowser
Matt Blenkinsop [Wed, 9 Oct 2024 15:00:33 +0000 (15:00 +0000)]
Bug 38132: Add data-isbn to shelfbrowser

This patch adds a data-isbn attribute to the shelfbrowser_cover container for use in plugins

Test plan
1) View the patch diff and confirm that the attribute has been correctly added

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
4 days agoBug 38297: Add a permissions check to the New vendor button
Matt Blenkinsop [Wed, 30 Oct 2024 11:46:05 +0000 (11:46 +0000)]
Bug 38297: Add a permissions check to the New vendor button

Test plan:
1) Choose a staff patron and make sure they have permissions to log
   into the staff interface
2) Ensure that the patron does not have the vendors_manage permission
   but give them one other acquisitions permission so that they can see
   the link on the homepage (e.g. budget_manage)
3) In an incognito browser, log in with that patron and go to the
   acquisitions homepage
4) The New vendor button will be visible
5) Click on it and fill in the required fields. Submit the form and it
   will error for lack of permissions
6) Apply patch
7) Return to the acquisitions page and the New vendor button should no
   longer be visible
8) Back in your main browser, give the patron the vendors_manage
   permission and then refresh the incognito window - the button should
   be visible

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
4 days agoBug 38303: Set item's replacement price to defaultreplacecost if 0.00
Jonathan Druart [Wed, 30 Oct 2024 15:37:36 +0000 (16:37 +0100)]
Bug 38303: Set item's replacement price to defaultreplacecost if 0.00

No idea if this is a real bug. This code is fixing the following test
failure:
t/db_dependent/Circulation/CalcFine.t .. 1/7
    #   Failed test 'Amount is calculated correctly'
    #   at t/db_dependent/Circulation/CalcFine.t line 271.
    #          got: '0'
    #     expected: '6'
    # Looks like you failed 1 test of 2.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
4 days agoBug 38304: Remove SaveState options for OPAC tables
Jonathan Druart [Wed, 30 Oct 2024 15:55:34 +0000 (16:55 +0100)]
Bug 38304: Remove SaveState options for OPAC tables

On /admin/columns_settings.pl you can select the two options related to SaveState for the OPAC tables, but those tables do not show the filters and column filters. Also the work on bug 33484 is not implemented at the OPAC

  Save configuration state on page change:
  Save search state on page change:

We could remove those options for those tables to remove ambiguity.

Test plan:
Go the the table settings and open the "OPAC" tab.
Notice that the options are no longer displayed (but they are still for
the other tabs)
Modify some settings
Save and confirm the settings have been correctly saved.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
4 days agoBug 38293: (alternate) Fix setting branch-level JS and CSS
David Cook [Tue, 29 Oct 2024 23:10:22 +0000 (23:10 +0000)]
Bug 38293: (alternate) Fix setting branch-level JS and CSS

Test plan:
1. Apply the patch
2. Go to http://localhost:8081/cgi-bin/koha/admin/branches.pl?op=add_form&branchcode=CPL
3. Scroll to bottom of the page and click "Edit" then "Collapse" next
   to Specific OPAC JS and Specific OPAC CSS

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
4 days agoBug 33188: Remove warning from Koha::Item->hidden_in_opac
Jonathan Druart [Tue, 29 Oct 2024 13:41:19 +0000 (14:41 +0100)]
Bug 33188: Remove warning from Koha::Item->hidden_in_opac

"Use of uninitialized value in string eq"

Test plan:
  prove t/db_dependent/Koha/Item.t
should return green

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: tidied the tests (tcohen)
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Fix version on about page
Katrin Fischer [Thu, 31 Oct 2024 06:47:06 +0000 (06:47 +0000)]
Bug 35570: Fix version on about page

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: DBRev 24.06.00.054
Katrin Fischer [Thu, 31 Oct 2024 06:45:23 +0000 (06:45 +0000)]
Bug 35570: DBRev 24.06.00.054

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Update UNIMARC author to 200$f
Pedro Amorim [Wed, 16 Oct 2024 10:45:51 +0000 (10:45 +0000)]
Bug 35570: (QA follow-up): Update UNIMARC author to 200$f

Reworked the logic here a bit to ensure the following scenario for UNIMARC:
If both title and author exist, the result is:
200$aTitle$fAuthor

In the previous logic, it would become:
200$aTitle
200$fAuthor

I'm assuming the desired result is the former and not the latter.
Test following the same test plan, but try having only author, or only title, and verify that the resulted MARC data is as expected.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Fix DVD type
Pedro Amorim [Wed, 16 Oct 2024 09:56:20 +0000 (09:56 +0000)]
Bug 35570: (QA follow-up): Fix DVD type

I've added some DVD specific fields: language, format, genre, studio.
Happy to have this discussed and/or updated but hoping this is good enough for now.
To test:
1) Create an ILL request of 'DVD' type on both OPAC and Staff
2) Verify the form is shown without issues
3) Fill all fields and verify all fields are stored and shown correctly on both OPAC and STaff

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Revert some strings translatability
Tomas Cohen Arazi [Tue, 15 Oct 2024 14:36:32 +0000 (11:36 -0300)]
Bug 35570: Revert some strings translatability

This patch reverts making core field descriptions translatable. It was
an obvious move and a needed one. But it turns out our core templates
are using those keys ('Author' and 'Title' in particular) and as such
translating them would break display (at least in the OPAC). Without
this patch, the ILL requests table in the OPAC doesn't display the title
and author columns values (i.e. displays 'N/A' instead)

Added a FIXME in the code, and will file a bug soo we fix this properly.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Do not unbless iterator
Tomas Cohen Arazi [Mon, 14 Oct 2024 14:36:22 +0000 (11:36 -0300)]
Bug 35570: Do not unbless iterator

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Use ->extended_attributes()
Tomas Cohen Arazi [Mon, 14 Oct 2024 14:30:53 +0000 (11:30 -0300)]
Bug 35570: Use ->extended_attributes()

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Make strings in Standard.pm translatable
Tomas Cohen Arazi [Mon, 14 Oct 2024 14:23:15 +0000 (11:23 -0300)]
Bug 35570: Make strings in Standard.pm translatable

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up) Tidy
Tomas Cohen Arazi [Mon, 14 Oct 2024 13:51:27 +0000 (10:51 -0300)]
Bug 35570: (QA follow-up) Tidy

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Standard backend: Biblio creation: Add UNIMARC support
Pedro Amorim [Mon, 30 Sep 2024 10:08:44 +0000 (10:08 +0000)]
Bug 35570: (QA follow-up): Standard backend: Biblio creation: Add UNIMARC support

Add FreeForm UNIMARC enhancement from https://github.com/PTFS-Europe/koha-ill-freeform/commit/5d07c68f8058a9a1f35e3193699605240741ff0c into this work.
This is to keep this work up to date with latest FreeForm's work.

To test, k-t-d:
1) (Skip if using sandboxes) Start off by ensuring this is a UNIMARC installation, run:
$ reset_all_unimarc
2) (Skip if using sandboxes) Apply this bug 35570
3) Create a new Standard ILL request:
<staff_url>/cgi-bin/koha/ill/ill-requests.pl?method=create&backend=FreeForm
4) Select type: book, input different values for title+author+isbn (the remaining fields are optional
   for this test)
5) Put in a cardnumber ('42' is kohaadmin if k-t-d/sandboxes). Select any library.
   Click 'Create'.
6) You should now see the ILL request details page. Click on the
   'Bibliographic record ID' link.
7) Ensure the newly created biblio record has the title+author+isbn from
   the metadata originally submitted.

Raised by Sonia Bouis at KohaCon's 2024 ILL workshop

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Rebase on final state of bug 35681
Pedro Amorim [Wed, 22 May 2024 14:40:28 +0000 (14:40 +0000)]
Bug 35570: (QA follow-up): Rebase on final state of bug 35681

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Standard backend: Fix OPAC CSRF
Pedro Amorim [Thu, 7 Mar 2024 11:19:39 +0000 (11:19 +0000)]
Bug 35570: (QA follow-up): Standard backend: Fix OPAC CSRF

Add FreeForm CSRF fix from https://github.com/PTFS-Europe/koha-ill-freeform/commit/6a37ce0daba8aab13130dacd055c9ca5876b7df4 into this work.
This is to keep this work up to date with latest FreeForm's fixes.

The test plan to demonstrate the issue this patch fixes:
Test plan, k-t-d:

1) Install FreeForm, enable ILL module, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
2) You'll have to switch the FreeForm branch to the one compatible with this work, i.e.:
cd /kohadevbox/koha/Koha/Illbackends/FreeForm
git checkout b_36243
3) Restart plack:
koha-plack --restart kohadev
4) Go to OPAC ILL requests, login and visit:
<opac_url>/cgi-bin/koha/opac-illrequests.pl
5) Click "Create new request"
6) Change the 'type'. Notice you get a 403 error. Logs say:
Programming error - op 'add_form' must start with 'cud-' for POST
7) Apply patch. Restart plack. Repeat 6)
8) Notice the change type works as expected. Click "Create".
9) Notice the request is created as expected.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Standard backend: Bug 36243 compatibility
Pedro Amorim [Thu, 7 Mar 2024 10:46:48 +0000 (10:46 +0000)]
Bug 35570: (QA follow-up): Standard backend: Bug 36243 compatibility

Add FreeForm CSRF fix from https://github.com/PTFS-Europe/koha-ill-freeform/commit/c34be16ba34c840193ed5e043e6736fa0b1cb646 into this work.
This is to keep this work up to date with latest FreeForm's fixes.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Standard backend: Show appropriate error message when...
Pedro Amorim [Wed, 3 Jan 2024 12:06:47 +0000 (12:06 +0000)]
Bug 35570: (QA follow-up): Standard backend: Show appropriate error message when type is missing

Add FreeForm fix from https://github.com/PTFS-Europe/koha-ill-freeform/commit/9c9da5ff2815fb6ce0af0181341dea5ce8c3bb2e into this work.
This is to keep this work up to date with latest FreeForm's fixes.
See bug 35685 for context and test plan.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: (QA follow-up): Follow QA script on Standard backend
Pedro Amorim [Fri, 15 Dec 2023 16:20:58 +0000 (16:20 +0000)]
Bug 35570: (QA follow-up): Follow QA script on Standard backend

Make QA script green, fix:
- Variables declared in condition
- Use of DateTime->now should certainly be replaced with dt_from_string (bug 24840)
- missing_filter
- forbidden pattern: Do not use line breaks inside template tags (bug 18675)
- Attribute type should not be used for script tags (bug 20053)
- File must have the exec flag
- forbidden pattern: trailing space char
- valid_template: /shared-includes/custom_fields.inc: not found

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Prevent use of ILL module if deprecated FreeForm backend is installed
Pedro Amorim [Fri, 15 Dec 2023 16:07:37 +0000 (15:07 -0100)]
Bug 35570: Prevent use of ILL module if deprecated FreeForm backend is installed

Test plan:
1) This patch should not be applied in order to be able to go through the previous patch's test plan
2) Install FreeForm, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
3) Please note that you need to be using FreeForm's reorganize_ILL branch at:
https://github.com/PTFS-Europe/koha-ill-freeform/commits/reorganize_ILL/
4) Visit ILL page:
/cgi-bin/koha/ill/ill-requests.pl
5) Notice there's a configuration error preventing the use of the ILL module.
6) Click the 'about page' link and verify there is a warning about
   FreeForm
7) Remove FreeForm from /kohadevbox/koha/Koha/Illbackends and refresh the page
8) Repeat 4), notice the requests are listed as expected and you can now
   use the ILL module again.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Atomicupdate
Pedro Amorim [Fri, 15 Dec 2023 13:12:27 +0000 (13:12 +0000)]
Bug 35570: Atomicupdate

Move stuff out of 'FreeForm' into 'Standard'

This atomicupdate will printout the changes it made, if any.
It will also print out the report IDs of reports that may contain occurrences of 'FreeForm'.
This is to give the sys admin the chance to fix those reports before users.

To test, empty k-t-d:
1) Run updatedatabase, notice nothing happens
2) Install FreeForm, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
3) Create a new 'FreeForm' ILL batch (requires a metadata enrichment plugin like https://github.com/PTFS-Europe/koha-plugin-api-pubmed)
4) Add '123' to the pubmedid list of identifiers and finish creating the batch
5) Upon creating the batch, you will now have 1 request, 1 batch and a few illrequestattributes in the 'FreeForm' backend
6) Run the updatedatabase again, notice the print outs.
7) Create a saved sql report like:
'Select * from illrequests where backend="FreeForm";'
8) Run the updatedatabase again, notice you get a warning for the above report

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Consider 'Standard' core backend
Pedro Amorim [Fri, 15 Dec 2023 12:53:25 +0000 (12:53 +0000)]
Bug 35570: Consider 'Standard' core backend

Added File::Basename qw( dirname )
Sorted Koha:: dependencies alphabetically
DRYed load_backend a bit and included 'Standard' backend check

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 35570: Put 'FreeForm' backend into core as 'Standard'
Pedro Amorim [Fri, 15 Dec 2023 12:51:43 +0000 (12:51 +0000)]
Bug 35570: Put 'FreeForm' backend into core as 'Standard'

FreeForm copied as is from HEAD 369dffb159f1e70162b685b473dcf26c76f7e7e7
At https://github.com/PTFS-Europe/koha-ill-freeform/commits/reorganize_ILL/

Only edits made were 'freeform' -> 'standard' in the markup of the .inc files
and some occurrences of FreeForm in Standard.pm (previous Base.pm) file.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 14787: Fix tidying issue in circulation.pl
Matt Blenkinsop [Wed, 12 Jun 2024 09:03:38 +0000 (09:03 +0000)]
Bug 14787: Fix tidying issue in circulation.pl

There are large blocks of code in circulation.pl that are incorrectly indented. This means any new code placed within those blocks fails the QA tests as it automatically adds new untidy lines. This patch tidies the file to remove this issue and start from a clean position in terms of tidyness.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 14787: Remember confirmations for a patron session
Matt Blenkinsop [Wed, 12 Jun 2024 08:59:54 +0000 (08:59 +0000)]
Bug 14787: Remember confirmations for a patron session

This patch adds functionality that will remember whether an action has been confirmed for a particular patron for the session. While carrying out an action on that patron, if the same checkout confirmation message keeps appearing the user can now select to remember their confirmation while they are still working on that patron. When the user moves onto a new patron the confirmations then reset and accumulate again for the new patron.

Test plan:
We're going to use rental fees as the example to prompt the checkout confirmation dialog. If you wish to use something else to test then feel free, it should work the same. Do not use patron debts though, as we already track a confirmation for this elsewhere and the test plan will appear to fail when in fact it is behaving as expected

1) In system preferences set RentalFeesCheckoutConfirmation to 'ask'
2) Choose a patron and checkout an item to that patron that incurrs a rental charge (in KTD this will be any item that does not have an itype of 'BK', 'REF' or 'VM'
3) A dialog should display asking you to confirm the checkout.
4) There should be a checkbox on the dialog to "Remember for the session for this patron"
5) Click Yes, checkout out without checking this checkbox
6) Select another item and checkout - the dialog should display again
7) This time, check the checkbox and click Yes, check out
8) Checkout another item (depending on your fines limit settings, you may need to pay the rental charges before the system will allow you to checkout again so go ahead and do this)
9) This time the dialog should not appear as the system has remembered our confirmation for this patron for the session
10) Choose a new patron
11) Repeat steps 2 - 9
12) It should work as outlined above
13) Sign off!

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 30648: DBIC schema update
Katrin Fischer [Wed, 30 Oct 2024 17:26:18 +0000 (17:26 +0000)]
Bug 30648: DBIC schema update

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: DBIC schema update
Katrin Fischer [Wed, 30 Oct 2024 17:21:40 +0000 (17:21 +0000)]
Bug 37511: DBIC schema update

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37392: (QA follow-up) Attempt to clarify POD
Martin Renvoize [Wed, 30 Oct 2024 07:21:36 +0000 (07:21 +0000)]
Bug 37392: (QA follow-up) Attempt to clarify POD

This aptch attemptes to tidy up and clarify the POD for various 'things'
methods in the Koha::Patron class.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37392: (follow-up) Tidy and improve descriptions
Nick Clemens [Tue, 29 Oct 2024 12:57:38 +0000 (12:57 +0000)]
Bug 37392: (follow-up) Tidy and improve descriptions

Tidy and improve the description of patron limits in staff interface

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37392: Adjust routines
Nick Clemens [Wed, 24 Jul 2024 19:18:15 +0000 (19:18 +0000)]
Bug 37392: Adjust routines

The current code only handled a single layer of groups - top level setting the features, and libraries directly
underneath.

The code, however, was not correctly checking the features, and was limiting to single like when no restrictions found.

This patch gets the root ancestor for a group, checks the desired feature against than group, then fetches all children
of the current group and makes them allowed - i.e. when a library is in a group, all siblings and descendants in that group
or subgroups can be accessed

I adjust some typos in the tests too, this needs more cleanup in the future, but am submitting for any discussion

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37392: can_see_things_from is always checking patron visibility
Nick Clemens [Tue, 23 Jul 2024 13:26:12 +0000 (13:26 +0000)]
Bug 37392: can_see_things_from is always checking patron visibility

When trying to edit items, we are seeing the button visibility affected by a patron's
permission to view patrons form any library.

This is because can_edit_items_from is calling can_see_things_from - which is ultimately calling
libraries_where_can_see_patrons

That last call should be to libraries_where_can_see_things. This patch corrects that, and passes forward the group feature to check against

To test:

Set up library group:
* Create a library group for library A + B
* Action: Limit item editing by group

Set up test user:
* Create a staff patron with these permissions:
  * catalogue
  * fast_cataloguing
  * edit_items
  * view_borrower_infos_from_any_libraries
  * edit borrowers
* Home library: library A

Set up test items:
* Create a record with 3 items with different home libraries:
  * A
  * B
  * C

We expect the user will be allowed to edit A and B, but not C.

Test:
* Test editing the items with the test user, only A is allowed to be edited.
* Remove the view_borrower_infos_from_any_libraries permission from test user.
* Test editing items now behaves as expected: A + B are allowed, C is not.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37392: Unit test
Nick Clemens [Tue, 23 Jul 2024 13:55:13 +0000 (13:55 +0000)]
Bug 37392: Unit test

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 38286: Do not fetch the items if OpacHiddenItemsHidesRecord is set
Jonathan Druart [Tue, 29 Oct 2024 12:52:48 +0000 (13:52 +0100)]
Bug 38286: Do not fetch the items if OpacHiddenItemsHidesRecord is set

Koha::Biblio:hidden_in_opac does not need to fetch the items if OpacHiddenItemsHidesRecord is set

Test plan:
  prove t/db_dependent/Koha/Biblio.t t/db_dependent/Koha/Item.t t/db_dependent/api/v1/biblios.t
Should return green

Confirm the assumption above is correct.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 36977: (QA follow-up) Adapt tests
Tomas Cohen Arazi [Tue, 29 Oct 2024 10:41:57 +0000 (07:41 -0300)]
Bug 36977: (QA follow-up) Adapt tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 36977: Google does not read sitemaps with the name sitemapNNNN.xml
Janusz Kaczmarek [Tue, 28 May 2024 20:16:09 +0000 (20:16 +0000)]
Bug 36977: Google does not read sitemaps with the name sitemapNNNN.xml

We have experienced problems with Google indexing: it seems (controlled
in Google search console) that Google does not "like" sitemaps
with a name like sitemapNNNN.xml (does not read them).  Changing the name
to sitemap_NNNN.xml miraculously resolves the issue: individual pieces of
sitemap are read as they are declared in sitemapindex.xml.

Test plan:
==========
1. Have your site configured to work with Google search console
   (cf. https://support.google.com/webmasters/answer/9008080).
2. Generate sitemap with:
   misc/cronjobs/sitemap.pl --dir /var/lib/koha/<instance>/sitemap
   (create the directory if necessary)
3. Check with you browser that the sitemap is generated:
   http://<OPAC-url>/sitemapindex.xml
   Check that the individual pieces are readeable:
   http://<OPAC-url>/sitemap0001.xml
4. Go to the Google seach console > Sitemaps > Add a new sitemap
   Enter sitemapindex.xml
5. Most probably Google won't read your sitemap chunks with the
   warning: "Couldn't fetch".
6. Apply the patch. Repeat p. 2, 3, 4, with the difference of the
   chunk name:
   http://<OPAC-url>/sitemap_0001.xml
7. You should see Google reading your entire sitemap with the info:
   "Success".

Signed-off-by: Michael Skarupianski <michael.skarupianski@gmail.com>
Signed-off-by: Michał Kula <148193449+mkibp@users.noreply.github.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl
Kyle M Hall [Fri, 26 Jul 2024 14:48:17 +0000 (10:48 -0400)]
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl

It would be nice to be able to filter the plugins run by plugins
nightly for development and testing, and for added flexibility
as to when to run cronjob_nightly for different plugins if need be.

Test Plan:
1) Apply this patch
2) Check the metadata for an installed plugin, copy the name or another
   metadata value.
3) Run plugins_nightly.pl with a filter that does not match
   e.g. plugins_nightly.pl -m name="No plugin has this name"
4) Note no plugins cronjob methods are run
5) Run plugins_nightly.pl with a filter that *does* match
   e.g. plugins_nightly.pl -m name="Example Kitchen-Sink Plugin"
6) Not only the matching plugin runs!
7) Run plugins_nightly with no filter
   e.g. plugins_nightly.pl
8) Note all plugins with nightly cronjobs are run!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 38248: Do not deal with return claims if pref is not set
Jonathan Druart [Wed, 30 Oct 2024 08:53:44 +0000 (09:53 +0100)]
Bug 38248: Do not deal with return claims if pref is not set

If the pref is not set we don't embed return_claims and so
row.return_claims will never be set.
When the pref is on, row.return_claims should always be an array.

Test plan:
Same as previous patch

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37582: Add unit test
Kyle M Hall [Wed, 30 Oct 2024 11:53:35 +0000 (11:53 +0000)]
Bug 37582: Add unit test

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 38273: Adjust t/db_dependent/api/v1/holds.t
Pedro Amorim [Wed, 30 Oct 2024 09:20:04 +0000 (09:20 +0000)]
Bug 38273: Adjust t/db_dependent/api/v1/holds.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: DBRev 24.06.00.053
Katrin Fischer [Wed, 30 Oct 2024 08:13:36 +0000 (08:13 +0000)]
Bug 37511: DBRev 24.06.00.053

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: (QA follow-up) Add boolean hint
Martin Renvoize [Mon, 28 Oct 2024 15:08:25 +0000 (15:08 +0000)]
Bug 37511: (QA follow-up) Add boolean hint

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: Unit tests
Janusz Kaczmarek [Tue, 1 Oct 2024 13:29:02 +0000 (13:29 +0000)]
Bug 37511: Unit tests

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: Location of the currency symbol (before or *after*) the amount
Janusz Kaczmarek [Tue, 1 Oct 2024 08:30:33 +0000 (08:30 +0000)]
Bug 37511: Location of the currency symbol (before or *after*) the amount

It is customary in non-English-speaking European countries to write the
currency symbol after the amount and separated from it by a space (e.g.
123 €, 54 zł, 38 Kč).  This custom should be taken into account
in Koha::Number::Price::_format_params (by proper use the p_cs_precedes
parameter).

The correct display of the currency is particularly important when using
OPACShowSavings system preference.

Test plan:
==========
1. Enable OPACShowSavings, have some items with defined 'v - Cost,
   replacement price'.  Check out the items to a patron.
2. Log in to OPAC as the patron.  See the amount of 'total savings' on
   the main page.  Note that the currency symbol precedes the amount.
   There is no way to configure the position of the currency symbol.
3. Apply the patch ; updatedatabase.pl ; restart_all.
4. Go to  Administration > Currencies and exchange rates.  Modify the
   active currency unchecking the 'Currency symbol precedes value'
   checkbox.
5. Refresh the OPAC page.  See that the position of the currency symbol
   has been changed.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: DBIC schema changes for bug 37511
Janusz Kaczmarek [Tue, 1 Oct 2024 11:01:44 +0000 (11:01 +0000)]
Bug 37511: DBIC schema changes for bug 37511

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37511: DB changes
Janusz Kaczmarek [Tue, 1 Oct 2024 10:36:30 +0000 (10:36 +0000)]
Bug 37511: DB changes

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37944: Log object delete as JSON diff, implement for items
Kyle M Hall [Tue, 17 Sep 2024 13:37:26 +0000 (09:37 -0400)]
Bug 37944: Log object delete as JSON diff, implement for items

We should store deleted objects as diffs just as we do for modification and item created.
This enhancement will store modification diffs if the action is set to DELETE, and an "original" object is passed in.

Test Plan:
1) Enable CataloguingLog
2) Deletee an item
3) Query the database for the newest action log:
   select * from action_logs order by action_id desc limit 1\G
4) Note the diff column is NULL
5) Apply this patch
6) Restart all the things!
7) Delete another item
8) Query the database again
9) Note the diff has been created!

Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 37943: Log object create as JSON diff, implement for items
Kyle M Hall [Tue, 17 Sep 2024 13:26:49 +0000 (09:26 -0400)]
Bug 37943: Log object create as JSON diff, implement for items

We should store newly created objects as diffs just as we do for modifications.
This enhancement will store modification diffs if the action is set to ADD or CREATE and an "original" object is passed in.

Test Plan:
1) Enable CataloguingLog
2) Create an item
3) Query the database for the newest action log:
   select * from action_logs order by action_id desc limit 1\G
4) Note the diff column is NULL
5) Apply this patch
6) Restart all the things!
7) Create another item
8) Query the database again
9) Note the diff has been created!

Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38266: (bug 21083 follow-up) Increment after comparison
Nick Clemens [Thu, 24 Oct 2024 18:17:54 +0000 (18:17 +0000)]
Bug 38266: (bug 21083 follow-up) Increment after comparison

To test:
 1 - Define a patron attribute as repeatable
 2 - Add multiple values to a patron (I used borrowernumber 5)
 3 - Tools->Batch patron modification
 4 - Modify the patron from step 1, selecting the attribute you created and checking the box to clear
 5 - View the patron, they look correct
 6 - Check the DB:
    SELECT * FROM borrower_attributes WHERE borrowernumber=5;
 7 - There is one blank value
 8 - Apply patch
 9 - Repeat batch modification
10 - Check the DB, no attribute!
11 - Test with multiple attributes in the batch modification and ensure only the correct one is removed
12 - Sign off

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38158: Typo in inventory 'Items has no "not for loan" status'
Caroline Cyr La Rose [Fri, 11 Oct 2024 19:56:29 +0000 (15:56 -0400)]
Bug 38158: Typo in inventory 'Items has no "not for loan" status'

This patch corrects a typo in the inventory tool when an inventory
is done against not for loan items and an item has no not for loan
status.

To test:
1. Go to Cataloging > Inventory
2. Enter a barcode for an item that has items.notforloan = 0 in the "Or scan items one by one" text box
3. Check all the boxes EXCEPT "For loan" under "Optional filters for inventory list or comparing barcodes" > "items.notforloan"
4. Click "Submit"
   --> In the "Problems" column, it says "Items has no "not for loan" status"
5. Apply patch
6. Reload the page
   --> In the "Problems" column, "Item" should now be singular

Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 35305: (QA follow-up) XSLT is an abbrevation and sort sysprefs.sql alphabetically
Katrin Fischer [Wed, 30 Oct 2024 06:41:53 +0000 (06:41 +0000)]
Bug 35305: (QA follow-up) XSLT is an abbrevation and sort sysprefs.sql alphabetically

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 35305: DBRev 24.06.00.052
Katrin Fischer [Wed, 30 Oct 2024 06:41:28 +0000 (06:41 +0000)]
Bug 35305: DBRev 24.06.00.052

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 35305: (follow-up) Fix identing
Fridolin Somers [Fri, 10 Nov 2023 02:05:43 +0000 (16:05 -1000)]
Bug 35305: (follow-up) Fix identing

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 35305: Add sample XSLT for UNIMARC authorities details page
Fridolin Somers [Thu, 9 Nov 2023 22:11:04 +0000 (12:11 -1000)]
Bug 35305: Add sample XSLT for UNIMARC authorities details page

Also creates UNIMARCauthUtils.xsl to share templates with UNIMARCauthResults.xsl

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 35305: Add XSLT for authority details page in staff interface
Fridolin Somers [Thu, 9 Nov 2023 21:20:43 +0000 (11:20 -1000)]
Bug 35305: Add XSLT for authority details page in staff interface

This adds a new system preference 'AuthorityXSLTDetailsDisplay'.
If set, authority MARCXML will be transformed using the XSLT
at the given filename or URL.
The HTML output will be displayed in place of tabs in details page.

The syspref value can contain {langcode} and {authtypecode} which will
be replaced by the appropriate value (resp. current language and
authority type code).

Test plan:
1) Apply patch and run updatedatabase
2) Search for an authority type GEOGR_NAME and view details page
3) Verify that display is not affected yet
4) Create an XSLT file (for example in /home/koha/xslt/en/GEOGR_NAME.xsl)
5) Set 'AuthorityXSLTDetailsDisplay' system preference to :
   /home/koha/xslt/{langcode}/{authtypecode}.xsl
6) Refresh details page
7) Verify that display matches what you expect from the XSLT
8) Set 'AuthorityXSLTDetailsDisplay' system preference to :
   <path to sources>/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCauthDetails.xsl
8) Refresh details page
9) Verify that display matches what you expect from your XSLT

Example of a minimal XSLT:

<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
 xmlns:marc="http://www.loc.gov/MARC21/slim"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes"/>
  <xsl:template match="marc:record">
    <xsl:element name="div">
      <xsl:attribute name="class">
        <xsl:text>authority-summary</xsl:text>
      </xsl:attribute>
      <xsl:value-of select="marc:datafield[@tag='151']/marc:subfield[@code='a']"/>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 32413: Fix repeated param names for JSON report
Johanna Räisä [Tue, 8 Oct 2024 10:46:24 +0000 (13:46 +0300)]
Bug 32413: Fix repeated param names for JSON report

This patch fixes repeated param names for JSON report.

To test:

1) Create a report
    SELECT count(*) from items where homebranch = <<Branchcode>>
    UNION ALL
    SELECT count(*) from deleteditems where homebranch = <<Branchcode>>
2) Run the report as JSON, cgi-bin/koha/svc/report?id=<id>&sql_params=<Branchcode>
3) Check that the second value is 0
4) Apply the patch
5) Run the report as JSON again
6) Check that the second value has the correct value
7) prove t/db_dependent/Koha/Reports.t

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38055: Space between label and value for MARC field 530
phette23 [Mon, 14 Oct 2024 02:22:05 +0000 (19:22 -0700)]
Bug 38055: Space between label and value for MARC field 530

To test:

- Find a record with a 530 field or add a 530 to an existing record
- View record in OPAC — note no space between label and value
- Apply patch
- Restart Plack
- View record in OPAC — space is present

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 14180: (QA follow-up) Fix typo in system preference description and add a bit...
Katrin Fischer [Wed, 30 Oct 2024 06:26:20 +0000 (06:26 +0000)]
Bug 14180: (QA follow-up) Fix typo in system preference description and add a bit context

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 14180: DBRev 24.06.00.051
Katrin Fischer [Wed, 30 Oct 2024 06:23:27 +0000 (06:23 +0000)]
Bug 14180: DBRev 24.06.00.051

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 14180: (QA follow-up) Re-arrange sysprefs to fix QA warnings
Tomas Cohen Arazi [Fri, 25 Oct 2024 14:54:18 +0000 (11:54 -0300)]
Bug 14180: (QA follow-up) Re-arrange sysprefs to fix QA warnings

Not strictly related to this patchset, but showed up here.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 14180: Add option to always load the issues table
Lucas Gass [Fri, 26 Jan 2024 17:35:38 +0000 (17:35 +0000)]
Bug 14180: Add option to always load the issues table

To test:
 1. APPLY PATCH, updatedatebase, restart_all
 2. Search for the system preference 'AlwaysLoadCheckoutsTable' and set it to 'Do'.
 3. Go to 'circ/circulation.pl?borrowernumber=X' for a patron with checkouts. ( Check out tab ).
 4. The table should load right away.
 5. Go to 'members/moremember.pl?borrowernumber=X' for a patron with checkouts. ( Details tab ).
 6. The table should load right way.
 7. Set a value in the 'LoadCheckoutsTableDelay' system preference.
 8. Back on 'circ/circulation.pl?borrowernumber=X', make sure the delay is honored. You should see a message like "Checkouts table will automatically load in X seconds".
 9. The delay should NOT be honored on'members/moremember.pl?borrowernumber=X', that table should load right away/
10. Turn off 'AlwaysLoadCheckoutsTable' and make sure the table does not load, or loads according to the cookie set when checking the 'Always show checkouts automatically' checkbox.

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 14180: Add AlwaysLoadCheckoutsTable system preference
Lucas Gass [Fri, 26 Jan 2024 17:34:40 +0000 (17:34 +0000)]
Bug 14180: Add AlwaysLoadCheckoutsTable system preference

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37209: (QA follow-up) Add default op value to form
Jan Kissig [Tue, 29 Oct 2024 18:59:13 +0000 (18:59 +0000)]
Bug 37209: (QA follow-up) Add default op value to form

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37209: improve Record overlay rules validation and styling
Jan Kissig [Wed, 3 Jul 2024 12:48:17 +0000 (14:48 +0200)]
Bug 37209: improve Record overlay rules validation and styling

This patch adds jquery form validation to the input named tag. It also changes the behavior for save and edit actions which now both can be triggered by pressing enter. Batch deletion will be only possible if no edit is taking place.

Test plan:
1)
 a) open http://localhost:8081/cgi-bin/koha/admin/marc-overlay-rules.pl
 b) just click + Add rule
 c) the input 'tag' gets highlighted and the form won't submit

2)
 a) edit an existing rule
 b) empty input value for tag
 c) notice the checkboxes for batch deletion on other rules if existing
 d) click Save and check the input 'tag' gets highlighted and the form won't submit

apply patch
1) redo steps and check that form does not get submitted and the input is marked as required via a label that says This field is required.

2) redo steps and check that form does not get submitted and the input is marked as required via a label that says This field is required. Also checkboxes for batchremove actions are gone.

Signed-off-by: Olivier Vezina <olivier.vezina@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37965: (QA follow-up) fix WYSIWYG in sysprefs
David Cook [Tue, 29 Oct 2024 22:45:23 +0000 (22:45 +0000)]
Bug 37965: (QA follow-up) fix WYSIWYG in sysprefs

Test plan:
1. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?
op=search&searchfield=UseWYSIWYGinSystemPreferences
2. Enable the system preference to show WYSIWYG in HTML system preferences
3. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?
op=search&searchfield=OPACSearchForTitleIn
4. Add a link for "http://localhost:8081/cool.pl"
5. Note in the source code that the URL gets mangled

6. Apply the patch

7. Repeat the above test plan
8. Note that the URL has NOT been mangled and remains
http://localhost:8081/cool.pl

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37965: Restore Bug 12032 - TinyMCE rewrites urls in a very annoying and unexpecte...
Lari Taskula [Thu, 19 Sep 2024 17:37:09 +0000 (17:37 +0000)]
Bug 37965: Restore Bug 12032 - TinyMCE rewrites urls in a very annoying and unexpected way

To test:
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12032#c3

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38204: Tidy
Tomas Cohen Arazi [Fri, 25 Oct 2024 13:31:53 +0000 (10:31 -0300)]
Bug 38204: Tidy

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38204: (QA follow-up) Require name property
Matt Blenkinsop [Thu, 24 Oct 2024 09:27:14 +0000 (09:27 +0000)]
Bug 38204: (QA follow-up) Require name property

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38204: Add unit test
Matt Blenkinsop [Thu, 17 Oct 2024 13:41:02 +0000 (13:41 +0000)]
Bug 38204: Add unit test

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38204: Add api endpoint to list baskets
Matt Blenkinsop [Wed, 2 Oct 2024 15:35:27 +0000 (15:35 +0000)]
Bug 38204: Add api endpoint to list baskets

This patch adds an API endpoint to list baskets
It uses CanUserManageBasket to respect the users permissions and sysprefs

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 35659: (QA follow-up) Fix t/db_dependent/Koha/OAIHarvester.t
Matthias Meusburger [Tue, 29 Oct 2024 11:00:35 +0000 (11:00 +0000)]
Bug 35659: (QA follow-up) Fix t/db_dependent/Koha/OAIHarvester.t

 - OPACBaseURL must be set correctly.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37522: Unit tests
Janusz Kaczmarek [Mon, 16 Sep 2024 08:42:11 +0000 (08:42 +0000)]
Bug 37522: Unit tests

NB, since the 6th argument to logaction is now mandatory for logging item
modifications, one had to modify one line from the previous tests by
adding this additional parameter.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37522: Logging item modification should record the original version of the item
Janusz Kaczmarek [Tue, 30 Jul 2024 11:03:54 +0000 (11:03 +0000)]
Bug 37522: Logging item modification should record the original version of the item

When modifying bibliographic record, Koha records in the log the
original version of the record.  This allows one to see what has been
changed in the record.

However, in case of item modification Koha records in the log the the
current version of the item (i.e. the version after the edit).  This is
inconsistent with the biblio modification behavior and makes it
difficult or even impossible to trace changes (especially in case of the
first modif since the initial version is not being recorded).

This patch makes the item modification logging feature work similarly to
logging modifications in bibliographic records.

Test plan:
==========
1. With CataloguingLog enabled (default in ktd) make a modification of
   an item.
2. Check the Modification log.  You should see as the recorded version
   the version of the item after the modification.
3. Apply the patch; restart_all.
4. Repeat p. 1.
5. In the Modification log you should see now the version of the item
   that existed before the recent modification.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38125: Add a warning if privacy pulldown is changed to "never"
Kyle M Hall [Tue, 8 Oct 2024 17:39:31 +0000 (13:39 -0400)]
Bug 38125: Add a warning if privacy pulldown is changed to "never"

It is possible to interpret the language on opac-privacy.pl as only
acting on future checkins and not current historical checkouts. We
should add clarifying text to that page

Test plan:
1) Apply this patch
2) Enable opac privacy
3) Change pulldown to "never"
4) Note the warning message appears

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37988: Use Bootstrap 5 class .visually-hidden-focusable
Owen Leonard [Tue, 24 Sep 2024 13:49:17 +0000 (13:49 +0000)]
Bug 37988: Use Bootstrap 5 class .visually-hidden-focusable

It looks to me like we can remove the visibility properties from the
home button CSS and wrap the text in a <span> with Bootstrap 5's
"visually-hidden-focusable" class:

https://getbootstrap.com/docs/5.3/getting-started/accessibility/#visually-hidden-content

That appears to give us the behavior we want: A focusable icon which
isn't obscured by the focus border.

To test, apply the patch and rebuild the staff interface CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface).

In the staff interface, test some pages by using tab or shift-tab to
move between elements on the page to confirm that the home icon can be
tabbed to.

Signed-off-by: Olivier Vezina <olivier.vezina@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37662: Improve library information text consistency
David Nind [Fri, 16 Aug 2024 22:05:49 +0000 (22:05 +0000)]
Bug 37662: Improve library information text consistency

This improves the consistency of the text between the staff
interface library information listing page, and the add,
view, and modify library pages. It also improves the text
for some field hints.

Test plan:
1. Go to Koha administration > Basic parameters > Libraries.
2. Note these inconsistencies:
   2.1 Library hours - the text if no hours are set:
       - For the table, the text is "Library hours not set"
       - For the view, add, and modify library pages the text
         is "No opening hours have been set."
   2.2 The column and field names for library hours:
       - For the table, the column name in the list of libraries
         is "Library hours".
       - For the view, add, and modify library pages the field
         label is "Opening hours".
   2.3 For the "MARC organization code" field, there is no
       colon (:) on the view, add, and modify library pages.
   2.4 For the "OPAC info" field name, "info" is not spelt
       in full.
   2.5 The hints for the Reply-To and Return-Path fields use
       this format "Default: <SystemPreferenceName> system
       preference" pattern, but the MARC organization code
       field doesn't.
3. Leave tabs open for the library listing, view, and modify
   library pages.
4. Apply the patch, then duplicate and refresh the tabs for
   the library listing, view, and modify library pages (so
   you can compare the differences).
5. Note that the inconsistencies in step 2 are now fixed.
6. Note that the hint text for these fields is changed:
   6.1 IP field: active voice
   6.2 MARC organization code: follows the pattern used for
       the Reply-To and Return-Path fields.
   6.3 Public: 'yes' to 'Yes'
7. Sign off D:

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Olivier Vezina <olivier.vezina@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 33178: (QA follow-up) Reformat js changes
Paul Derscheid [Mon, 28 Oct 2024 14:39:23 +0000 (14:39 +0000)]
Bug 33178: (QA follow-up) Reformat js changes

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 33178: Use template wrapper for authority and bibliographic subfield entry form...
Owen Leonard [Thu, 6 Jun 2024 15:10:21 +0000 (15:10 +0000)]
Bug 33178: Use template wrapper for authority and bibliographic subfield entry form tabs

This patch updates the authority and bibliographic subfield entry
forms to replace tab markup with the use of WRAPPERs. Some JS has been
modified in order to adapt to the changed Bootstrap tab markup.

The patch also updates the WRAPPER code so that a unique ID can be
added to individual tabs. This is necessary as a hook for the Sortable
JavaScript.

To test, apply the patch and go to Administration.

- Go to MARC bibliographic frameworks -> Actions -> MARC structure.
  - Click Actions -> View subfields for a tag with more than one
    subfield.
    - Click the "Edit" button for one of the subfields, not the first
      one in the list.
      - The tab for the subfield you chose should be active.
      - Confirm that all the tabs look correct and work correctly.
      - Try dragging one of the tabs into a new position. Save your
        changes and confirm that the subfield was saved in that new
        position.
- Go to Administration -> Authority types -> Actions -> MARC structure
  and repeat the same steps above with the authority record subfields.

Sponsored-By: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38243: Remove options.query_parameters
Jonathan Druart [Wed, 23 Oct 2024 14:51:00 +0000 (16:51 +0200)]
Bug 38243: Remove options.query_parameters

This is never passed: `git grep query_parameters`

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38243: Remove DT's header_filter custom param
Jonathan Druart [Wed, 23 Oct 2024 14:49:27 +0000 (16:49 +0200)]
Bug 38243: Remove DT's header_filter custom param

It seems to be a leftover from bug 32401, the code does not make sense:

 569                 if(options.header_filter) {
 570                     options.query_parameters = query_parameters;
 571                 } else {
 572                     dataSet.q = query_parameters;
 573                     delete options.query_parameters;
 574                 }

Then options.query_parameters is never used.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38234: Remove unused jszip.min.js file
Jonathan Druart [Wed, 23 Oct 2024 10:12:13 +0000 (12:12 +0200)]
Bug 38234: Remove unused jszip.min.js file

This specific file is not used since Bug 23013 ("Upgrade DataTables in the staff client")

This version is vulnerable and should not be used in the future anyway.

There is a version embedded in our DataTables bundle, which is jszip-3.10.1.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38120: Also remove 'Remember me' - who wants to remember?
Jonathan Druart [Tue, 8 Oct 2024 13:16:44 +0000 (15:16 +0200)]
Bug 38120: Also remove 'Remember me' - who wants to remember?

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38120: Remove commented lines in auth.tt
Jonathan Druart [Tue, 8 Oct 2024 13:14:14 +0000 (15:14 +0200)]
Bug 38120: Remove commented lines in auth.tt

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38131: ILS-DI doc must show renewals_count
Fridolin Somers [Wed, 9 Oct 2024 12:35:11 +0000 (14:35 +0200)]
Bug 38131: ILS-DI doc must show renewals_count

Since Bug 30275 renamed issues.renewals to issues.renewals_count, the ILS-DI doc needs to be updated in :
koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt
Note that service 'RenewLoan' returns 'renewals' this has not changed.

Test plan :
1) Enable ILS-DI webservice
2) Go to opac : /cgi-bin/koha/ilsdi.pl
3) Click on 'GetRecords'
4) Check you see 'renewals_count' in 'Example response'
5) Click on 'GetPatronInfo'
6) Check you see 'renewals_count' in 'Example response'

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37639: (follow-up) Remove redundant mappings from Koha::Item::to_api_mapping()
Tomas Cohen Arazi [Tue, 29 Oct 2024 11:09:58 +0000 (08:09 -0300)]
Bug 37639: (follow-up) Remove redundant mappings from Koha::Item::to_api_mapping()

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37639: Add items.stack to items endpoint
Lucas Gass [Tue, 13 Aug 2024 21:01:51 +0000 (21:01 +0000)]
Bug 37639: Add items.stack to items endpoint

To test:
1. Apply patch and restart_all, and yarn api:bundle
2. Check the items endpoint for items.stack ( http://localhost:8081/api/v1/items/144 )
3. The data is there, and correct.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38233: Add regression tests
Pedro Amorim [Tue, 29 Oct 2024 10:20:04 +0000 (10:20 +0000)]
Bug 38233: Add regression tests

prove t/db_dependent/ILSDI_Services.t

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38233: respect OPAC visibility for ILS-DI GetRecords
David Cook [Tue, 22 Oct 2024 23:57:57 +0000 (23:57 +0000)]
Bug 38233: respect OPAC visibility for ILS-DI GetRecords

This change makes the ILS-DI GetRecords service use the OPAC
version of the MARCXML and filters items based on their OPAC visibility

Test plan:
1. Apply the patch
2. koha-plack --restart kohadev
3. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ILS-DI
and enable syspref
4. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OpacHiddenItems
and add the following:
withdrawn: [1]
5. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=hidelostitems
Change syspref to "Don't show"
6. Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=29
7. Add a withdrawn item and a lost item with barcodes of "test1" and "test2" respectively
8. Go to http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=GetRecords&id=29
9. Note the items with barcodes test1 and test2 do not appear in the "items" tree and they don't
appear in the "marcxml" tree.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38231: Adjust CSS for search result controls in the OPAC
Owen Leonard [Tue, 22 Oct 2024 17:16:07 +0000 (17:16 +0000)]
Bug 38231: Adjust CSS for search result controls in the OPAC

This patch makes some markup and CSS changes to the OPAC so that
controls are aligned correctly in the "mobile" view's catalog search
results. The patch also removes the border from the controls... I think
the borders looks out of place.

To test apply the patch and rebuild the OPAC CSS.

- Perform a catalog search.
- Check the styling of the controls shown for each search result, e.g.
  Place hold, Add tg, Save to lists, etc.
  - Make sure the controls work well when the browser window is various
    widths, from ~600px and up.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Yanjun Li <yanjun.li@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38273: Make sure same object is returned
Tomas Cohen Arazi [Mon, 28 Oct 2024 12:13:29 +0000 (09:13 -0300)]
Bug 38273: Make sure same object is returned

This patch adds a test to make sure the same object is returned. A code
change is also added to make sure the tests pass.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 38273: Make Koha::Object->discard_changes chainable
Jonathan Druart [Mon, 28 Oct 2024 10:49:13 +0000 (11:49 +0100)]
Bug 38273: Make Koha::Object->discard_changes chainable

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37184: Special character encoding problem when importing MARC file from the Acqui...
Hammat Wele [Mon, 26 Aug 2024 21:21:50 +0000 (21:21 +0000)]
Bug 37184: Special character encoding problem when importing MARC file from the Acquisitions module

1. Go to Cataloging > "Stage records for import".
2. Upload the file "ExportMemento2024061010532869Marc8.mrc" or a MARC8 encoded file.
3. In the form, select the options :
   - Record type: Bibliographic
   - Character encoding: MARC8
   - Format: MARC
4. Click "Stage for import".
5. Find or create an open basket in the Acquisitions module.
6. Click "add to basket".
7. Select "From a staged file" and select the previous staged file.
9. Click "Select all" to check all records.
10. In the item information tab, choose the Document type.
11. Verify the titles of the records in the basket:
 --> Koha replaces accents with symbols �

12. Apply the patch.
13. Do the same from step 1 and notice there is no more encoding issues.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 30648: deleted_biblio_id can be null
Jonathan Druart [Tue, 29 Oct 2024 10:34:14 +0000 (11:34 +0100)]
Bug 30648: deleted_biblio_id can be null

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 33484: checkouts - Move visibility handling to table_settings
Jonathan Druart [Tue, 29 Oct 2024 09:42:22 +0000 (10:42 +0100)]
Bug 33484: checkouts - Move visibility handling to table_settings

We need to set is_hidden for the column we want to force hide (depending
on system config)

This patch fixes t/db_dependent/selenium/regressions.t

Obviously there will be incorrect behaviours if we restore from a state
and that the settings have been modified in the meanwhile.
Not sure we can deal with that properly.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 33484: Remove state settings from column level
Jonathan Druart [Tue, 29 Oct 2024 09:14:02 +0000 (10:14 +0100)]
Bug 33484: Remove state settings from column level

default_save_state and default_save_state_search were added at the
column level, it's not needed.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 35659: (QA follow-up) Fix t/db_dependent/Koha/OAIHarvester.t
David Cook [Tue, 29 Oct 2024 00:43:32 +0000 (00:43 +0000)]
Bug 35659: (QA follow-up) Fix t/db_dependent/Koha/OAIHarvester.t

Previously, this test just checked the last 1 day of bib activity,
but on a fresh test system there will be no activity, so it will always
fail.

Instead, let's just check that a number is returned for the total,
even if that total number is 0, since 0 is a valid response too.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 35659: (QA follow-up) fix t/db_dependent/TestBuilder.t
David Cook [Tue, 29 Oct 2024 00:35:45 +0000 (00:35 +0000)]
Bug 35659: (QA follow-up) fix t/db_dependent/TestBuilder.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 38013: Add classes to messages in returns.tt
Andrew Fuerste Henry [Fri, 27 Sep 2024 14:08:14 +0000 (14:08 +0000)]
Bug 38013: Add classes to messages in returns.tt

To test:
1 - enable FineNotifyAtCheckin
2 - enable AllowCheckoutNotes
3 - check out an item to a patron with fines on their account
4 - check out an item and place a checkout note on it
5 - check each item in, confirm each produces a message with the classes alert, alert-info, and alert-warning
6 - apply patch, restart_all
7 - repeat steps 3 and 4
8 - check items in, confirm messages now include issue-note and patron-fines classes

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 38041: Pass hide_main for all needsconfirm warnings in SCO
Lucas Gass [Mon, 30 Sep 2024 19:54:30 +0000 (19:54 +0000)]
Bug 38041: Pass hide_main for all needsconfirm warnings in SCO

To test:
1. APPLY PATCH and restart_all
2. Make sure the following errors when issuing in SCO show just the error, no other info. on screen:
DEBT
RENEW_ISSUE
ISSUED_TO_ANOTHER
RESERVED
TRANSFERRED
INVALID_DATE ( cant test in SCO )
TOO_MANY
RECALLED

Signed-off-by: CJ Lynce <cj.lynce@westlakelibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>