Commit graph

48339 commits

Author SHA1 Message Date
Matthias Meusburger
909a3f5612
Bug 32431: Display expiry date on SIP checkout when patron is expired
Test plan:

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 15:07:37 -03:00
4877666fb5
Bug 32688: Convert recalls awaiting pickup tabs to Bootstrap
This patch updates the recalls awaiting pickup template
(recalls_waiting.tt) to replace a set of jQueryUI tabs. They are
converted to Bootstrap in order to complete Bug 29226.

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

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

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:21:34 -03:00
ebf7b6471f
Bug 31797: Add DELETE /items/:item_id endpoint
This patch adds the mentioned endpoint. The controller relies on
Koha::Item->safe_to_delete for checks and uses `safe_delete` as
additem.pl does.

The required permissions are edit_catalogue.

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

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:20:44 -03:00
64d3612dd9
Bug 16522: Move 773 entries in result lists before 856 entries
This moves the display of 773 In: displays to right before the
856 Online resource: as suggested by Heather in order to make it
more consistent with the display in the detail pages.

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

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:10:12 -03:00
Aleisha Amohia
5e226c1a63
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>
2023-01-30 12:10:12 -03:00
48aa83a3ca
Bug 16522: (follow-up) Remove HTML links from email
The emails sent for cart and list are plain text and any
<a> tag will be scrubbed by HtmlToText. So we can remove
those links.

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

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

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

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:10:12 -03:00
980682bb96
Bug 16522: (follow-up) Fix variable in OPAC cart brief display
Without this change records 773 entries with links in $w would
not display the title information, but just "No title".
With the variable fixed, now the host's title displays.

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

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:10:12 -03:00
ec48907e23
Bug 16522: (follow-up) Rename "Host item entry" to "In"
We already use In: as label for 773 on the result lists and
detail pages and it's also recommended in the MARC documentation.
With this patch the label is the same everywhere.

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

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:10:11 -03:00
2eeeeeb06a
Bug 16522: (follow-up) Add missing TT filters
Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:10:11 -03:00
Aleisha Amohia
adad3a9e22
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>
2023-01-30 12:10:11 -03:00
Aleisha Amohia
62eba64cfe
Bug 16522: Adding 773 to cart and list displays and emails
This enhancement adds information from a host item entry and a link if
applicable to the host record in the following places:
- staff client list
- staff client cart
- staff client send list email
- staff client send cart email
- staff client search results
- staff client detail page
- opac list
- opac cart
- opac send list email email
- opac send cart email
- opac search results
- opac detail page

To test:

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

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

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

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:10:10 -03:00
b2c1c0efe1
Bug 32694: (QA follow-up) Fix missing TT filters
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:08:12 -03:00
9531a82e97
Bug 32694: Fix value of 'Keep current' option in receiving
This patch restores missing template toolkit markers around the variable

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:08:12 -03:00
bcaf68b51f
Bug 29021: (QA follow-up) Remove useless warnings
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 12:01:41 -03:00
d1bd38d853
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>
2023-01-30 10:39:14 -03:00
5b87d7a473
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>
2023-01-30 10:39:14 -03:00
40d6a08031
Bug 30254: (QA follow-up) Remove warn from tests
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 10:36:30 -03:00
9f569f97d2
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>
2023-01-30 10:36:30 -03:00
ba6b380d91
Bug 30254: Unit tests
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-30 10:36:24 -03:00
Michael Hafen
d88e966ada
Bug 32583: Restore display of only one item in catalogue/moredetails
Bug 31315 (Remove GetItemsInfo from moredetail) removed the code that limits
the items displayed to only one item if the itemnumber was passed as a
parameter to the page.
This restores that code.

Test plan:

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

Signed-off-by: Amaury GAU <amaury.gau@bulac.fr>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:21:37 -03:00
Katrin Fischer
0f2cf9f440
Bug 32520: Amend DefaultPatronSearchFields system preference description
Tries to clarify that the preference is not only used for the search
in the patrons module, but also in circulation.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:20:55 -03:00
6898f1f132
Bug 32520: Use DefaultPatronSearchFields in patron_autocomplete
This patch updates js_includes.inc to set a new global js variable
`defaultPatronSearchFields` with the content of the corresponding system
preference.

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

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

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

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:20:54 -03:00
a99d188e78
Bug 32251: Add a fallback for when language cookie was removed
Since we remove cookies after logout now, the language cookie
might not be there yet. It is friendlier to add the template
language fallback here now too before switching to 'default' in
the Additional contents (AC)-context.

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

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

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

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

