Commit Graph

54591 Commits

Author SHA1 Message Date
Janusz Kaczmarek 23660524f2 Bug 37271: Recall status should be 'requested' in overdue_recalls.pl
In "Bug 19532: Make recalls.status an ENUM" one-letter statuses were
replaced by their verbal equivalents.  But in overdue_recalls.pl
remained "R".  As a result, recalls never overdue.

No test plan provided--obvious correction.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 771db8c399)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:11:58 +00:00
Janusz Kaczmarek 0990190b26 Bug 37319: Move mappings for 752ad (MARC21) and 210a/214a (UNIMARC) to pl index
In Bug 36578, some fields were added to the pl index, but somehow it
ended up in the other-control-number index. This aims to put fields
752ad (MARC21) and 210a/214a (UNIMARC) in the pl index.

Test plan:
----------
0. Have an installation with Elasticsearch and MARC 21 configuration.
1. Under  Administration > Search engine configuration (Elasticsearch)
   under the tab Bibliographic records check that you have 752ad in
   other-control-number search field.
2. Apply the patch, reindex with:
   sudo koha-elasticsearch --rebuild -r -b kohadev
3. Under  Administration > Search engine configuration (Elasticsearch)
   under the tab Bibliographic records check that you have 752ad in pl
   search field now.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a3f4c9ec8a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:11:40 +00:00
Caroline Cyr La Rose 586a3b734c Bug 37329: Typo: authorised value in patron attribute types
This patch corrects a typo in the patron attribute type form.

Terminology indicates it should be "authorized" and not "authorised".

https://wiki.koha-community.org/wiki/Terminology

To test:
1. Apply patch
2. Go to Administration > Patron attribute types > New patron attribute type
--> The hint next to the Is a date checkbox should say "[...]an authorized
value category"

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3596b457bd)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:11:18 +00:00
Pedro Amorim 4fcbeca3f0 Bug 37275: (QA follow-up): Add &nbsp; to add spacing between selected user and button
Follow original test plan and apply first patch.
Select a user and notice the patron's name and the button have no spacing.
Apply this patch.
Notice there is now spacing.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8aecae09c1)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:11:00 +00:00
Eric Garcia b2f3c01ca0 Bug 37275: Removed parenthesis from Select user button in ERM
To test:
1. Apply patch and yarn build
2. In system preferences search and enable ERMModule
3. E-resource management -> Agreements -> New agreement
4. Click Add new user and notice the parenthesis around the +Select user button are removed

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a482848d2d)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:11:00 +00:00
Pedro Amorim 906f03db19 Bug 37289: Add sorting to test
Ensure the order of embedded records returned.
Dont apply the DONT PUSH patch.
prove ./t/db_dependent/api/v1/authorised_values.t ---> Notice if passes

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bce37851cf)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:06:42 +00:00
Jonathan Druart 2b0ac7096f Bug 37277: Detach identifiers on the local title list view
If a local title has both ISBN (Print) and ISBN (Online) the 2 values
are concanetate on the same line without space on the the local title
list view.

With this patch they are now separated by a new line.

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>
(cherry picked from commit 618b6986f2)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:06:21 +00:00
Pedro Amorim 79eb94bcc4 Bug 37283: Update expected error page title
I dont know how this was working before, but if we do:
cat -n /usr/share/perl5/HTTP/Response.pm | grep Error

We notice that error_as_HTML returns 'An Error Occurred' for page title and that is what we should be expecting?

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Caused by bug 37056.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6e1f317010)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:05:47 +00:00
Alexandre Noel c4cf8d698e Bug 37108: Cash register statistics wizard is wrongly sorting payment by manager_id branchcode
With this patch, it displays now the accountlines branchcode and not the
manager's branchcode.

(cr: Marie-Luce test plan)

Setup - before test

Staff accounts
    - have a superlibrarian account
    - create 2 limited access staff accounts, one by branches:
        e.g.
        - staff 1 - attached to branch A
        - staff 2 - attached to branch B

    Both restricted staff accounts should have the following permissions:

        - (circulate) ,
        - (borrowers),
        - in the patron fines: (manual_invoice), and (remaining_permissions)
        - ***ability to switch login library (loggedinlibrary)

