koha.git
20 months agoBug 30755: Remove auto_too_soon from error count
Martin Renvoize [Fri, 20 May 2022 07:08:28 +0000 (08:08 +0100)]
Bug 30755: Remove auto_too_soon from error count

This patch prevents auto_too_soon errors being counted towards auto
renew errors.

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>
20 months agoBug 31565: Escape datatables MySQL special characters only in LIKE queries
Lari Taskula [Fri, 16 Sep 2022 14:05:15 +0000 (14:05 +0000)]
Bug 31565: Escape datatables MySQL special characters only in LIKE queries

Escaping \ yields no results when performing exact search in datatables.
This patch adds MySQL special character escaping only to LIKE searches.

To test:
1. Add following categorycode 'TEST\CAT' by SQL
insert into categories (categorycode,description) values ('TEST\\CAT', 'TEST\\CAT');
2. Add a patron into TEST\CAT category
3. Go to patron search
4. Limit search by category TEST\CAT
5. Observe no results
6. Apply patch
7. Refresh patron search page
8. Limit search by category TEST\CAT
9. Observe Koha redirecting you to patron you chose in step 2

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31565: Fix datatables searching escape for exact search
Lari Taskula [Wed, 14 Sep 2022 14:34:48 +0000 (14:34 +0000)]
Bug 31565: Fix datatables searching escape for exact search

To test:
1. Add a new patron category with categorycode 'TEST_CAT'
2. Add a patron to category 'TEST_CAT'
3. Go to Patrons search view
4. Under "Search for patron" filters, filter by category you created at step 1
5. Click Search
6. Observe no results
7. Apply this patch and reload
8. Repeat 3-5
9. Observe expected result

Double check tests from Bug 30393 still work as expected:

10. Go to the cities page
11. Add two cities:
   - 'Cordoba %'
   - 'Buenos Aires _'
   - 'London \'
12. Use the column search on the name, alternating _, \ and % as the query
=> SUCCESS: Filtering works correctly!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: Add estimated_delivery_date to object spec
Tomas Cohen Arazi [Fri, 16 Sep 2022 20:10:41 +0000 (17:10 -0300)]
Bug 15348: Add estimated_delivery_date to object spec

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27195: Set focus on first input when adding a new city
Katrin Fischer [Thu, 18 Aug 2022 19:55:17 +0000 (19:55 +0000)]
Bug 27195: Set focus on first input when adding a new city

When adding a new city, the focus/cursor should be
in the first input field of the form: City

To test:
* Add a new city in administration > cities
  - cursur is in no field
* Apply patch
* Add another new city
  - cursor is now in the first input field of the form: City

https://bugs.koha-community.org/show_bug.cgi?id=27193

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30472: DBRev 22.06.00.048
Tomas Cohen Arazi [Fri, 16 Sep 2022 19:56:44 +0000 (16:56 -0300)]
Bug 30472: DBRev 22.06.00.048

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30472: Make borrower_relationships.guarantor_id not null
Marcel de Rooy [Wed, 24 Aug 2022 11:37:55 +0000 (11:37 +0000)]
Bug 30472: Make borrower_relationships.guarantor_id not null

In harmony with dbrev 19.06.00.022.

Test plan:
Run dbrev.
Run t/db_dependent/Patron/Relationships.t
Run t/db_dependent/Koha/Patrons.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31531: Remove unnecessary use directives on opac-memberentry.pl
David Cook [Thu, 8 Sep 2022 03:06:59 +0000 (03:06 +0000)]
Bug 31531: Remove unnecessary use directives on opac-memberentry.pl

This patch just removes two redundant use directives in opac-memberentry.pl

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30025: DBRev 22.06.00.047
Tomas Cohen Arazi [Fri, 16 Sep 2022 19:52:16 +0000 (16:52 -0300)]
Bug 30025: DBRev 22.06.00.047

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30025: Replace AllowManualAuthorityEditing with RequireChoosingExistingAuthority
Nick Clemens [Tue, 16 Aug 2022 11:11:09 +0000 (11:11 +0000)]
Bug 30025: Replace AllowManualAuthorityEditing with RequireChoosingExistingAuthority

This flips the pref from an allowance to a requirement, hopefully this makes the logic here clearer

Test as before, but the values for the renamed pref flipped

Signed-off-by: AFHDubCoLib <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30025: Split BiblioAddsAuthorities into two sysprefs
Nick Clemens [Thu, 26 May 2022 16:14:40 +0000 (16:14 +0000)]
Bug 30025: Split BiblioAddsAuthorities into two sysprefs

This patch adds two new sysprefs:
AutoLinkBiblios
AllowManualAuthorityEditing

Both inherit the setting from BiblioAddsAuhtorities which is removed

To test:
1 -Apply patches
2 - Update database
3 - Confirm old setting is transferred to new option
4 - Confirm you can edit authoriteis manually if AllowManualAuthorityEditing set to allow
5 - Confirm you cannot edit authorities manually if AllowManualAuthorityEditing set to don't allow
6 - Confirm a new bib is linked when AutoLinkBiblios is enabled (set AllowManualAuthorityEditing to add unlinked heading)
7 - Confirm new bib notlinked when AutoLinkBiblios is disabled
8 - Confim new bib not linked when AutoLinkBiblios is enabled, but heading doesn't match an authority and  AutoCreateAuthorities is disabled
9 - Confim new bib linked to new authority when AutoLinkBiblios is enabled, but heading doesn't match an authority and  AutoCreateAuthorities is enabled

Signed-off-by: AFHDubCoLib <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30025: DB update
Nick Clemens [Fri, 10 Jun 2022 12:10:28 +0000 (12:10 +0000)]
Bug 30025: DB update

Signed-off-by: AFHDubCoLib <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31299: Fix duplicate output in search_for_data_inconsistencies.pl
Fridolin Somers [Fri, 5 Aug 2022 18:36:50 +0000 (08:36 -1000)]
Bug 31299: Fix duplicate output in search_for_data_inconsistencies.pl

In search_for_data_inconsistencies.pl when there are several inconsistencies on same framework, the second output of items contains the first one.

