Commit Graph

4288 Commits

Author SHA1 Message Date
Aleisha Amohia 0a3959d3ee Bug 16522: (follow-up) If no 773$w, try to return host record
Use host biblionumber or host itemnumber to return a host record if
EasyAnalyticalRecords is enabled, or return an undef record and a string
of host information when get_marc_host is called in list context.

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

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5e226c1a63)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-31 17:17:28 +00:00
Aleisha Amohia 468d94ded3 Bug 16522: (follow-up) MARC display templates and get_marc_host fixes
Also:
- Show related parts 773$g
- Normalise using 'Host item entry' as title
- Remove 'foreach' because non-xslt views only return first
- If no $w, use $atg, and related tests in
t/db_dependent/Koha/Biblio/host_record.t

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit adad3a9e22)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-31 17:15:27 +00:00
Kyle Hall bce3f40d59 Bug 29021: (QA follow-up) Fix for new parameter, add unit test
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit d1bd38d853)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-31 17:12:25 +00:00
Martin Renvoize 2c9ad0a59b Bug 29021: RenewAccruingItemWhenPaid renewals are not seen
This patch updates the call to AddRewewal from Koha::Accounts to makr
the renewal as unseen.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5b87d7a473)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-31 17:11:52 +00:00
Nick Clemens b8209ba73d Bug 30254: Don't charge overdue fines unless some fine exists
We need to determine if a book was lost by a patron, the clues we have
are previous charges. If we don't find any, we shouldn't charge a new fine

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

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9f569f97d2)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-31 17:07:53 +00:00
Jonathan Druart 16ecdc2f8e Bug 32561: Prevent worker to run with unecessary modules in memory
Regression of bug 28413, bug 30410 added a "use Koha::Plugins" statement at the top of Koha::BackgroundJob, and so all Koha module are loaded by the worker on startup.

See bug 28413 for more info

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a85a6bc4d4)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
2023-01-31 14:15:15 +00:00
Jonathan Druart 472aad196d Bug 32550: (bug 28445 follow-up) Fix 'Clear on loan' link on item batch mod
The 'Clear on loan' link displayed at the top of the batch item
modification tool has been broken by bug 28445.

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

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit cb06a59128)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-25 14:33:47 +00:00
Nick Clemens ff749b5818 Bug 32054: Add get_import_record_matches object method and use it
Thispatch adds the new method and alters addorderiso2907.pl to use this
rather than GetRecordImportMatches

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 21864739e6)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-25 14:33:47 +00:00
Tomas Cohen Arazi 2b92f43cc3 Bug 32528: Make safe_to_delete exit earlier on error conditions
This patch makes the `Koha::Item->safe_to_delete` method return right
after one of the checked conditions is met. This way we avoid further DB
queries and processing.

No behavior change is expected

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Item.t
=> SUCCESS: Tests pass!
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests STILL pass!
4. Sign off :-D

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Bug 32528: Change return logic

Back to 1 return statement
Prevent the Koha::Result::Boolean instanciation duplication

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit cc58ca2a3c)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-13 16:18:43 +00:00
Tomas Cohen Arazi c09db11320 Bug 32529: Make Koha::Item->safe_to_delete consider 'P' holds as found
Currently, the Koha::Item->safe_to_delete method checks (among other things) if there are existing waiting or in-transit holds.

It seems that 'In processing' should block item deletion as well.

This patch implements that.

To test:
1. Apply up to the regression tests
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Item.t
=> FAIL: Boo! Tests fail!
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: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0e8f28b942)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-13 15:53:22 +00:00
Tomas Cohen Arazi da7e30b703 Bug 32529: Add Koha::Holds->filter_by_found
This patch adds a method for filtering Koha::Holds resultsets by the
status belonging to Koha's concept of 'found'.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Holds.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f8b7a5a9cd)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
2023-01-13 15:51:33 +00:00
Tomas Cohen Arazi 619e7ab9db
Bug 32394: (follow-up) Add param for Koha::BackgroundJob::StageMARCForImport->enqueue
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3dcdd6db78)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2022-12-18 08:21:18 +00:00
Jonathan Druart 69a012a88f
Bug 32394: Restore long tasks queue
We are sending "queue" as parameter, but "job_queue" is retrieved in
Koha::BackgroundJob->enqueue...