Debit type
    - Add few debit types in your Koha (administration > debit types) to ease transactions search.
        e.g: "printing cost", "new card", "lost item"

        ***Ensure that each debit type is configured to "can be manually invoiced"

Test plan

1.  Login with "staff 1" in the intranet
    --> Koha should connect to branch A
2.  Find a "branch A" patron
3.  Add a manual invoice    (e.g printing -- 2.50$ )
4.  Pay this invoice
5.  Log out of the intranet
6.  Login with "staff2"
    --> Koha should connect to branch B
7.  Find a "branch B" patron
8.  Add a manual invoice with a unique debit type and amount (e.g. lost item - 12.80$ )
9.  Pay this invoice
10. Stay connect with "staff2" account, and switch to "branch A" at the top right corner of the screen
11. Find another "branch A" patron
12. Add a manual invoice with a unique debit type and amount (e.g. new card - 5.00$ )
13. Pay this invoice
14. Log out
15. Login with a "superlibrarian" account
16. Run the "Cash register" statistics wizards for "branch A"
        - Go to (Reports > Statistics wizards > Cash Registers )
        - dates: select the current date

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cf2fcbda75)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:05:28 +00:00
Janusz Kaczmarek 70f3a604c0 Bug 37231: (Bug 34940 follow-up) Highlight logged-in library in facets does not work with ES
The highlight logged-in library in facets feature does not work with
Elasticsearch.  This is because facet_title_value contains an additional
" (count)" information and so gives negative results in comparisons made
in facets.inc  (line 107).

Test plan:
==========
1. Have a test installation with Elastiscsearch.
2. Set system preference 'DisplayLibraryFacets' to 'both home and holding libraries'
3. Perform a seach that will find items of your logged-in library.
   In KTD, search for 'branch:CPL'
4. Check the facet (home and holding libraries) of your logged-in
   library is not highlighted
5. Apply the patch ; restart_all.
6. Repeat p. 3.  Check the facet (home and holding libraries)--you
   should see your logged-in branch highlighted now.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1d2b1dff3a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:05:21 +00:00
Owen Leonard 47791c8868 Bug 37257: Enable translation of Copy control in OPAC user summary
Currently we define translatable labels for DataTables "export" options
(Copy, CSV, Excel, and Print) in the section of datatables.js for adding
our own configuration to these buttons. This works fine until we
redefine a button without redefining the translatable label as we do in
opac-user.pl.

The correct solution is to define these strings in the default set of
language strings we use for all other DataTable strings. This patch
makes that change in both the staff interface and the OPAC (although the
problem only currently manifests in the OPAC).

To test, apply the patch and start the translation process:

- Install fr-CA or another language in the OPAC
    1. Run the following commands:
        - gulp po:update
        - ./misc/translator/translate update fr-CA
        - ./misc/translator/translate install fr-CA
    2. Go to Administration > System preferences
    3. Search for OPACLanguages and check fr-CA
    4. Set opaclanguagesdisplay to Allow
    5. Click "Save all I18N/L10N preferences"

- Check that "Copy" is translated in the .po files
   1. Open misc/translator/po/fr-CA-messages-js.po
   2. Search for "Copy"
        --> It should be translated as "Copier"

- Log in to the OPAC as a user with checkouts.
- Switch to the language you translated.
- View the user summary page.
  - The controls at the top of the table of checkouts should be
    correctly translated.

- In the staff interface, switch to the language you translated.
- Test any DataTable with export controls, e.g. Administration ->
  Libraries, to confirm that the "Export" menu items are still
  translated correctly.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cc5fead3be)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:59:09 +00:00
Owen Leonard 42cc47ef24 Bug 37242: Don't use the term branch in cash register administration
This patch replaces the word "branch" with "library" in the cash
register administration template in order to make it consistent with our
terminology guidelines.