Looks like it is since Bug 21466

Test plan using koha-testing-docker :
1) Create 2 inconsistencies on the same item via SQL :
   update items set itemlost = 9 where itemnumber=900;
   update items set notforloan = 8 where itemnumber=900;
2) Without patch
3) Run ./misc/maintenance/search_for_data_inconsistencies.pl
=> You see duplicate output :
== Wrong values linked to authorised values ==
* The Framework *BKS* is using the authorised value's category *NOT_LOAN*, but the following items.notforloan do not have a value defined ({itemnumber => value }):
 {900 => 8}
* The Framework *BKS* is using the authorised value's category *LOST*, but the following items.itemlost do not have a value defined ({itemnumber => value }):
 {900 => 8} {900 => 9}

4) Apply patch
5) Run ./misc/maintenance/search_for_data_inconsistencies.pl
=> Fixed :D
== Wrong values linked to authorised values ==
* The Framework *BKS* is using the authorised value's category *LOST*, but the following items.itemlost do not have a value defined ({itemnumber => value }):
 {900 => 9}
* The Framework *BKS* is using the authorised value's category *NOT_LOAN*, but the following items.notforloan do not have a value defined ({itemnumber => value }):
 {900 => 8}

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31558: Fix image drag and drop in TinyMCE
Fridolin Somers [Tue, 13 Sep 2022 20:27:39 +0000 (10:27 -1000)]
Bug 31558: Fix image drag and drop in TinyMCE

Bug 26949 upgraded JS lib TinyMCE to 5.9.2

This version has a known issue on images drag and drop :
https://stackoverflow.com/questions/64782955/tinymce-inline-drag-and-drop-image-upload-not-working

Test plan :
1) Go to Tools > HTML customizations
2) Create a new entry (not using text editor)
3) Drag and drop an image
=> Without patch you see an error message from TinyMCE 'Dropped file type is not supported'
=> With patch : It works !

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>
20 months agoBug 31373: DRY - Use try/catch around _process_tt
Martin Renvoize [Thu, 18 Aug 2022 16:21:31 +0000 (17:21 +0100)]
Bug 31373: DRY - Use try/catch around _process_tt

This patch reduces the repetition in the tools/letter.pl controller
replaceing it with a try/catch block wrapping a call to
C4::Letters::_process_tt instead.

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>
20 months agoBug 31373: Add INCLUDE_PATH to notice validation
Martin Renvoize [Tue, 16 Aug 2022 16:08:40 +0000 (17:08 +0100)]
Bug 31373: Add INCLUDE_PATH to notice validation

This is a follow-up to bug 31211. It adds the same INCLUDE_PATH
variables as C4::Templates adds during processing to prevent false
failures.

Test plan
1) Add an INCLUDE to any valid notice, for example:
   [% INCLUDE 'patron-title.inc' patron => patron %]
2) Save and continue
3) Confirm you are faced with a validation error complaining that
   the include file cannot be found
4) Apply this patch
5) Confirm that the reported error has dissapeared

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>
20 months agoBug 15348: DBRev 22.06.00.046
Tomas Cohen Arazi [Fri, 16 Sep 2022 13:59:04 +0000 (10:59 -0300)]
Bug 15348: DBRev 22.06.00.046

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: DBIC schema
Tomas Cohen Arazi [Fri, 16 Sep 2022 13:56:40 +0000 (10:56 -0300)]
Bug 15348: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (QA follow-up) DB update fixes
Tomas Cohen Arazi [Fri, 16 Sep 2022 13:54:54 +0000 (10:54 -0300)]
Bug 15348: (QA follow-up) DB update fixes

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix pre-selected date when editing from late orders page
Katrin Fischer [Wed, 17 Aug 2022 17:54:52 +0000 (17:54 +0000)]
Bug 15348: (follow-up) Fix pre-selected date when editing from late orders page

When editing the estimated delivery date from the late orders page,
with multiple late orders, the selected date in the edit form would
always be the same, not matching the edited date.

With this page, the edited date will match what is shown in the form.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix sorting of estimated delivery date on basket summary page
Katrin Fischer [Wed, 17 Aug 2022 11:31:35 +0000 (11:31 +0000)]
Bug 15348: (follow-up) Fix sorting of estimated delivery date on basket summary page

Also removes some unneded variables from the table footers that
are used to display amount totals.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Move estimated delivery date before supplier report and fix...
Katrin Fischer [Wed, 17 Aug 2022 10:03:22 +0000 (10:03 +0000)]
Bug 15348: (follow-up) Move estimated delivery date before supplier report and fix column settings

On the basket summary page the estimated delivery date column was
moved before the supplier report column, that is only visible
when EDIFACT has been activated.

It also adds the new column to the table configuration.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix filtering results on estimated delivery date
Aleisha Amohia [Tue, 2 Aug 2022 04:57:02 +0000 (16:57 +1200)]
Bug 15348: (follow-up) Fix filtering results on estimated delivery date

Adding another clause to the SQL so that the specified estimated
delivery date is used for filtering first, and the calculated delivery
date is used if there is no specified estimated delivery date.

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix modal to edit delivery date
Aleisha Amohia [Tue, 26 Jul 2022 04:49:39 +0000 (16:49 +1200)]
Bug 15348: (follow-up) Fix modal to edit delivery date

This allows you to empty the delivery date and ensures the current date
shows

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix calendar widget, translateability, etc
Aleisha Amohia [Fri, 15 Jul 2022 02:10:47 +0000 (14:10 +1200)]
Bug 15348: (follow-up) Fix calendar widget, translateability, etc