Test plan:
Read code and confirm the above.
More fun for test plan will be found on bug 32393

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9810fc5e0e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2022-12-15 13:55:29 +00:00
Marcel de Rooy 6f756b7c23
Bug 32417: Allow NULL in biblionumber in $order->store
If we are cancelling an order and call DelBiblio, we should
clear the biblionumber but not be crashing on it in ->store.

The absence of the clear prevented the crash. One bug sometimes
solves another one.

Test plan:
Create basket, order line.
Delete order with biblio record.
Verify result and logfile.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit d918672891)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2022-12-15 13:34:40 +00:00
Jonathan Druart 404c88fe87 Bug 31969: Use filter_by_last_update
This script has a pattern to delete rows depending on a given
date/number of days, we should use the filter_by_last_update
Koha::Objects method.
No need for another method and tests, everything is already tested
there.

This patch also suggests to rename the reference to "background" and
"bg" with "jobs", which seems more appropriate and not an abbreviation

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-25 09:40:09 -03:00
Martin Renvoize d9fbe64610
Bug 31080: Prevent bundles from being nested
This is a follow-up for bug 28854 to prevent bundle type items from
being nested in to other bundles.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-22 16:28:20 -03:00
Tomas Cohen Arazi afd0bf0678
Bug 31378: (QA follow-up) Defer store until JSON fields are populated
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-18 12:29:55 -03:00
Tomas Cohen Arazi 79b93a6bdf
Bug 32178: (QA follow-up) Correct modules import
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-18 12:04:32 -03:00
Marcel de Rooy ac041571c3
Bug 24606: (QA follow-up) Add test for encoding/decoding
NOTE: I have the impression that this unit test is quite
rudimentary. I do not see the apply function tested?

Test plan:
Run t/db_dependent/Koha/Item/Templates.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
tcohen amended: stray deps
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-18 12:04:27 -03:00
Marcel de Rooy 6744cd6612
Bug 24606: (QA follow-up) Fix encoding/decoding
We should use OO interface and leave encoding to database
layer.

Test plan:
Add a new item template containing real Unicode chars.
Save. Apply on new item.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-18 12:04:26 -03:00
Marcel de Rooy 022034a1c7
Bug 32242: Resolve encoding issue when sending to Net::Stomp
This is meant as a quick fix. It should be enhanced later on by
letting Net::Stomp do the UTF8 conversion.

Test plan:
Run batch mod items. Add a Unicode char in the notes.
Check if job runs and results are correct.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-17 14:16:12 -03:00
Marcel de Rooy 25a4757373
Bug 31937: Fix Patrons::search_unsubscribed - sharpen condition
The condition is fine as long as we only have GDPR consents.
But if you dont, you would have trouble. I know :)
Lets prevent that here, although the table still has an ENUM. So
double safety.

Test plan:
Run t/db_dependent/Koha/Patrons.t
Bonus: Run cleanup_database.pl and check for unusual number of
locked accounts:
     misc/cronjobs/cleanup_database.pl --confirm -v --sessions

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-17 13:41:24 -03:00
Nick Clemens 1736fe2335
Bug 31543: Use query string, rather than query, to build link
This patch returns the query string from build_query_compat
Under Zebra, either works for the link, for ES we need the simple string

I expand the test for get_components_query to test both engines

To test:
1.0) Set search engine to Elasticsearch
1.1) Go to Tools > Stage MARC records for import
1.2) Upload the example file
1.3) In the form, choose the format 'MARCXML'
1.4) Click 'Stage for import'
1.5) Click 'Manage staged records'
1.6) Click 'Import this batch into the catalog'

2) Change MaxComponentRecords to 10
3) In the staff interface, search the catalog for 'easy piano'
4) Click on the record 'Easy piano pieces for children'
5) Click on the 'show all component parts' link at the bottom of the Components tab
--> it searches for HASH(...) - returns no results
6) Try the same in OPAC
--> it searches for HASH(...) - returns no results
7) Apply patch and restart all
8) repeat 3-6
9) Results returned!

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

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-16 15:57:28 -03:00
Tomas Cohen Arazi 689446fda0
Bug 32154: DBIC schema
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-16 09:24:09 -03:00
Agustin Moyano ca57674700
Bug 32178: Remove security breach introduced in bug 31378
This patch removes a security breach in C4::Auth::check_api_auth introduced by bug 31378, where when someone called an api with the parameters userid and auth_client_login, check_api_auth would automatically asume the user calling was that userid.