To test you must have UseCashRegisters enabled.

- Apply the patch and go to Administration -> Cash registers.
- Confirm that the "Filter by" control at the top of the table reads
  "Filter by library."

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit c408ed66bb)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:58:44 +00:00
Janusz Kaczmarek 937b39d05b Bug 37233: Library URL broken on in libraries tables
The URL given for a library is badly encoded in the table on the
/cgi-bin/koha/admin/branches.pl page.  As a result, clicking on the link
leads to 404 page.

Test plan:
==========
1. Have a library with a URL defined.
2. In the table on the Libraries page (/cgi-bin/koha/admin/branches.pl)
   click the link with the URL.
   You should get "Error 404".
3. Apply the patch; restart_all.
4. Go to the Libraries page.  Ctrl+R to reload JS.
   You should be able to reach the URL given in the library setup now.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 236075e0da)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:58:27 +00:00
Owen Leonard 11ed36f2b3 Bug 37229: Fix table configuration listings for course reserves
This patch changes the structure of columns_settings.yml so that the
configuration of tables on opac-course-details.pl and
opac-course-reserves.pl are in separate sections. They should not be
grouped under "biblio-detail" (opac-detail.pl).

To test you should have at least one course defined and some items
attached to that course.

- Apply the patch and restart services.
- Go to Administration -> Table settings -> OPAC
- You should see "Jump to" links for biblio-detail, course_items, and
  course_list.
- Make some changes to the course_items and course_list configurations.
- Go to the OPAC and confirm that your changes are reflected in the
  visible columns of those tables.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2af6bbbe5d)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:58:05 +00:00
Owen Leonard ddeb8aa16a Bug 37264: Fix delete button on staff interface's suggestion detail page
This patch makes a few minor changes to the suggestion detail page in
the staff interface so that the "Delete" button looks correct and works
correctly.

To test, apply the patch and go to Suggestions in the staff interface.

- If necessary, submit a suggestion. You need at least one.
- From the suggestions management page, click the title of a suggestion.
- At the top of this page should be two buttons, "Edit" and "Delete."
  They should be styled consistently with each other.
- Clicking the "Delete" button should trigger a JavaScript confirmation
  dialog. Confirming should result in the suggestion being deleted.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3f0bf0c1d8)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:58:05 +00:00
Eric Garcia 6c9c5d6c14 Bug 36821: Changed Authority Type text limit for librarians and OPAC to match database
To test:
1. Administration -> Authority Types
2. Select Genre -> Actions -> MARC Structure
3. Search or find tag 090 -> Actions -> Edit
4. Don't make any edits just hit submit
5. See the error: Please enter no more than 100 characters
6. Apply patch
7. Repeat steps 1-4
8. Notice error is gone and you can enter up to 255 characters to match database

Extra Credit:
1. Administration -> Authority Types
2. Select Genre -> Actions -> MARC Structure
3. Search or find tag 090 -> Actions -> Subfields
4. Choose any subfield -> Edit
5. Write a description for staff interface or OPAC
6. Notice you enter up to 255 characters to match database

Please enter the commit message for your changes. Lines starting

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bcb90f92f2)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:52:48 +00:00
Phil Ringnalda aa83fa2644 Bug 37252: Use our local copy of MARC21slimUtils.xsl in MARC21slim2MADS.xsl
Our local copy of the Library of Congress stylesheet MARC21slim2MADS.xsl is
our only one which includes MARC21slimUtils.xsl directly from the Library of
Congress rather than including our local copy. That makes it a fragile canary
for whatever reason that it currently isn't loading, but because it's not
exactly the most popular menu choice in all of Koha, it's far from being one
that anyone will notice.

We should instead include our local copy, make the bug 29556 change to
MARC21slim2MADS.xsl, and if someone wants to notice when including xsl from
LoC fails, they should write a test for it rather than depend on someone
noticing that saving authority records as MADS fails.

Test plan:
1. Without the patch, Authorities - search for Smith - click the linked
   name of any result to show authorities/detail.pl