Also add functionality to edit the estimated delivery date from a closed
basket.

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Update calendar widget to flatpickr
Katrin Fischer [Mon, 4 Jul 2022 15:35:16 +0000 (15:35 +0000)]
Bug 15348: (follow-up) Update calendar widget to flatpickr

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix imports in moddeliverydate.pl
Katrin Fischer [Mon, 4 Jul 2022 15:27:05 +0000 (15:27 +0000)]
Bug 15348: (follow-up) Fix imports in moddeliverydate.pl

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix export of dt_from_string
Katrin Fischer [Mon, 4 Jul 2022 12:41:33 +0000 (12:41 +0000)]
Bug 15348: (follow-up) Fix export of dt_from_string

 FAIL acqui/addorder.pl
   FAIL   valid
          " dt_from_string " is not exported by the Koha::DateUtils module
  Can't continue after import errors

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix TT filters from html to uri
Katrin Fischer [Mon, 4 Jul 2022 12:24:42 +0000 (12:24 +0000)]
Bug 15348: (follow-up) Fix TT filters from html to uri

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (follow-up) Fix breadcrumbs, title, JS error, permissions
Aleisha Amohia [Fri, 7 May 2021 03:02:42 +0000 (15:02 +1200)]
Bug 15348: (follow-up) Fix breadcrumbs, title, JS error, permissions

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: trivial code simplification
Jonathan Druart [Wed, 7 Apr 2021 14:07:09 +0000 (16:07 +0200)]
Bug 15348: trivial code simplification

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: (QA follow-up) Remove superflous filters
Martin Renvoize [Thu, 25 Mar 2021 12:22:56 +0000 (12:22 +0000)]
Bug 15348: (QA follow-up) Remove superflous filters

The QA script highlighted the addition of some unneeded extra TT
filters.

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15348: Add estimated delivery date field to individual orders
Aleisha Amohia [Wed, 16 Dec 2020 05:57:42 +0000 (18:57 +1300)]
Bug 15348: Add estimated delivery date field to individual orders

This patch allows you to specify an estimated delivery date per order.
The specified estimated delivery date is also considered when searching
for late orders and exporting late orders. You can also edit the
estimated delivery date from the late orders page.

Test plan:
1. Update database, rebuild schema, restart services
2. Go to Acquisitions, search for a vendor, and create a new basket
3. Add an order to the basket. When filling in the accounting details,
notice the new 'estimated delivery date' field, but don't add a date.
Save the order.
4. Confirm no date shows in the estimated delivery date column in the
orders table.
5. Modify the order. Add a date in the estimated delivery date field and
save the order.
6. Confirm the date now shows in the orders table.
7. Close the basket.
8. Go to the Late Orders page.
9. Put estimated delivery date from and to parameters in the search
filters on the left. Ensure the from and to dates encapsulate the date
you entered in the estimated delivery date field for the order.
10. Click Filter and ensure the order shows.
11. Select the checkbox next to the order. Click the Export as CSV button.
12. Open the CSV and confirm the estimated delivery date that you
entered shows as expected in the file.
13. Click Edit under the estimated delivery date. Confirm the estimated
delivery date modal pops up with the correct order line number in the
modal header.
14. Remove the estimated delivery date and click Save.
15. Confirm that the estimated delivery date calculated by Koha now
shows in the late orders table.
16. Select the checkbox next to the order. Click the Export as CSV button.
17. Open the CSV and confirm the calculated estimated delivery date
shows in the CSV.
18. Confirm tests pass: t/db_dependent/Koha/Acquisition/Order.t

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 28553: (QA follow-up) default to auto renew email when cron switched used
David Cook [Tue, 13 Sep 2022 06:46:46 +0000 (06:46 +0000)]
Bug 28553: (QA follow-up) default to auto renew email when cron switched used

This patch defaults to using "email" rather than "sms" notices
when AutoRenewalNotices is set to use the --send-notices cron switch

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 28553: Patrons can be set to receive auto_renew notices as SMS, but Koha does...
Kyle M Hall [Mon, 18 Jul 2022 16:37:48 +0000 (12:37 -0400)]
Bug 28553: Patrons can be set to receive auto_renew notices as SMS, but Koha does not generate them

Following bug 18532, one can set a patron's messaging prefs to deliver an auto-renew notice via SMS.
However, the auto_renewals cron only knows how to generate email notices. We should not allow the selection of non-functional transport types.

Test Plan:
 1 - Set pref AutoRenewalNotices - 'according to patron messaging preferences'
 2 - Set circ rule with:
    Loan period: 5 days
    No renewal before: 5
    AutoRenewal: Yes
    Renewals allowed: 5
 3 - Set SMS Send driver to Email
 4 - Find a patron and set them to receive auto renewal notices via SMS and no other transport
 5 - Provide a proivder and sms number for the patron
 6 - Checkout an item to the patron, set due date to yesterday
 7 - Run auto renewals:
    perl misc/cronjobs/automatic_renewals.pl -v --send-notices -c
 8 - Item renewed, no message sent
 9 - Check in item, checkout again due yesterday
10 - Apply patch
11 - Browse to Tools->notices and slips
12 - Edit AUTO_RENEWALS and AUTO_RENEWALS_DIGEST to copy email template to sms and add a title
13 - perl misc/cronjobs/automatic_renewals.pl -v --send-notices -c
14 - Item renewed, confirm patron has a notice in their account
15 - Check the digest option, check in item, checkout again as due, repeat cronjob and note digest notic
16 - sign off

https://bugs.koha-community.org/show_bug.cgi?id=30355

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31239: (QA follow-up) Fixing ternary formatting
Marcel de Rooy [Fri, 16 Sep 2022 09:41:59 +0000 (09:41 +0000)]
Bug 31239: (QA follow-up) Fixing ternary formatting

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31239: Fix incorrect AV linked to a mapped biblio column
Jonathan Druart [Wed, 10 Aug 2022 09:12:06 +0000 (11:12 +0200)]
Bug 31239: Fix incorrect AV linked to a mapped biblio column

If an AV is linked to a MARC field mapped with a biblio column, the
search_for_data_inconsistencies.pl script might explode with

The method Koha::Biblioitem->title is not covered by tests!

Trace begun at /kohadevbox/koha/Koha/Object.pm line 875
Koha::Object::AUTOLOAD('Koha::Biblioitem=HASH(0x556b67fa7168)') called at misc/maintenance/search_for_data_inconsistencies.pl line 246

