Commit graph

49791 commits

Author SHA1 Message Date
5d191f21e5
Bug 33675: Add CSRF protection to OAuth/OIDC authentication
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>
2023-05-19 09:20:54 -03:00
f436bc639c
Bug 33777: Fix Auth_with_shibboleth.t
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>
2023-05-19 08:46:30 -03:00
48ee69e69c
Bug 8179: (follow-up) Restore funds dropdown and checkbox
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>
2023-05-18 14:52:01 -03:00
bbf48e70a1
Bug 33771: Fix markup errors in orderreceive.tt
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>
2023-05-18 14:13:41 -03:00
e6859b46ec
Bug 29046: (QA follow-up) Make sure tests get the right EmailFieldPrimary value mocked
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 12:13:45 -03:00
8a6f4b2291
Bug 33769: Terminology: 'Warning: Item {barcode} is reserved'
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>
2023-05-18 12:13:44 -03:00
278bd72d0a
Bug 29046: DBRev 22.12.00.048
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 12:13:44 -03:00
Katrin Fischer
9770cfd673
Bug 29046: Fix and amend system preference description
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>
2023-05-18 12:13:43 -03:00
1ca89abd0c
Bug 29046: Reword system preference.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 12:13:43 -03:00
2a9c6db338
Bug 29046: Unit tests
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 12:13:42 -03:00
Caroline Cyr La Rose
c731680b5d
Bug 29046: Change link in EmailFieldPrecedence and add link in EmailFieldPrimary
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>
2023-05-18 12:13:42 -03:00
fb7bf8f95e
Bug 29046: Use EmailFieldPrecedence in first_valid_email_address
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>
2023-05-18 12:13:41 -03:00
ca4283c585
Bug 29046: Add 'EmailFieldPrecedence' preference
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>
2023-05-18 12:13:41 -03:00
b51ced92db
Bug 33203: Add letter_code to the letter dropdown text
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>
2023-05-18 12:13:40 -03:00
05190ed1d9
Bug 33708: Allow anonymous access to OAuth endpoints
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>
2023-05-18 11:35:16 -03:00
aae996e6bf
Bug 33708: Provide non-public endpoint for OAuth/OIDC for staff interface
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>
2023-05-18 11:35:15 -03:00
dd512db60b
Bug 33708: Make staff interface login not require public API (OAuth/OIDC)
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/opac
http://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>
2023-05-18 11:35:15 -03:00
Julian Maurice
ac86c2ab6d
Bug 23773: Send membership expiry notices by sms too
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>
2023-05-18 11:35:14 -03:00
Phil Ringnalda
409891ed50
Bug 33138: Don't copy tag 147 to authority MARC frameworks
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>
2023-05-18 11:35:14 -03:00
47b2b4f15a
Bug 32959: Don't store results of autobarcode in item editor templates
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>
2023-05-18 11:35:13 -03:00
219ad1d5d3
Bug 29993: Show Syndetics covers when using shelfbrowser controls
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>
2023-05-18 11:35:13 -03:00
Katrin Fischer
cfecda9b50
Bug 33246: Add some space between icon and text when there is only one result
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>
2023-05-18 11:35:12 -03:00
bc905fe22c
Bug 33246: Show the onloan status on the BarcodeFallbackSearch result
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>
2023-05-18 11:35:12 -03:00
Emmi Takkinen
b5f8c52657
Bug 33010: Do not filter checkins with logged in patrons branch in printslip.pl
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>
2023-05-18 11:35:11 -03:00
a40bd8d05d
Bug 33713: Make batch operations from report results open in new tab
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>
2023-05-18 11:35:06 -03:00
af505c9117
Bug 33594: Only sort on title main heading
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>
2023-05-18 11:03:28 -03:00
7f1f0bc5b7
Bug 33594: Update mappings and comment
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 11:03:28 -03:00
Katrin Fischer
d56b959fea
Bug 33721: Fix display of shipping cost/fund on invoice summary page
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>
2023-05-18 11:03:27 -03:00
ec0ebda77d
Bug 33421: Fix filtering suggestions by status
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>
2023-05-18 11:03:27 -03:00
Thibaud Guillot
e40bc40c6f
Bug 33686: Correction of existing terms related to 'Script of title'
According to https://cdn.ifla.org/wp-content/uploads/U_B_100_update2022_online_final.pdf

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 11:03:26 -03:00
Thibaud Guillot
cd7ddd6325
Bug 33686: Update plugin unimarc_field_100.pl with 2022 values
According to https://cdn.ifla.org/wp-content/uploads/U_B_100_update2022_online_final.pdf

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 11:03:25 -03:00
Katrin Fischer
9967e1e220
Bug 33314: Fix link into staff catalog and link text
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>
2023-05-18 11:03:25 -03:00
Katrin Fischer
14b7929967
Bug 33313: Fix catalog links in TICKET_NOTIFY
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>
2023-05-18 11:03:24 -03:00
d95312328d
Bug 33761: Alter query to remove items with active transfers from available list
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>
2023-05-18 10:54:28 -03:00
67e9356dea
Bug 33761: Unit test
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-18 10:54:24 -03:00
3962d88139
Bug 8179: Add vendor id on breadcrumb link
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 14:44:42 -03:00
58757c5b9c
Bug 11844: Only display 'Additional fields' section if they are defined
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 14:35:22 -03:00
c87b1bba1b
Bug 33624: Hide the "list" tab if authority is selected
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>
2023-05-17 10:28:24 -03:00
4ad0e757d8
Bug 33735: Misspelling in SMS provier
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>
2023-05-17 10:28:24 -03:00
c69b7c69ca
Bug 33489: (QA follow-up) Add missing index prefix in DBRev
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:11 -03:00
3da43b850b
Bug 32450: DBRev 22.12.00.047
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:10 -03:00
d0c34a4ce3
Bug 32450: (QA follow-up) Fix SIP/Transaction.t
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>
2023-05-17 10:25:10 -03:00
af6ffc29fd
Bug 32450: (QA follow-up) Change wording in debit types table
This patch changes confusing wording in the debit types table. Column heading No issues charge has been changed to Blocks checkouts? and the column data is now simply Yes/No rather than Included/Not included