This patch also introduces C4::Auth::create_basic_session(), a function that creates a session and adds the minimum basic parameters.

Signed-off-by: David Cook <dcook@prosentient.com.au>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-15 18:43:45 -03:00
Tomas Cohen Arazi 8bc4409773
Bug 24606: Fix encoding issues on decoded content
This patch makes the `decoded_contents` method UTF-8 encode the data
before calling the relevant decode_json, as expected by the JSON library
[1].

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Item/Template.t
=> FAIL: Tests fail!
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!

[1] `Any decoding or encoding (e.g. to UTF-8 or UTF-16) needs to be done
yourself, e.g. using the Encode module.` https://metacpan.org/pod/JSON

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-11 15:38:18 -03:00
Jonathan Druart e216df769e
Bug 32163: (bug 32030 follow-up) Fix koha_object[s]_class for ErmUserRole
Test plan:
run t/db_dependent/TestBuilder.t and confirm that the error related to
this module is gone. Another one may still fail however

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-11 08:59:06 -03:00
Jonathan Druart 8b4ea0beaa
Bug 32161: (bug 32030 follow-up) Fix koha_object[s]_class for ErmEholdingsPackagesAgreement
Test plan:
run t/db_dependent/TestBuilder.t and confirm that the error related to
this module is gone. Another one may still fail however

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-11 08:58:28 -03:00
Tomas Cohen Arazi 80813bab15
Bug 32162: DBIC schema
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-11 08:52:41 -03:00
Tomas Cohen Arazi fe85f9d257
Bug 24606: DBIC schema
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-10 14:44:59 -03:00
Tomas Cohen Arazi 2a79e3a00c
Bug 24606: (QA follow-up) borrowernumber => patron_id
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-10 14:39:35 -03:00
Kyle Hall 9db0d5d9ab
Bug 24606: (QA follow-up) Fix QA script issues
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-10 14:25:31 -03:00
Kyle Hall c5a3b14bf8
Bug 24606: Add Koha Object(s) with unit tests
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-10 14:25:11 -03:00
Kyle Hall 16f0117e55
Bug 24606: Update database, add new schema file
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-10 14:25:06 -03:00
Tomas Cohen Arazi 7899841772
Bug 31378: DBIC schema
Sponsored-by: a ByWater Solutions partner

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-10 10:03:25 -03:00
Kyle Hall e4e453d5df
Bug 27920: Add ability to update patron expiration dates when importing patrons
Some libraries need to recalculate a patron's expiration date any time they are updated via a patron import from file.

Test Plan:
1) Apply this patch
2) prove t/db_dependent/Koha/Patrons/Import.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:37:07 -03:00
Stefan Berndtsson 2f6b597b08
Bug 31896: New after_recall_action hook
Hooks added:
after_recall_action with new action add

How to test:
Run tests in t/db_dependent/Koha/Plugins/Recall_hooks.t

Sponsored by: Gothenburg University Library

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT} Adding get_from_storage ;) For current consistency.
See further bug 32107.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:34:41 -03:00
Martin Renvoize 296c84e0e8
Bug 26635: (follow-up) Rename av_expand to strings
This patch updates the `av_expand` occurences to `strings` to match the
change of the return structure of `_strings`.

We replace `+av_expand` in the headers with `+strings`, the expected
object method name from `api_av_mapping` to `api_strings_mapping` and
the internal hash key from `av_expand` to `strings`.

Test plan
1) Run the included unit tests.. all should still pass.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:01:02 -03:00
Kyle M Hall 2a620f5f63
Bug 26635: (QA follow-up) Rename key _str to _strings
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:00:58 -03:00
Tomas Cohen Arazi 7e3ab9fe08
Bug 26635: Move expand syntax to x-koha-embed
Instead of a global av-expand flag (through a header) this patch
proposes to allow specifying +av_expand at the x-koha-embed header
level. This allows a more fine-grained control on what objects get avs
expanded. e.g.:

GET /patrons/123
x-koha-expand: +av_expand,checkouts.item+av_expand
=>
{
    "_str": {
        "city": { "str": "Córdoba", ... }
    },
    ...
    "checkouts": [
        {
            ...,
            "item": {
                "_str": {
                    "not_for_loan_status": { "str": "Reference material", ... },
                    ...
                },
                ...
            }
        }
    ]
}

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Object.t \
           t/Koha/REST/Plugin/Query.t \
           t/db_dependent/Koha/REST/Plugin/Objects.t
=> SUCCESS: Tests pass!
2. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:00:51 -03:00
Tomas Cohen Arazi 8dd24dab22
Bug 26635: Refined data structure and methods
This patch makes the returned data structure be simpler:

_str => {
    attribute_1 => {
        category => 'some_category_name',
        str      => 'description',
        type     => 'av'
    },
    ...
}

The description is sensible to context, so if public => 1 is passed,
then lib_opac is passed, and lib is returned otherwise. Whenever we add
language to the combo, we will add it to the implementation.

Tests are adjusted accordingly, also to reflect the public => 1 use
case.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Object.t \
           t/db_dependent/Koha/REST/Plugin/Objects.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:00:47 -03:00
Tomas Cohen Arazi e4be092054
Bug 26635: AV expansion should ackowledge $params->{public}
This patch simplifies the original implementation so it is more
readable, removing extra loops and methods and just dealing with the
coded values inline on the existing loops.

It also adds non-public attributes removal from the original list, to
address the changes introduced by bug 28948.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Object.t \
           t/db_dependent/Koha/REST/Plugin/Objects.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:00:43 -03:00
Agustin Moyano 3f0c8cfc09
Bug 26635: Expand authorised values in to_api method
This patch adds the posibility to expand authorised values when to_api
method is called.

The classes where authorised values should expand must implememnt the
_fetch_authorised_values method, and must return a hash like the
following

{
  column_name => Koha::AuthorisedValue->unblessed
  ...
}

This patch will be used in bug 8179, so please test there.

Sponsored-by: Virginia Polytechnic Institute and State University
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 14:00:35 -03:00
Stefan Berndtsson 116d17d701
Bug 31894: Extend after_hold_action hook
Hook actions added:
after_hold_action adds new actions transfer, waiting and processing

How to test:
Run tests in t/db_dependent/Koha/Plugins/Holds_hooks.t

Sponsored by: Gothenburg University Library

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 10:05:32 -03:00
Tomas Cohen Arazi c01977158c
Bug 12758: (QA follow-up) Enhance POD
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 09:58:56 -03:00
Marcel de Rooy 9ec1fb4fd9
Bug 12758: Add new module call in Koha::XSLT::Base
Reviving a report back from 2014. The workaround is now moved to a
separate helper module from another patch.

Test plan:
Test OPACXSLTDetailsDisplay with an https reference.
You may try:
https://library.rijksmuseum.nl/opac-tmpl/bootstrap/en/xslt/zztest.xsl

If you flush and restart, the opac detail pages will contain the
text 'This is my MARC record.'.

NOTE: If you point to an xslt file over https that contains includes or
imports, you will still get the error: Failed to load external entity.
To address that, we need to extend the _resolve_includes sub.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 09:52:25 -03:00
Marcel de Rooy 2d2e93e66e
Bug 12758: Introduce Koha::XSLT::HTTPS
This module now fetches a https stylesheet and returns it as a
string to Base. (As a workaround waiting for a real solution
in the underlying libraries.)

The module can be extended to resolve includes but this requires
parsing the xslt code.

Test plan:
[1] Run t/Koha_XSLT_HTTPS.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 09:52:17 -03:00
Jonathan Druart b26427ef12
Bug 32030: Fix perlcritic errors
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-09 09:48:26 -03:00
Tomas Cohen Arazi a2f0d33107
Bug 31378: DBIC schema
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-08 14:41:43 -03:00
David Cook 2cf2fba315
Bug 31378: (follow-up) catch startup error when missing Oauth provider table
In theory, this shouldn't come up with a package install, but
it could happen with other installations, so best to let it get to
the web installer.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-11-08 14:40:10 -03:00