Test plan:
For a given framework, pick a biblio using it
Link 245$a with an authorised value category
Run the script
=> Notice that with this script applied you will see the warning
=> Without this patch you got the error

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>
20 months agoBug 31154: (QA follow-up) Fix UI form builder
Marcel de Rooy [Fri, 16 Sep 2022 08:58:51 +0000 (08:58 +0000)]
Bug 31154: (QA follow-up) Fix UI form builder

The change in batchMod.pl is not needed when we fix the builder.
But we could at least add a comment there!

Note that passing the biblionumber of the first item does not
make sense since we are modifying items from several biblio
records normally. We most probably do not want this MARC
record's itemcallnumber (via the syspref) in all our items.

Test plan:
Test batchMod with and without the Populate fields checkbox.
Fill syspref 'itemcallnumber' with e.g. 084a.
Check Populate, and try again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31154: Pass biblionumber to Koha::UI::Form::Builder::Item->new from batchMod...
Emmi Takkinen [Tue, 26 Jul 2022 10:18:43 +0000 (13:18 +0300)]
Bug 31154: Pass biblionumber to Koha::UI::Form::Builder::Item->new from batchMod.pl to prevent error 500

When one tries to batch mod items and has "Use default values"
checkbox checked on and they have value in syspref "itemcallnumber",
Koha dies on error 500. In logs it reads:

Can't call method "field" on an undefined value at
.../Koha/Koha/UI/Form/Builder/Item.pm line 164.

This happens because in batchMod.pl line 269 we don't pass
biblionumber as parameter to Koha::UI::Form::Builder::Item->new
and thus Koha fails to fetch biblios marc record.

To test:
1. Confirm you have/set value to syspref "itemcallnumber" e.g. 084a
2. Find some item(s) to modify
3. Provide barcodes of those item(s) and check checkbox "Use default values"
4. Hit "Continue"
=> error 500 is raised
5. Apply patch.
6. Repeat steps 3. and 4.
=> no error is raised

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31526: Follow-up for bug 29697
Martin Renvoize [Tue, 13 Sep 2022 10:09:23 +0000 (11:09 +0100)]
Bug 31526: Follow-up for bug 29697

There was a typo in bug 29697 which lead to a code reference error.

Test plan
1) Export a record with ISBN from your catalog (Save as MARC)
2) Stage it using the ISBN matching rule (make sure it matched)
3) Manage staged import and click on the Diff link

Prior to this patch an error would be thrown, after the patch you should
now get the diff view as expected again.

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>
20 months agoBug 29144: DBRev 22.06.00.045
Tomas Cohen Arazi [Fri, 16 Sep 2022 13:25:07 +0000 (10:25 -0300)]
Bug 29144: DBRev 22.06.00.045

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: (QA follow-up) Make update idempotent
Tomas Cohen Arazi [Fri, 16 Sep 2022 13:21:10 +0000 (10:21 -0300)]
Bug 29144: (QA follow-up) Make update idempotent

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: DBIC schema
Tomas Cohen Arazi [Fri, 16 Sep 2022 13:10:49 +0000 (10:10 -0300)]
Bug 29144: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: (follow-up) Fix rebase issue related to bug 31313
Marcel de Rooy [Tue, 16 Aug 2022 14:19:46 +0000 (14:19 +0000)]
Bug 29144: (follow-up) Fix rebase issue related to bug 31313

Fixing display of holding branch name.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Copy and remove branches.opac_info (dbrev)
Marcel de Rooy [Thu, 4 Aug 2022 09:33:13 +0000 (09:33 +0000)]
Bug 29144: Copy and remove branches.opac_info (dbrev)

