Test plan:
Without this patch:
Place next available level on some book for patron A.
Checkout this book directly to patron A.
Check old_reserves table for this reserve; does not have itemnumber.
With this patch:
Do the same.
In old_reserves the itemnumber should be saved.
Run again t/db_dependent/Koha/Hold.t. Should pass.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
Run t/db_dependent/Koha/Hold.t
NOTE: This test should fail without following patch, but pass with it.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch fixes the regression cashed by bug 32450 where we
accidentally introduced the option to archive system debit types.
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch corrects a minor regression in template markup caused by Bug
33774. The Bootstrap tab attributes were lost (presumably in a merge)
causing the whole tab structure to break.
To test, you should have at least one club defined.
Apply the patch and view the patron details page. Each tab should load
its contents correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
To test:
1. Apply patch
2. Follow the steps in Bug 8179 to generate the modal on orderreceive.tt
3. Check that the following issues have been corrected:
-The select2 dropdown for #bookfund is splitting onto multiple lines in the modal.
-The modal header has a green line extending through it.
-At smaller screen sizes the modal close button ( upper right corner of modal ) drops down below the h4. It should stay on the same line as the h4.
-The modal is not centered on the screen.
-The toogle inactive/active checkbox can become it's own list element.
-The #current-fund can become a hint
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Added 'ACQUISITION CLAIM' and 'ACQUISITION ORDER' to the log viewer form.
Please test this well (making sure there are log entries of these types and they show properly upon searching for them)
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>
to test
- install current package
- note following $message on install
'Failed to enable unit: Unit /run/systemd/generator.late/koha-common.service is transient or generated.'
- apply patch, build package, install new package
- note $message is gone! :)
- test koha-common.service
# systemctl start koha-common
# systemctl status koha-common | grep running
Active: active (running) since Sun 2023-04-02 00:27:31 NZDT <<<
# systemctl stop koha-common
# systemctl status koha-common | grep dead
Active: inactive (dead) since Sun 2023-04-02 00:25:34 NZDT <<<
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch replaces an h6 with a span to avoid a jump from h2 to h6.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes the OAuth/OIDC client pass a `state` parameter with a
CSRF protection token, to be validated back when the flow returns to
Koha.
Ideally, the Mojolicious::Plugin::OAuth2 library should deal with this
implicitly, probably making use of JWT. But as of now, this is the best
way to implement it.
To test:
1. Have a working SSO solution (ktd --sso)
2. Click to login using SSO
=> SUCCESS: Notice a 'state' parameter on the URL, looks like a random
thing
3. When you login, no error is reported
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
We need to 'mock' the new pref EmailFieldPrecedence
Test plan:
Run t/Auth_with_shibboleth.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch reintroduces the dropdown that got lost in some refactoring
of the patchset. It also introduces a couple minor fixes.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch fixed the following on orderreceive.tt:
-One of the <th> is closed with a </td>
-The #jobpanel element div is not properly closed
-Style tags are in the HTML body and they should be in the HTML head
-The #modal-order-main needs a class of 'row', this has been added.
Apply the pacth and follow the steps in 8179 until you get to the orderreceive.tt. There should be no visual changes but the markup has been corrected.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch corrects an instance of the term "reserved" and replaces it
with "on hold."
The string is shown when the user tries to add an item which is on
hold to a bundle.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The first line would not show in the system preference editor
due to missing quotes.
Also added information on the option names, link to the schema
and an example.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch modifies the link in EmailFieldPrecedence to reflect the new
name of EmailFieldPrimary. It also adds a note in the latter to set the
'first valid' order in the former.
To test:
1. Go to Administration > Global system preferences
2. Search for EmailFieldPrecedence
3. Click on the link in the description
--> It should lead to EmailFieldPrimary
4. Read the note in EmailFieldPrimary, make sure the grammar and
spelling are correct.
5. Click the link to EmailFieldPrecedence
--> It should lead to EmailFieldPrecedence
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch update the Koha::Patron->first_valid_email_address method to
use the newly defined EmailFieldPrecedence preference.
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds a new EmailFieldPrecidence systempreference to allow
users to set the precicence in which patron email fields should be used
for communications.
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
To test:
1. Add a new notice in the Circulation module with a letter code of 'ABC'. Give the new notice a name of 'Overdue notice'.
2. Now to go Overdue notice/status triggers and look at the dropdown, notice 2 choices that both read 'Overdue notice'.
3. Apply patch and try again.
4. The new notice should now read "Overdue notice (ABC)" and should be easy to distinguish from the original.
Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Users needs anonymous access to OAuth endpoints so that they can
login, and then use authenticated access for other endpoints.
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This change fixes the definition for the non-public endpoint for the OAuth/OIDC
implementation.
It also uses the non-public endpoint for the staff interface UI.
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes the URL for staff login not point to the `/public`
namespace. The behavior is not changed for the protocol, but as
`/public` requires several settings to be available, it effectively
requires to enable the OPAC, the public API, etc. This patch
diferentiates both to solve the problem.
I've tested following the Wiki instructions to set keycloak [1] using
the *--sso* switch for `ktd` as well [2].
It is important to set the following URLs as allowed redirect in order
to replicate the issue and verify the fix:
http://localhost:8080/api/v1/public/oauth/login/test/opachttp://localhost:8081/api/v1/oauth/login/test/staff
To test:
1. Login into the staff interface using the SSO link:
=> FAIL: Results in a 'Bad redirect URL' error
2. Apply this patch and repeat 1
=> SUCCESS: You get a permission denied error or you just login,
depending on your setup.
[1] https://wiki.koha-community.org/wiki/Testing_SSO
[2] ktd --sso up -d
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
1. Verify in "About" page that SMS::Send is installed.
If not, install it.
2. Set system preferences:
- SMSSendDriver = 'Test'
- MembershipExpiryDaysNotice = 30
3. In "Notices and Slips" tool, edit the 'MEMBERSHIP_EXPIRY' letter and
verify that both email and sms parts are filled. Use a different
title and body for the sms part
4. Create a new borrower with an email address and an SMS number. Set
their expiry date to a date next week
5. Run misc/cronjobs/membership_expiry.pl --confirm
6. Verify in the patron "Notices" tab that two notices are pending, one
for email, one for sms
Sponsored-by: Médiathèque de Montauban
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>
We shouldn't be including tag 147 in every authority MARC framework we
install, since like all 1xx authority tags there should only be
one per record. It only belongs in a NAME_EVENT framework, which we
don't install.
Test plan:
1. Apply patch, kd && ku or however you like to restart
2. Administration - Authority types - Actions button for Default
- MARC structure
3. In the search box below the text "Select an authority framework"
enter 147 and click OK
4. Once you see that it exists in Default, switch the dropdown to
each of the other frameworks and verify it doesn't appear in
any.
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>
Test Plan:
1) Enable autobarcode
2) Create a new item template, leave the barcode field blank
3) Apply that item template
4) Note the template prefills the barcode field
5) Delete that item template
6) Apply this patch
7) Restart all the things!
8) Repeat steps 2-4
9) Note the barcode field remains empty!
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
1. Have items that include itemcallnumber.
2. Enable OPACShelfBrowser.
3. Enable SyndeticsCoverImages and SyndeticsEnabled.
4. Go the an OPAC detail page and open the shelf browser.
5. Use the Next/Previous buttons.
6. Notice that no Syndetics images populate after using Next/Previous buttons.
7. Apply patch and try again, cover images for Syndetics should be generating.
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Rebased-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
When there is only one result line, the text "Checked out" would
show directly after the icon at the end of the title. This makes sure
there will always be a little space between them.
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>
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>
If one tries to print checkin slip for checkins that
have been checked out from different branch, list
of checkins is empty. One has to change their branch
as checkout library to be able to print checkins.
This happens because we filter (or rather search) patrons
old checkouts with logged in patrons branch. This patch
removes this search so that checkout are filtered using
just filter_by_todays_checkins.
To test:
1. Checkout items for patron from branch A.
2. Switch to branch B and checkin items.
3. Print checkin slip.
=> Checkins list is empty.
4. Switch back to branch A.
5. Print checkin slip again.
=> Checkins are printed.
6. Apply this patch, restart services if needed.
7. Switch back to branch B and print checkin slip.
=> Checkins should now print.
Sponsored-by: Koha-Suomi Oy
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
To test:
1. Have some reports that can do the following batch operations:
-Batch patron mod
-Batch item deletion
-Batch add to list
-Batch item mod
-Batch record delection
-Batch record mod
2. Run the report ann click 'Batch operations with X visible records', make sure each batch op opens in a new tab.
These two simple reports should allow you to test each of the batch cases:
select * from items limit 1
select * from borrowers limit 1
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>
This patch simply remvoes sort from all elements that are not strictly
the main title
Note:
If multiple fields are set as sort, they are collapsed into a single entry in
the {field}__sort field in the ES index. The order will be determined by the order in
the marc record
To test:
1 - Apply patch
2 - perl misc/search_tools/rebuild_elasticsearch -r -v
3 - Search the catalog
4 - Sort by title
5 - Confirm records are correct
6 - Add a 240 (before the 245) with subfield a 'AAAAA'
7 - Confirm sorting is not affected
8 - View record details, click 'Elasticsearch record: Show'
9 - Find 'title__sort' and confirm it looks correct (does not include AAAAA)
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>
When viewing an invoice, the elements in the 'Fund' line were out of order:
'Fund:' label, followed by 'Show inactive:' label, then the fund drop-down and then the show inactive checkbox.
The order should be:
'Fund:' label, fund drop-down, 'Show inactive:' label, show inactive checkbox.
This copies the markup that is used when you click on "Receive shipment".
It also changes 'Fund' to 'Shipping fund' to bring the forms even more in line.
To recreate:
1. In acquisitions, create an order and close the basket
2. Click 'Receive shipment' and receive the order
3. Click 'Finish receiving'
--> The Fund line in invoice.tt is out of order
4. Apply patch
5. Verify the order is now fixed
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
If the display is by status and a specific status is selected in the
filter, the filter won't have any effects.
Test plan:
Create several suggestions, with different status, for different
libraries.
Use the "display by status" view and filter on a given status
=> Result must be relevant
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Both fixes concern the TICKET_NOTIFY message.
* biblio-title.inc builds a link with the intention
of using it inside the Koha GUI. Therefore the baseURL part
is missing. But we can use it for display and wrap it into
a link.
* Changes second link from reading 'page' to 'concern management
page'. Accessiblity guidelines teach us that you should not link
general terms, but always be specific.
To test:
1. Make sure staffClientBaseURL is filled correctly
2. Enable CatalogConcerns
3. Enter an email address in CatalogerEmails
4. Go to a bibliographic record in the staff interface or in the OPAC
5. Click New > New catalog concern
6. Fill out the form and click Submit
7. Check the message_queue table for the message
8. Verify the first link is not working (incomplete) and the second is 'page'
9. Apply patch, drop db, create db and run web installer
10. Repeat setup and testing
11. Both links should now be updated and working
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This fixes the system preference name from IntranetBaseURL to
staffClientBaseURL.
As this feature has just been pushed I chose to fix the
database updates that will be run when installing 23.05.
To test:
* Verify the wrong link in TICKET_NOTIFY
* Drop database, create database, run web installer
* Verify the link is now correct in the notice
Bonus: Test update from 22.11 to 23.05 and verify the
notices are correct there as well.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Current code removes all items without an active transfer, and any with completed transfers.
This patch moves the conditionals for transfers into the join, then adds a new
condition to remove items with active transfers.
To test:
1 - Apply unit test patch only
2 - prove -v t/db_dependent/HoldsQueue.t
3 - It fails
4 - Apply second patch
5 - prove -v t/db_dependent/HoldsQueue.t
6 - Success!
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The "Select a list of records" should only be available for biblio
records. But if the page is accessed using the back button of the
browser it will be displayed for authorities as well.
Test plan:
- Make sure you have at least one template for MARC Modification
- Also make sure you have at least one list of biblio records
- navigate to Cataloging -> Batch record modification
- Check the "Authorities" radio button
- Select your template and continue
- No records were modified -> use your browser's Back button to go back one page
- The "Authorities" radio button should still be selected
=> Without this patch you see the tab "Select a list of records"
=> With this patch applied it's hidden when the page is loaded
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Correct spelling error: "provier" -> "provider"
This change is a one-character edit, I think visual inspection of the
patch is sufficient testing.
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>
You forgot this one, Matt. Comment29 :)
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>