2. Save - MADS (XML)
3. Check your downloaded file, see that it is zero bytes
4. Apply patch, restart_all
5. Repeat step 2, but this time find that your downloaded file is more
   than zero bytes.

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>
(cherry picked from commit 905932e451)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:52:23 +00:00
Pedro Amorim 31d691cf98 Bug 37246: (QA follow-up) DRY Dropdown
If we're using the same dropdown it should be defined once.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ef4efffe46)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:52:00 +00:00
Nick Clemens 8d5604962e Bug 37246: Use the same dropdown for filtering and editing/adding budgets
This patch removes a second fetch of budgets form the db, and clones the dropdown in the template
as we will only ever be displaying one of them at a time.

The JS is moved to fire for both operations.

To test:
 1 - Create an active and inactive budget in acquisitions
 2 - Add funs to both
 3 - Visit - Acquisitions -> Suggestions
 4 - Click 'Acquisition information' under filters on the left
 5 - Note all funds are showing
 6 - Apply patch
 7 - Reload
 8 - Note you only see active budgets
 9 - Check the box to show inactive, verify they show
10 - Filter by an inactive budget
11 - Confirm selection remains
12 - Add a suggestion and verify budget dropdown works
13 - Edit the suggestion and verify budget dropdown works

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 12a9e98d2d)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:52:00 +00:00
Sam Lau c9a7c054a5 Bug 37194: Improve link from unconfigured ILL module
To test:
1) Enable the ILLModule syspref
2) Go to the ILL module
3) Observe the link that reads "Take a look at the about page" and points to http://localhost:8081/cgi-bin/koha/about.pl#sysinfo_panel
4) Apply patch
5) Observe the link that reads "Take a look at the about page" now points to http://localhost:8081/cgi-bin/koha/about.pl?tab=sysinfo

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9ae78dd575)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:51:30 +00:00
Katrin Fischer 8eabc09609 Bug 37008: Make "Help" link in vue modules translatable
The "Help" link in the upper right corner was not translatable
in the newer vue modules like ERM and Preservation.

To test in koha-testing-docker:

* Install any language:
  sudo koha-translate --install de-DE --dev kohadev
* Activate the language in the language system preference
* Activate the ERMModule system preference
* Go to the ERM module, verify translation works in general, but Help
  remains in English
* Apply patch
* Run: yarn build
* Run: gulp po:update
* Verify the string "Help" now appears in
  misc/translator/po/de-DE-messages-js.po
* Translate it
* Run:
  sudo koha-translate --update de-DE --dev kohadev
* Verify "Help" is now translated

Signed-off-by: Jake Deery <jake.deery@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e76a5ec5cc)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:51:30 +00:00
Owen Leonard 332cf2f031 Bug 37235: Fix export of single authority record
When viewing an authority record, you have the option to "Save" in
several different formats. This operation is a GET operation and the
script should not be looking for a "cud-" operation.

To test you should have at least one authority record.

- Apply the patch and go to Authorities.
- Perform an authority search which will return one or more records.
- View the details of an authority record.
- From the toolbar, test the "Save" option*

* Note: In my test the export choice "MADS (XML)" resulted in a
  zero-byte file but I'm assuming that is a separate issue.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6d6c4cc12c)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:47:35 +00:00
Martin Renvoize 81040b2c21 Bug 37065: Filter expired bookings by default
This patch adds a default filter for the bookings table on the bookings
tab of a biblio.  We also add the option to turn off the filtering after
initial page load.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 98bcde6143)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:47:18 +00:00
Lucas Gass 910898302f Bug 37249: Disambiguate itemnumber with USING clause
1. Do an item search that returns results
2. Use the column filtering available at the top of the table for each column
3. Try itemnumber, get a 500 error each time
4. As long as there is data in the itemnumber column and you attempt to use another column you'll see a 500 error.
5. APPLY PATCH, restart_all
6. The itemnumber column filtering should now work as expected

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a84a5fc7d0)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:46:48 +00:00
Andreas Jonsson c4721f5798 Bug 37244: Facets should not impact library pulldown.
When parsing the branch limits the regular expression matches
parameters that contains the substring "branch:" rather than the prefix
"^branch:". Consequently, both prefixes homebranch: and holdingbranch:
triggers the branch limit.