Test plan:
Run dbrev.
Check api URL: /api/v1/public/libraries (with/without suffix /[branch_code].

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Remove opac_info from a few tests
Marcel de Rooy [Thu, 4 Aug 2022 08:16:47 +0000 (08:16 +0000)]
Bug 29144: Remove opac_info from a few tests

Test plan:
Run t/db_dependent/Circulation/GetHardDueDate.t
Run t/db_dependent/Circulation/OfflineOperation.t
Run t/db_dependent/RotatingCollections.t
Run t/db_dependent/api/v1/libraries.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Adjust libraries form
Marcel de Rooy [Wed, 3 Aug 2022 14:59:49 +0000 (14:59 +0000)]
Bug 29144: Adjust libraries form

Test plan:
[1] Go to Administration / libraries.
[2] Check list view.
[3] Check view on individual library with/without opac info.
[4] Edit individual library with/without opac info.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Show html opac_info on opac-detail page
Marcel de Rooy [Wed, 3 Aug 2022 12:13:20 +0000 (12:13 +0000)]
Bug 29144: Show html opac_info on opac-detail page

Note: This patch disables the API call (which is not really needed),
and still needs attention in a following patch.

Test plan:
Add opac_info for two libraries and a branchurl for one of the two.
Select a biblio with an item having these two libraries as either
home or holding branch.
Toggle OpacLocationBranchToDisplay and check items table on opac
detail. Click on the library name.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Use ->opac_info in opac-library template
Marcel de Rooy [Thu, 4 Aug 2022 06:02:56 +0000 (06:02 +0000)]
Bug 29144: Use ->opac_info in opac-library template

The opac_info call uses find_best_match which does not result in
the All libaries plus specific library response of
AdditionalContents.get.

Test plan:
Revisit individual library page on OPAC.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Add $contents->find_best_match, $library->opac_info
Marcel de Rooy [Tue, 2 Aug 2022 11:54:59 +0000 (11:54 +0000)]
Bug 29144: Add $contents->find_best_match, $library->opac_info

Test plan:
Run t/db_dependent/Koha/AdditionalContents.t
Run t/db_dependent/Koha/Library.t

Note: You may need to set ListOwnershipUponPatronDeletion to
delete to fix a pending issue in patron->delete with lists.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: (follow-up) Terminology: rename to OpacLibraryInfo
Marcel de Rooy [Tue, 2 Aug 2022 11:57:18 +0000 (11:57 +0000)]
Bug 29144: (follow-up) Terminology: rename to OpacLibraryInfo

git grep -l OpacBranchInfo | xargs sed -i -e's/OpacBranchInfo/OpacLibraryInfo/g'

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: Add OpacBranchInfo as HTML option, show it on opac
Marcel de Rooy [Mon, 1 Aug 2022 13:58:50 +0000 (13:58 +0000)]
Bug 29144: Add OpacBranchInfo as HTML option, show it on opac

Test plan:
Add a few OpacBranchInfo for libraries.
Verify that opac-library shows the correct info per library.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29144: First sort the HTML options
Marcel de Rooy [Mon, 1 Aug 2022 12:30:30 +0000 (12:30 +0000)]
Bug 29144: First sort the HTML options

Test plan:
Check result while adding a new HTML customization entry.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31513: (QA follow-up) Keep price formatting on non-editable text fields
Joonas Kylmälä [Thu, 15 Sep 2022 18:06:53 +0000 (18:06 +0000)]
Bug 31513: (QA follow-up) Keep price formatting on non-editable text fields

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31513: Remove price formatting form data- attributes
Katrin Fischer [Sun, 11 Sep 2022 14:50:56 +0000 (16:50 +0200)]
Bug 31513: Remove price formatting form data- attributes

We cannot use data formatted with a decimal comma for
calculations. So we need to make sure that the data- attributes
passed to the modals are in 'database format' with decimal .

This will fix the NaN errors on the forms, but might also
negatively effect formatting in some spots.
Formatting should be fixed separately as this is for sure the
right first step, but we need to put in more work for displays.

To test:
* Set CurrencyFormat system preference to FR
* Go to any patron account > accounting tab
* Create a credit
* On Transactions tab: Payout amount at bottom = Verify NaN in input
* On Transactions tab: Issue payout on the credit line = Verify NaN in input
* Create a manual debit and pay it
* On Transactions tab: Issue refund = Verify NaN in input
* Apply patch
* Repeat test plan
* Now all input fields should be set with the correct amounts

https://bugs.koha-community.org/show_bug.cgi?id=31486

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 26247: (follow-up) Fix permissions
Tomas Cohen Arazi [Wed, 14 Sep 2022 00:03:20 +0000 (21:03 -0300)]
Bug 26247: (follow-up) Fix permissions

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 26247: DBRev 22.06.00.044
Tomas Cohen Arazi [Tue, 13 Sep 2022 16:33:17 +0000 (13:33 -0300)]
Bug 26247: DBRev 22.06.00.044

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 20058: DBRev 22.06.00.043
Tomas Cohen Arazi [Mon, 12 Sep 2022 20:45:52 +0000 (17:45 -0300)]
Bug 20058: DBRev 22.06.00.043

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31236: Add ability to send custom item fields via SIP using Template Toolkit
Kyle Hall [Mon, 25 Jul 2022 14:56:08 +0000 (10:56 -0400)]
Bug 31236: Add ability to send custom item fields via SIP using Template Toolkit

Koha has been able to send arbitrary item fields via the "item_field" parameter in the config. We have partners that need the ability to created custom item fields from templates, as the item_fields feature cannot accomplish what they need. We need to add a templated custom field feature for items, similar to what we have for patrons.

Test Plan:
1) Apply this patch
2) Choose a SIP login to use, edit that account and add the following
   *inside* the login section:
   <custom_item_field field="IN" template="[% item.itemnumber %]" />
3) Restart SIP
4) Run an item information query
5) Note the itemnumber is sent in the IN field!

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

20 months agoBug 20058: (QA follow-up) Simplify test code
Nick Clemens [Fri, 2 Sep 2022 07:00:15 +0000 (07:00 +0000)]
Bug 20058: (QA follow-up) Simplify test code

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 20058: (QA follow-up) Add exec flag to install file
Nick Clemens [Fri, 2 Sep 2022 06:54:00 +0000 (06:54 +0000)]
Bug 20058: (QA follow-up) Add exec flag to install file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 20058: Add tests
David Gustafsson [Mon, 27 Sep 2021 14:48:25 +0000 (16:48 +0200)]
Bug 20058: Add tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 20058: Add option to send permanent_location as AQ in SIP response
Stefan Berndtsson [Mon, 15 Jan 2018 13:20:06 +0000 (14:20 +0100)]
Bug 20058: Add option to send permanent_location as AQ in SIP response

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 28634: Fix notice borrowernumber
Andrew Isherwood [Mon, 28 Jun 2021 10:38:00 +0000 (11:38 +0100)]
Bug 28634: Fix notice borrowernumber

This commit fixes the bug described in this bug.

- When a partner is selected, pass their borrowernumber rather than email to the
receiving script
- Iterate all selected partners, send a notice to each, using the
recipient's borrowernumber in the notice, the recipient's email is
derived from their patron object

TEST PLAN:
1. DO NOT apply the patch.
2. Follow the following setup:

*** Setup start ***
- Create a report using the following SQL in order to verify that
notices are being generated:
SELECT borrowernumber, subject, content, message_transport_type,
to_address, from_address FROM message_queue WHERE letter_code LIKE
'ILL%' ORDER BY message_id DESC

- Create two "partners". These are patrons that belong to a
patron category that has a code that matches the <partner_code> value in
your koha-conf.xml (default is ILLLIBS). Patrons in this category must
have a primary email defined. Patrons defined in this way are offered as
request partners within the ILL interface.

- Go to "Koha administration", search for "ILLModule" syspref, ensure it
is set to "Enable"
- Go to "Koha administration", search for "IllLog" syspref, ensure it is
set to "Log"

BRANCH CONFIG
- Go to "Koha administration" > "Libraries"
- Choose a library and "Edit" it
- Ensure the "Email" field for the library is populated

SENDING REQUEST TO PARTNERS
- Go to the "Manage ILL request" screen for a request, create a request
if one does not exist
- Choose "Place request with partners"
- Select both partners that were defined earlier, then click
"Send email"
- Run the report created earlier
=> TEST: Observe that a notice was created and the borrowernumber is
that of the request creator, not the recipient
*** Setup end ***