Test plan:
1) Apply patch
2) Navigate to debit types in administration
3) The column in the table should exist as described above

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:09 -03:00
5a7624fe7d
Bug 32450: (QA follow-up) Fix failing tests
This patch fixes the failing tests in t/db_dependent/SIP/Patron.t

Test plan:
Run prove -v t/db_dependent/SIP/Patron.t and all tests should pass

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:09 -03:00
8778974bf6
Bug 32450: (QA follow-up) Update UsageStats for removed prefs
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:08 -03:00
aaf79e3348
Bug 32450: (QA follow-up) Polishing atomic update
Database comment.
Variable names.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:08 -03:00
f8df1953c8
Bug 32450: (QA follow-up) Fix QA test errors
Exec flag added to atomic update file, trailing whitespaces removed
Unit tests patched to remove duplicate variable names

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:07 -03:00
aa1c147428
Bug 32450: Add boolean to DBIC schema
Adding boolean flag to DBIC schema. Test plan as per previous commits

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:07 -03:00
cb07be78c7
Bug 32450: Unit tests updated
Unit tests for the non_issues_charges function have been updated to remove the system preferences and test based on the new database flags

Test plan:
1) Apply all patches
2) In the kshell, run prove -v t/db_dependent/Accounts.t
3) All tests should pass

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:06 -03:00
355d7de9a5
Bug 32450: Noissuescharge debit type exclusions
Currently the debit types to be excluded from the noissuescharge syspref are
hardcoded in non_issues_charges which gives no flexibility for selecting which
debit types should be included. This patch amends the subroutine to use a
database flag to identify which debit types should be included. It also adds a
column to the table in the Debit Types area of System Preferences which shows
which debit types are included. The ability to edit all debit types has been
added rather than just the non-system ones and the flag to include/exclude the
debit type from noissuescharge can be changed by clicking that edit button.

Test plan:
1) Choose a patron and add some fines to this patron that have different debit_types
2) Navigate to system preferences and observe that currently you can only amend
   the noissuescharge included debit types using three preferences:
   ManInvInNoissuesCharge, RentalsInNoissuesCharge, HoldsInNoissuesCharge
3) Apply both commits attached to this bug
4) Navigate as above and observe that these three system preferences are now gone
5) Navigate to Debit Types in System Preferences, the table should have a column
   called No issues charge that shows whether a debit_type is Included or Not
   included
6) Click the edit button and there should be a checkbox for Included in
   noissuescharge
7) Change some of the debit_types using this option and observe that the patron
   you added fines to will either be blocked from checkouts or able to checkout
   depending on which debit_types you include and the value of these fines.

Mentored-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-17 10:25:06 -03:00