Test plan:

- Activate the system preference  IntranetAddMastheadLibraryPulldown.
- In staff interface:
  - Perform a catalogue search (e.g. "book").
  - Click on a facet for holding library or home library
    (e.g. "Fairview").
  - Click on the "more options" icon in the search box and make sure
    that "All libraries" is selected.
- Activate the system preference  OpacAddMastheadLibraryPulldown
- In opac:
  - Perform a catalogue search (e.g. "book").
  - Click on a facet for holding library or home library
    (e.g. "Fairview").
  - Make sure "All libraries" is still selected in the dropdown next
    to the search input.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a6457c14aa)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:46:17 +00:00
Julian Maurice ff40efa0c1 Bug 35959: Add missing use statements in tests
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 25d3e167d6)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:44:57 +00:00
Julian Maurice 109cb6a13d Bug 35959: Fix C3 merge of Koha::Old::Hold (part 2)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5f07b8ed52)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:44:57 +00:00
Julian Maurice 841009d50c Bug 35959: Fix C3 merge of Koha::Account::Debit, Koha::Account::Credit
Test plan:

Run the following commands

  perl -c Koha/Account/Debit.pm
  perl -c Koha/Account/Credit.pm

They should all print 'syntax OK'

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>
(cherry picked from commit 3d1b5932b4)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:44:57 +00:00
Julian Maurice 7068dd1eb4 Bug 35959: Fix C3 merge of Koha::Biblio::Metadata::Extractor::MARC::*
Test plan:

Run the following commands:

  perl -c Koha/Biblio/Metadata/Extractor/MARC/MARC21.pm
  perl -c Koha/Biblio/Metadata/Extractor/MARC/UNIMARC.pm

They should all print 'syntax OK'

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>
(cherry picked from commit 4190e92f5e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:44:57 +00:00
Julian Maurice 4db70b3d86 Bug 35959: Fix C3 merge of Koha::Old::Hold
Test plan:

Run `perl -c Koha/Old/Hold.pm`
It should print 'syntax OK'

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>
(cherry picked from commit c951b02182)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:44:57 +00:00
Julian Maurice 62e4e77fc8 Bug 35959: Fix C3 merge of 5 modules
Test plan:

Run the following commands:

  perl -c Koha/AuthorisedValue.pm
  perl -c Koha/Patron/Category.pm
  perl -c Koha/Patron/Attribute/Type.pm
  perl -c Koha/Account/DebitType.pm
  perl -c Koha/Account/CreditType.pm

They should all print 'syntax OK'

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>
(cherry picked from commit 86acd6ec61)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:44:57 +00:00
Nick Clemens 3c23516efd Bug 37056: Mount a new intranet_svc api to avoid redirects
When an unauthorized call to svc is made, we use the ErrorDocument middleware to respond with an HTML
page. The API doens't do this, it simply returns its status. We should mount the svc as its own app to avoid
the redirect to HTML for unauthorized responses

To test:
1 - Create a report
2 - Add to IntranetUserJs:
    $(document).ready(function() {
      // Your report ID
      var reportId = '492';

      // Fetch the report
      $.get('/cgi-bin/koha/svc/report?id=' + reportId, function(data) {
        console.log('Kaboom');
      });
    });
3 - Log out
4 - Attempt to login
5 - KO
6 - Apply patch
7 - Reset all (or copy the necessary changes to your plack/apache files)
8 - Generate report and update user js again
8 - Logout, login
9 - Success!

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>
(cherry picked from commit edc5caf976)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:42:23 +00:00
Owen Leonard 8f31b36795 Bug 37206: Removing an item from a label batch should be a CSRF-protected POST operation
This patch updates the label batch edit template so that removing a
single or multiple items from a batch is a CSRF-protected POST
operation.

The patch also removes the existing "if ($op eq 'cud-delete') {" section
of label-edit-batch.pl because it was unused.

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

- Create a label batch and add multiple items to it.
- From the list of label batches, click "Edit" on the batch you created.
- Click the "Delete" button for one of the items in the batch.
  - If you confirm, the item should be deleted.
- In the "Select" column, check multiple checkboxes.
- Click the "Remove selected items" button in the toolbar.
  - Verify that confirming this operation results in the items being
    deleted from the batch.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a964d98dc8)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:41:08 +00:00