3. Apply the patch
a. Go to the "Manage ILL request" screen for a request, create a request
if one does not exist
b. Choose "Place request with partners"
c. Select both partners that were defined earlier, then click
"Send email"
d. Run the report created earlier
=> TEST: Observe that once notice per partner is created, the
borrowernumber column for each notice contains the borrower number of
the recipient, not the request creator

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 26247: (QA follow-up) Merge DB Updates
Martin Renvoize [Mon, 12 Sep 2022 16:09:24 +0000 (17:09 +0100)]
Bug 26247: (QA follow-up) Merge DB Updates

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 26247: Adding 2 Sysprefs for Search Terms
Florian Bontemps [Tue, 28 Jun 2022 13:42:46 +0000 (13:42 +0000)]
Bug 26247: Adding 2 Sysprefs for Search Terms

This patch adds two system preferences options : 'RetainCatalogSearchTerms' and 'RetainPatronsSearchTerms'. If enabled, search terms will be retained between searches made from, respectively, the Search Catalog header and the Checkout or Search Patrons headers. If disabled, the searchbars will clear out between page loads.

Attention, this is an alternate solution from the previous patches, ONLY apply this patch when testing and not the previous ones.Changed the syspref wording as well.

To test:
1 - From the staff client, search some terms using the Check out header search bar.
2 - Confirm search terms are retained.
3 - Do Step 1-2 twice again, this time using the Search patrons and Search the catalog.
4 - Apply patch (again, only this one), update database.
5 - In the system preferences, look for RetainCatalogSearchTerms and set it to 'don't retain'.
6 - Use the checkout head search bar again, confirm that search terms aren't retained after page load.
7 - Do Step 5-6 once again, this time with the RetainPatronsSearchTerms and the Search Patrons and Search the catalog headers.
8 - Search boxes should be cleared.

Thanks-to: Fridolin Somers and Nick Clemens for the bases I built on.
Signed-off-by: Florian Bontemps <florian.bontemps@biblibre.com>
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>
20 months agoBug 29409: Check for data that violates a constraint to avoid update problems
Nick Clemens [Wed, 3 Nov 2021 16:53:47 +0000 (16:53 +0000)]
Bug 29409: Check for data that violates a constraint to avoid update problems

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29409: Check for existence of constraint before deletion
Nick Clemens [Wed, 3 Nov 2021 16:51:09 +0000 (16:51 +0000)]
Bug 29409: Check for existence of constraint before deletion

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30921: (QA follow-up) Remove unnecessary if
Joonas Kylmälä [Mon, 12 Sep 2022 16:24:31 +0000 (16:24 +0000)]
Bug 30921: (QA follow-up) Remove unnecessary if

The statement is already inside an if block with the same condition.

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30921: Replace C4::XSLT::transformMARCXML4XSLT with RecordProcessor
Martin Renvoize [Tue, 7 Jun 2022 14:24:23 +0000 (15:24 +0100)]
Bug 30921: Replace C4::XSLT::transformMARCXML4XSLT with RecordProcessor

This patch removes the last remaining uses of transformMARCXML4XSLT and
replaced them with the equivilent RecordProcessor usage.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31516: Add error message for viewing enrollments for a non-existent club
Joonas Kylmälä [Fri, 2 Sep 2022 18:51:25 +0000 (18:51 +0000)]
Bug 31516: Add error message for viewing enrollments for a non-existent club

To test:
 1) Go to non-existent club's enrollment page, e.g.
    http://localhost:8081/cgi-bin/koha/clubs/club-enrollments.pl?id=1010101001000
 2) Notice the not fully filled header text and empty table
 3) Apply patch and revisit the page to see the proper error message given

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>
20 months agoBug 31486: Redirect to proper page after message deletion
Lucas Gass [Mon, 29 Aug 2022 21:48:01 +0000 (21:48 +0000)]
Bug 31486: Redirect to proper page after message deletion

To test:
1. Go to a patron account and create some messages
2. Try deleting some from both the patron details page and the patron checkout page.
3. Notice that is you are on the patron checkout page and delete a message you are then redirected to the patron details page.
4. Apply patch
5. Try deleting messages from both pages and confirm you are redirected back to that same page and the message is properly deleted.

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31535: Fix warning - uninitialized value for location
Marcel de Rooy [Fri, 9 Sep 2022 07:35:53 +0000 (07:35 +0000)]
Bug 31535: Fix warning - uninitialized value for location

In Koha/Item.pm line 169 (line number has been changed)

Test plan:
You need location to be NULL when storing.
Otherwise follow this reasoning:
  What happens when location is undefined? It is autovivified to
  empty string in the string compare (ne), so not equal to CART
  and PROC. The subcondition is true before and after this patch.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31535: Fix warning - uninitialized value in string ne (MARCdetail.pl)
Marcel de Rooy [Thu, 8 Sep 2022 14:13:36 +0000 (14:13 +0000)]
Bug 31535: Fix warning - uninitialized value in string ne (MARCdetail.pl)

Spotted at line 183 (older Koha version).