Signed-off-by: Pascal <pascal.uphaus@gwdg.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:20:24 -03:00
09874fce6c
Bug 32631: Error when previewing record during batch record modification
This patch corrects an error in the script which outputs MARC data for
preview during batch record modification.

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

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

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:16:43 -03:00
61b1b12dda
Bug 32562: (follow-up) Add markup comments
This patch adds comments to the template to highlight the markup
structure.

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:12:26 -03:00
fc909d3bf4
Bug 32562: Reindent the about page template
This patch reindents the about page template so that it has consistent
indentation. These changes should have no visible effect on the page.

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

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:12:25 -03:00
5e863f93c0
Bug 18247: Remove SQL queries from branch_transfer_limit.pl
1. Visit Administration > Patrons and circulation > Limit transfer limits

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

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

4. Apply patchset and restart services

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

6. Confirm you can successfully save transfer policies

Sponsored-by: Catalyst IT

Signed-off-by: Jacob Omara <jacob.omara@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:10:22 -03:00
e88f31d8a2
Bug 32416: Add a warning to the file
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:08:23 -03:00
e6efa82099
Bug 32416: Update attribute number for arp search to 9015
Bug 20078 updated the attribute for arp to 2014 to avoid conflict with 9013 not-on-loan-count

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

This patch updates the number to 9015

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

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 16:08:19 -03:00
1f33d80d78
Bug 32733: (follow-up) Reorganize classification of information
If we're dividing the sections into labeled "Information" and
"Settings," I propose that we try to put under "Information" lines
which are just for display, and under "Settings" lines which allow the
user to change things: Managed by, managing library, basket group, etc.

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

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:37:56 -03:00
89db73cbce
Bug 32733: Add page-section cards to basket summary
This patch adds two new page-section divs to the basket summary page.
One for each column of details in the top area of the summary page.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:37:55 -03:00
bbec1228b6
Bug 31932: (follow-up) Markup comments
This patch adds comments to the template to highlight the markup
structure.

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

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:37:53 -03:00
328984439c
Bug 31932: The basket summary page template needs a cleanup
This patch reindents the Acquisitions basket template so that it has
consistent indentation. These changes should have no visible effect on
the page.

To test, apply the patch and go to Acquisitions.

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

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