Caroline Cyr La Rose d9d5dadb95 Bug 37114: Update MARC21 default framework to Update 38 (June 2024)
This patch updates the MARC21 default bibliographic framework
to reflect the changes brought by Update 38 (June 2024).

To test:
1. Apply patch and reset_all
2. Go to Administration > MARC bibliographic framework
3. Click Actions next to the default framework and choose MARC structure
4. Check for the changes detailed in the update
https://www.loc.gov/marc/bibliographic/bdapndxg.html

- No changes in the framework for 055, changes only affect indicator values and
  field documentation

- There should be two new subfields in 082
  - 0 - Authority record control number or standard number (R)
  - 1 - Real World Object URI (R)

- There should be two new subfields in 083
  - 0 - Authority record control number or standard number (R)
  - 1 - Real World Object URI (R)

- No changes in the framework for 341, changes only affect field documentation

- Field 383 should now be titled NUMERIC DESIGNATION OF MUSICAL WORK OR
  EXPRESSION

- There should be a new subfield in 580
  - 5 - Institution to which field applies (NR)

- There should be two new subfields in 647
  - 4 - Relationship (R)
  - e - Relator term (R)

- There should be two new subfields in 648
  - 4 - Relationship (R)
  - e - Relator term (R)

- There should be a bew subfield in 773
  - 5 - Institution to which field applies (NR)

- There should be a bew subfield in 774
  - 5 - Institution to which field applies (NR)

- There should be a bew subfield in 787
  - 5 - Institution to which field applies (NR)

5. Optional: run the framework test in Administration > MARC
   bibliographic framework test
   --> All should be OK

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 86dc1ce6cd)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:32:02 +00:00
Lucas Gass 24f3583d04 Bug 37027: Remove unnecessary dataTable controls from SCO tables
To test:
1. Have a patron with some checkouts, holds, and charges that can login into the SCO module.
2. Notice the dataTable controls for searching the table, copying the table, exporting as CSV, or printing.
3. APPLY PATCH
4. Try step 2 again, this time the only dataTable control should be the search filter.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 67f18ea834)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:31:45 +00:00
Matt Blenkinsop 707d9b9baf Bug 36935: Add unit test for error handling
prove t/db_dependent/Koha/BackgroundJob/ImportKBARTFile.t

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>
(cherry picked from commit 0a2c2468a7)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:31:15 +00:00
Matt Blenkinsop 52fba8067c Bug 36935: Add a 'die' message to file parsing
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>
(cherry picked from commit 04a038f6b0)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:31:15 +00:00
Matt Blenkinsop 008b7c72bf Bug 36935: Remove warning if file parsing is successful
This patch removes the logged warning if a file parse is successful.

Test plan:
1) prove t/db_dependent/Koha/BackgroundJob/ImportKBARTFile.t
2) The output will have a logged message - 'EOF - End of data in parsing input stream'
3) Apply patch
4) Repeat step 1
5) The warning will be gone

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>
(cherry picked from commit 7c0ed91c80)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:31:15 +00:00
Phil Ringnalda d0ac78ee0f Bug 37167: Fix mapping call number searches to Z39.50
When you do an advanced search for call number, your search uses the index
callnum, but the code that maps your search to a possible Z39.50 search
still uses the index lcn,phr which was last used 15 years ago, so it's
treated as an unknown index and mapped to the Title field in the Z39.50
search form.