Test plan:
You need a NULL in the tab column of marc_subfield_structure. Hit this
page and check the logs.
This might convince you easier:
  my $tabloop=0; my $x; print "Empty string - True\n" if ( $x // q{} ) ne $tabloop;
  print "Zero - True\n" if ( $x // '0' ) ne $tabloop;
You should only see: Empty string - True proving that defaulting to '0'
would be a game changer.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31535: Fix warning - uninitialized value $mode in string ne (addbiblio.pl)
Marcel de Rooy [Thu, 8 Sep 2022 14:03:51 +0000 (14:03 +0000)]
Bug 31535: Fix warning - uninitialized value $mode in string ne (addbiblio.pl)

Line number varies across versions. (Should be L887 now.)
Resolves:
    Use of uninitialized value $mode in string ne at /usr/share/koha/cataloguing/addbiblio.pl line 845.

No test plan here. This is trivial. Read the patch.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29658: Fix crash on cancelling cancelled order
Marcel de Rooy [Wed, 8 Dec 2021 13:44:38 +0000 (13:44 +0000)]
Bug 29658: Fix crash on cancelling cancelled order

Found this crash in our 20.11 logs:
Cannot insert order: Mandatory parameter biblionumber is missing at /usr/share/koha/acqui/cancelorder.pl line 60.
 at /usr/share/perl/5.28/Carp.pm line 289
        Carp::croak('Cannot insert order: Mandatory parameter biblionumber is missing') called at /usr/share/koha/Koha/Acquisition/Order.pm line 79
        Koha::Acquisition::Order::store('Koha::Acquisition::Order=HASH(0x55f3760e2860)') called at /usr/share/koha/Koha/Acquisition/Order.pm line 189
        Koha::Acquisition::Order::cancel('Koha::Acquisition::Order=HASH(0x55f3760e2860)', 'HASH(0x55f375a17ec0)') called at /usr/share/koha/acqui/cancelorder.pl line 60

Not sure how to reproduce this one as it happened. But might be related to repeated clicking, backspacing etc.

Test plan:
Create a new basket and order.
Open this same basket in two browser tabs.
Cancel the order line (delete catalog record) in tab 1.
Go to second tab, try again.
Without this patch, it will crash. With this patch, an error message.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31439: Use pseudo element for bullet in results.tt
Lucas Gass [Thu, 1 Sep 2022 18:10:50 +0000 (18:10 +0000)]
Bug 31439: Use pseudo element for bullet in results.tt

To test:
1. Apply patch and regenerate CSS. See:
  https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client
2. Go to the staff results page and inscept the result_item_details
   class.
3. It should contain a ::before pseudo element that is the bullet point.
4. This is easier to remove of alter with the following CSS in
   IntraNetUSerCSS:

.result_item_details::before {
content: " " !important;
}

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31530: Remove HTML tags in TT comments in patron-search.inc
Fridolin Somers [Wed, 7 Sep 2022 20:46:18 +0000 (10:46 -1000)]
Bug 31530: Remove HTML tags in TT comments in patron-search.inc

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
To test:
1) Without patch, search for patron-search.inc in misc/translator/po/xx-XX-staff-prog.po
--> There should be strings with pound signs such as "%%] %s [%%# - branch: "
2) Apply patch
3) Update translation files `translate update xx-XX`
4) Search again for patron-search.inc in
misc/translator/po/xx-XX-staff-prog.po
--> The problematic strings are not there anymore
5) In the staff interface, go to Patrons, the search box and search
function should be unchanged

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31250: (QA follow-up) The future will be easier
Marcel de Rooy [Thu, 18 Aug 2022 14:32:46 +0000 (14:32 +0000)]
Bug 31250: (QA follow-up) The future will be easier

As requested by Jonathan, we need more flexibility ;)
Here it comes.

Test plan:
Run t/CookieManager.t

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>
20 months agoBug 31250: Add catalogue_editor_ cookie to koha-conf deny list
Marcel de Rooy [Thu, 28 Jul 2022 12:52:56 +0000 (12:52 +0000)]
Bug 31250: Add catalogue_editor_ cookie to koha-conf deny list

Test plan:
Add this change to your koha-conf.xml.
Flush, restart.
Test if the cookie is kept now in the interface.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31250: Deny clearing cookies with numeric suffix
Marcel de Rooy [Thu, 28 Jul 2022 12:43:20 +0000 (12:43 +0000)]
Bug 31250: Deny clearing cookies with numeric suffix

This change allows us to add catalogue_editor_ to the deny list
in koha-conf.xml and keep cookies like catalogue_editor_123.

Test plan:
Run t/CookieManager.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
To test:
1 - Sign in to staff client
2 - Search for records and edit one
3 - Switch to advanced editor
4 - View cookies (F12/developer panel/storage tab)
5 - Note cookie like 'catalogue_editor_##' with value 'advanced'
6 - Log out
7 - note cookie value deleted
8 - Log in and search/edit a record
9 - Basic editor loads
10 - Apply patch
11 - Add line to koha-conf as described in second patch
12 - Restart all
13 - Switch to advanced editor
14 - Cookie value updated
15 - Logout
16 - Cookie value remains
17 - Log in and search/edit
18 - Confirm advanced editor loads

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31537: Elasticsearch - index mapping for 003 control-number-identifier is twice...
Caroline Cyr La Rose [Thu, 8 Sep 2022 15:54:19 +0000 (11:54 -0400)]
Bug 31537: Elasticsearch - index mapping for 003 control-number-identifier is twice in mappings.yaml

This patch removes one of the two mappings for the 003 field to the
control-number-identifier index (for MARC21).

To test:
1) Apply patch
2) reindex with mappings reset
3) try to search for cni:code (for example cni:OSt)
--> it should return the desired results
4) try to search for control-number-identifier:code (for example
control-number-identifier:OSt)
--> it should return the desired results
5) Optionally, try the test plan in Bug 11175 to make sure it still
works

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>
20 months agoBug 31542: Home page links correct font-family
Fridolin Somers [Fri, 9 Sep 2022 06:17:23 +0000 (20:17 -1000)]
Bug 31542: Home page links correct font-family

In koha-tmpl/intranet-tmpl/prog/css/mainpage.css the rule of
font-family for big links is not complete :
  font-family: verdana, arial;
It is missing sans-serif in case computer has not those fonts.
On my computer I dont have them so I see a serif font.

We can remove this rule, inherited rule is serif fonts.

Test plan :
1) Use a computer without Arial nor Verdana fonts (basically a Linux)
2) Look at home page big links : Circulation, Patrons ...
   => Without patch they have serif font
   => With patch they have sans-serif font

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31545: ComponentSortField description is incorrect
Caroline Cyr La Rose [Fri, 9 Sep 2022 22:01:18 +0000 (18:01 -0400)]
Bug 31545: ComponentSortField description is incorrect

This patch corrects the description of the ComponentSortField system
preference, as it affects both the staff interface and the OPAC.