Everything should look correct and work correctly.

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

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:37:48 -03:00
5197d63c55
Bug 32204: Check for hash before setting focus
1. Search the catalog and view a record detail page of a record with items
2. Click 'Edit items'
3. Choose one item from the list and click 'Edit'
4. The URL fragment or in-page anchor (#edititem) is appended to the end of the URL but you are not placed on it. Instead you are placed at the top of the page and must scroll down to edit the particular item.
5. Apply patch
6. Try steps 1 - 3 again, now you should be placed in the correct location (#edititem) when editing an item.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:20:45 -03:00
Caroline Cyr La Rose
2a5e06094b
Bug 32718: Capitalization: Display Order
This patch corrects the capitalization of the "Display order" column heading
in the item groups table.

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

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:20:12 -03:00
Caroline Cyr La Rose
17ff4e3889
Bug 32229: Typo: Items missing from bundle at checking for %s
This patch corrects a typo in the missing items from bundle pop-up
header.

To test:

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

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

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

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

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

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:17:32 -03:00
a85a6bc4d4
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>
2023-01-27 15:15:47 -03:00
7818717f3c
Bug 32321: Pre-populate material type for 006 in advanced cataloging editor
To test"
1 - Edit a record in advanced cataloging editor with field helpers enabled
2 - Choose a material type, not BKS, from dropdown
3 - Set the first position to something
4 - Save the record
5 - 006 shows 'BKS'
6 - Apply patch
7 - Reload
8 - Record should show correct value
9 - Edit 006 and confirm the first position correctly determines material type

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:14:47 -03:00
aa6d1ca0c7
Bug 32376: Remove creation of selenium_failure_2.png
This was for debugging purpose.

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

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:12:36 -03:00
David Nind
ab48b53d96
Bug 32692: Terminology - use staff interface for MARC framework subfield editor
For the visibility options in the advanced constraints section of the
MARC framework subfield editor, use 'Staff interface' instead
of 'Intranet'.

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

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Amaury GAU <amaury.gau@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:11:40 -03:00
08cc23626c
Bug 32393: (QA follow-up) Add explicit undef response in two catch blocks
Do not implicitly depend on last statement returning nothing.
Make it explicit. We want $args to be null here.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:10:01 -03:00
85c330d8f2
Bug 32393: Deal with the DB fallback part
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:10:01 -03:00
8df96262c1
Bug 32393: Split into 2 try catch blocks
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:10:00 -03:00
ca9a598183
Bug 32393: Prevent invalid job to block the job queue
I have faced a problem when testing an incorrect version of bug 32370.
The frame sent to the message broker was not a correct JSON encoded
string, and its decoding was obviously failing, exploding the worker
script.
Additionally, as we don't send a ack for this frame, the next pull will
result in processing the same message, and so in the same explosion.
No more messages can be processed!

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

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

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

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

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:10:00 -03:00
b3c5bd02e1
Bug 32573: Send ACK message to RabbitMQ before handling the job
Splitting off this functionality from bug 32558. This is the comment that started this discussion: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32558#c15

From the O'Reilly book Mobile and Web Messaging:

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-01-27 15:09:52 -03:00
fc650b3e87
Bug 31893: Use checkauth and do not fetch about.tt template
This patch updates four scripts to use checkauth instead of get_template_and_user

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

No behvaiour change is expected

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2023-01-20 13:56:30 +00:00
9608b16a6b
Bug 32221: Borrowers.password should no longer be an option
When creating a notice template the user has the option to add the borrower's
password to the template. This should be removed as the password should not be
an option to be added to a notice.

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2023-01-20 13:55:17 +00:00
790f00781a
Bug 32656: Script delete_records_via_leader.pl no longer deletes items
Bug 29788 inadvertantly replaced a call to safe_delete() with safe_to_delete()
such that any time the script should delete an item it only checks to see if
the item is delectable, after which deletion of the record fails because the
items were not deleted.

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2023-01-20 13:53:09 +00:00
9d950959bf
Bug 32650: Prevent Koha/Holds.t to fail randomly
22:25:51 koha_1       |     #   Failed test 'Items 1, 2, and 5 are available for filling the holds'
22:25:51 koha_1       |     #   at t/db_dependent/Koha/Holds.t line 531.
22:25:51 koha_1       |     #     Structures begin differing at:
22:25:51 koha_1       |     #          $got->[0] = '1000'
22:25:51 koha_1       |     #     $expected->[0] = '996'
22:25:51 koha_1       |     # Looks like you failed 1 test of 6.
22:25:51 koha_1       |
22:25:51 koha_1       | #   Failed test 'get_items_that_can_fill'
22:25:51 koha_1       | #   at t/db_dependent/Koha/Holds.t line 539.

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

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2023-01-18 16:49:35 +00:00
afcf0c95b4
Bug 28670: Prevent api/v1/patrons_holds.t to fail randomly
12:01:12 koha_1       |     #   Failed test 'Holds retrieved'
12:01:12 koha_1       |     #   at t/db_dependent/api/v1/patrons_holds.t line 56.
12:01:12 koha_1       |     #     Structures begin differing at:
12:01:12 koha_1       |     #          $got->[0]{hold_id} = '256'
12:01:12 koha_1       |     #     $expected->[0]{hold_id} = '255'
12:01:12 koha_1       |     # Looks like you failed 1 test of 9.
12:01:12 koha_1       |
12:01:12 koha_1       | #   Failed test 'list() tests'
12:01:12 koha_1       | #   at t/db_dependent/api/v1/patrons_holds.t line 70.

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

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

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2023-01-18 16:10:19 +00:00