Test plan:
1. Click Search in the top menu to load Advanced Search
2. Change the dropdown menu for the first input from Keyword to Call
   Number, and paste TT174.3 in the input and search
3. Find the Z39.50/SRU search button in your results and click it
4. Note that your search was filled in the Title field
5. Apply patch, reset_all
6. Repeat steps 1-3, note that your search was filled in the Dewey field
7. Choose the server Library of Congress SRU and search
8. Note that even though we labelled it Dewey and you searched for an
   LC call number, your results are things with that call number in 050,
   the LC call number field.

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>
(cherry picked from commit 9c4b2c665f)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:26:13 +00:00
Owen Leonard 3257b8f6e4 Bug 37158: Make OPAC recalls history table responsive
Some markup errors in the OPAC recalls history template are causing the
table to not be responsive even though the DataTable is configured to be
responsive. This patch corrects it.

Also changed:

- Removed obsolete <span class="tdlabel">, a remnant of the
  way we did responsive tables before the DataTable option
- Removed very obsolete "type" attribute from the <script> tag and very
  obsolete "<![CDATA" marker from the script block.
- Removed <span>s which were used in the obsolete "title-string" method
  of sorting a DataTable.

To test you must have recalls enabled and have at least one circulation
rule which allows for recalls.

- Log in to the OPAC as a user who can place recalls.
- Locate an item which is elligible for recall and place the recall.
- Go to your user summary page, and click the "Recalls history" link in
  the sidebar.
- Confirm that the table of recalls on that page behaves
  correctly. It should adjust well to varying browser widths.

Sponsored-by: Athens County Public Libraries
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>
(cherry picked from commit a1cfe67d5e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:25:53 +00:00
Nick Clemens 2e17d1221e Bug 37155: Remove use of unblessed patron
This removes the unblessing of the patron object and uses fields form the patron

To test:
Confirm tests still pass:
prove -v t/db_dependent/Holds.t t/db_dependent/Circulation.t t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t t/db_dependent/Reserves.t t/db_dependent/api/v1/holds.t

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>
(cherry picked from commit 975a869c49)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:25:31 +00:00
Nick Clemens 7645e165b2 Bug 37155: Refactor GetAgeRestrictions
This routine currently takes the agerestriction value from biblioitems and an unblessed borrower object
and uses the date of birth to calculate whether the ptrons DOB is before or after the minimum value required
against the age restriction

We have a routine in the patron object to get the patron's age - we cna use this against the parsed agerestriction
value in a simple comparison and remove the need to unbless and pass the patron.

FIXME: We should move this to a biblioitems or biblio object method

To test:
0 - In Admin -> Koha to MARC mapping, set biblioitems.agerestriction to 521,a
1 - Set syspref AgeRestrictionMarker to 'Age'
2 - Edit a record and set 521$a to 'Age 14'
3 - Add an item or copy the barcode of the item on that record
4 - Attempt to checkout item to Lisa Charles in sample data, or a 15 year old patron
5 - It should checkout fine
6 - Check in item
7 - Edit patron  Joyce Gaines to set age to 13 DOB:06/20/2011, or create a 13 year old patron
8 - Attempt to checkout item
9 - Item is blocked
10 - Apply patch
11 - Repeat tests, confirm no change

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>
(cherry picked from commit 11c5abda48)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:25:31 +00:00
Sam Lau b1431c2132 Bug 37104: (Follow-up) Checks for unitialized value of 'anonymous_patron' system pref
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
JD Amended patch: replace '==' with 'eq' for consistency with other
occurrences.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9dbd82a1a4)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:21:25 +00:00
Sam Lau e5afec77f2 Bug 37104: (Follow up) Restructure checkpw code
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>
(cherry picked from commit 99b2fab569)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:21:25 +00:00
Sam Lau 74c9551f91 Bug 37104: Block AnonymousPatron from logging into staff interface and OPAC
This patch blocks the patron set as the anonymous patron from logging into the staff interface and OPAC.