To test:
1) Apply patch
2) Go to Administration > Global system preferences
3) Search for ComponentSortField
4) Read the description, make sure there are no errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31455: (QA follow-up) Make table creation O(N)
Joonas Kylmälä [Thu, 1 Sep 2022 19:45:25 +0000 (19:45 +0000)]
Bug 31455: (QA follow-up) Make table creation O(N)

We can insert the indices before the main loop to a hash,
this way we don't have to look up during each loop iteration
the index from an array which in the worst case might take O(N)
thus making the total time complexity O(N^2).

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31455: Make batchMod sort by order scanned
Lucas Gass [Thu, 1 Sep 2022 16:55:14 +0000 (16:55 +0000)]
Bug 31455: Make batchMod sort by order scanned

To test:
1. In batch item deletion and batch item modification add some
   barcodes.
2. Notice they are being sorted by item number, not in the order
   scanned.
3. Appply patch and restart services.
4. Try scanning items again in both batch item deletion and batch item
   modification.
5. The found barcodes should now sort by order scanned.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: (QA follow-up) GetMarcBiblio was removed from codebase
Tomas Cohen Arazi [Mon, 12 Sep 2022 18:28:08 +0000 (15:28 -0300)]
Bug 27981: (QA follow-up) GetMarcBiblio was removed from codebase

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: DBRev 22.06.00.042
Tomas Cohen Arazi [Mon, 12 Sep 2022 18:21:38 +0000 (15:21 -0300)]
Bug 27981: DBRev 22.06.00.042

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: (QA follow-up) Unify JavaScript to false/true from 0/1/""
Andrew Nugged [Sun, 14 Aug 2022 22:58:29 +0000 (01:58 +0300)]
Bug 27981: (QA follow-up) Unify JavaScript to false/true from 0/1/""

Make remove_control_num var and JS KohaBackend.GetRecord calls to have
only false/true instead of mixed 0,1, and "" in different places.

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: (follow-up) Fix tests
Nick Clemens [Mon, 13 Jun 2022 12:22:37 +0000 (12:22 +0000)]
Bug 27981: (follow-up) Fix tests

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: (follow-up) Correct variable
Nick Clemens [Tue, 3 May 2022 13:44:34 +0000 (13:44 +0000)]
Bug 27981: (follow-up) Correct variable

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: Adjust imported records, svc/import_bibs, records from Z3950
Nick Clemens [Tue, 31 Aug 2021 12:59:56 +0000 (12:59 +0000)]
Bug 27981: Adjust imported records, svc/import_bibs, records from Z3950

Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: Add option to automatically set 001 to the biblionumber
Nuño López Ansótegui [Wed, 19 Jun 2013 12:35:41 +0000 (14:35 +0200)]
Bug 27981: Add option to automatically set 001 to the biblionumber

This patch adds a new system preference:
autoControlNumber

The option "biblionumber" will set field 001 to the biblionumber when you create a new record
or edit an existing record and clear the 001 field.

If a value is present in 001 when saving the record it will be preserved.

If set to 'OFF' the 001 field wil not be touched

When duplicating a record the 001 will be removed if autoControlNumber is set

To test:
 1 - Apply patches and updatedatabase
 2 - Create a new record with no 001 field
 3 - Save and view the MAC, confirm there is no 001
 4 - Set the system preference to 'biblionumber'
 5 - Edit the record you created previously
 6 - Note the 001 is prepopulated with the biblionumber
 7 - Delete the field
 8 - Save the record
 9 - View the MARC, the 001 is filled with biblionumber
10 - Edit the record
11 - Set the 001 to a different value "Not the biblionumber"
12 - Save
13 - View the marc and confirm the value you entered is retained
14 - Edit a record with an existing 001 that is not the biblionumber
15 - Save and confirm 001 is not updated

To test duplication:
1 - Edit a record as duplicate when using the advanced editor
2 - Confirm the 001 does not load, but record saves correctly
3 - Edit the record
4 - Switch to 'basic editor'
5 - Save, then view record
6 - Edit as duplicate in basic editor
7 - Confirm the 001 is removed
8 - Confirm the 001 is added on save

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 27981: DB update
Nick Clemens [Thu, 24 Jun 2021 06:20:23 +0000 (06:20 +0000)]
Bug 27981: DB update

Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30483: DBRev 22.06.00.041
Tomas Cohen Arazi [Mon, 12 Sep 2022 11:39:03 +0000 (08:39 -0300)]
Bug 30483: DBRev 22.06.00.041

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30483: DBIC schema
Tomas Cohen Arazi [Mon, 12 Sep 2022 11:35:37 +0000 (08:35 -0300)]
Bug 30483: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30483: Make issues.borrowernumber and itemnumber NOT NULL
Marcel de Rooy [Thu, 7 Apr 2022 12:51:42 +0000 (12:51 +0000)]
Bug 30483: Make issues.borrowernumber and itemnumber NOT NULL

Note: This change does NOT apply to old_issues, where constraints
may result in nullifying these columns.

Test plan:
Run dbrev.
Try checkout, checkin.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31403: Enable CircSidebar by default on new installs
Isobel Graham [Thu, 1 Sep 2022 08:10:26 +0000 (09:10 +0100)]
Bug 31403: Enable CircSidebar by default on new installs

This patch updates sysprefs.sql to enable the CircSidebar preference by
default on new installs.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 29184: Fix warn about undefined replacecost
Nick Clemens [Wed, 6 Oct 2021 12:48:23 +0000 (12:48 +0000)]
Bug 29184: Fix warn about undefined replacecost

This patch simply sets the cost to 0 if undefined

To test:
1 - Create a new item with no replacement cost set
2 - Check the item out to a patron
3 - Mark the item lost
4 - Note in plack-intranet-error.log:
    [2021/10/06 12:43:26] [WARN] Use of uninitialized value $replacementprice in numeric gt (>) at /kohadevbox/koha/C4/Accounts.pm line 114.
5 - Apply patch
6 - Repeat
7 - No warn

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 30462: (QA follow-up) Tab name change
Tomas Cohen Arazi [Thu, 8 Sep 2022 17:46:32 +0000 (10:46 -0700)]
Bug 30462: (QA follow-up) Tab name change

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