To test:
1) In Administration->sys. pref, make sure AnonymousPatron is pointed to an account.
2) Visit that patron's page and set their permissions to superlibrarian ("Access to all librarian functions")
3) Ensure that you know the username and password for this patron and can log in.
4) Visit the OPAC, attempt to log-in with your anon patron.
5) Note that you can log in and nothing happens.
6) Visit the staff interface, attempt to log-in with anon patron.
7) Once again, note that you are able to log-in with no issue.
8) Apply patch and restart_all
9) Attempt to log into the OPAC and staff interface with the patron again.
10) This time, you should get an error message on both pages saying, "Error: You can't log in as the anonymous patron!"

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>
(cherry picked from commit 0f2a5bf987)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:21:25 +00:00
Sam Lau 39754b8b99 Bug 37104: Unit tests
prove t/db-dependent/Auth.t

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>
(cherry picked from commit ce0fe316b8)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:21:25 +00:00
Nick Clemens 9537ba5957 Bug 37057: Restore filtering of unused authorities
Bug 12478 commented this code out, however, we do return the 'used' parameter in ES authority searches. While
we should implement the feature for both ES and Zebra as an index, we can restore this behaviour here.

To test:
1 - Search authorities on OPAC with SearchEngine syspref set to both Elasticsearch and Zebra
    I just searched for 'a'
2 - Confirm results with no usage are included
3 - Test with both values of OPACShowUnusedAuthorities
4 - Apply patch
5 - Repeat searches with both engines and syspref settings
6 - Confirm unused authorities not shown in either engine when syspref is "Don't show"
7 - Conifrm unused authorities shown in both engines when syspref is "Show"

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>
(cherry picked from commit 30acbb2604)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:20:45 +00:00
Owen Leonard c2b54df8d5 Bug 36950: Improve placement of catalog concern banner in the OPAC
This patch changes the placement of the catalog concern banner in the
OPAC. Changing the way it is added to the DOM will prevent it from
obscuring content.

To test, apply the patch and clear your browser cache if necessary.

- In the staff interface, make sure the "OpacCatalogConcerns" system
  preference is enabled.
- Locate a bibliographic record and view the detail page.
- Click the "Report a concern" link in the sidebar.
- Submit your concern.
- When the concern is successfully submitted and the modal closes, the
  success banner ("Your concern was successfully submitted.") should
  appear below the breadcrumbs menu and above the biblio view tabs
  ("Normal view, "MARC view", etc.).

Sponsored-By: Athens County Public Libraries
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>
(cherry picked from commit 43a08f0f1e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:20:01 +00:00
Tomas Cohen Arazi cc8f03cf2b Bug 36901: Add logging for uncaught exceptions in background job classes
This patch adds logging of unhandled exceptions that could occur. This
is happening on busy production sites right now. This is also useful for
plugin jobs that might not be 100% following the guidelines and would
benefit from this.

But as the [DO NOT PUSH] patch highlights, this is something we really
want to have on our current codebase, as a database connection drop
might make us reach that `catch` block we are adding logging to on this
patch.

To test:
1. Apply the [DO NOT PUSH] patch
2. Run:
   $ ktd --shell
  k$ restart_all ; tail -f /var/log/koha/kohadev/worker*.log
3. Pick a valid barcode on the staff UI
4. Use the 'Batch delete items' tool in the cataloguing section
5. Start the job for deleting the item
=> FAIL: The item got deleted, but the job marked as failed and no logs
about the reasons
6. Apply this patch and repeat 2-5
=> SUCCESS: Same scenario but there's a log with the error message
7. Sign off :-D

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>
(cherry picked from commit b54c854d24)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:18:00 +00:00
Tomas Cohen Arazi f49de36e81 Bug 36873: Make Koha::Objects->delete pass parameters to the underlying method
This patch makes the generic method pass any parameters it got passed to
the underlying `delete()` method.

To test:
1. Apply the unit tests patch
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/Koha/Objects.t
=> FAIL: Tests fail, parameters are not passed
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
(cherry picked from commit 2d4ab2e1bc)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 17:17:40 +00:00