Commit graph

5287 commits

Author SHA1 Message Date
Emmi Takkinen
cbed9618c9
Bug 7021: Reintroduce usercode column
This patch reintroduces usercode column to
statistics table.

To test:
1. Apply patch and update database
2. Confirm there's column usercode in statistics
table

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-22 09:31:27 -03:00
734c8fe70e
Bug 30497: DBRev 22.06.00.050
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-22 08:38:10 -03:00
14b9274135
Bug 30497: Recreate old_reserves_ibfk_4 when it cascades
Test plan:
Drop old_reserves_ibfk_4.
Add back with:
    alter table old_reserves ADD CONSTRAINT `old_reserves_ibfk_4` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE;
Run dbrev. Check that constraint has been replaced by SET NULL.
Run dbrev again. No changes.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT 23-08-22 Replaced DROP CONSTRAINT]

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-22 08:33:58 -03:00
4a27800c62
Bug 30490: DBRev 22.06.00.049
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-22 08:33:09 -03:00
9b018fc6de
Bug 30490: Adjust constraint itemtypes.itemtypes_ibfk_1
Change from CASCADE to restrict.
In harmony with dbrev 20.06.00.022.

Test plan:
Run the dbrev.
Bonus:
update itemtypes set parent_type='VM' where itemtype='CF';
delete from itemtypes where itemtype='VM';
=> ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`koha_myclone`.`itemtypes`, CONSTRAINT `itemtypes_ibfk_1` FOREIGN KEY (`parent_type`) REFERENCES `itemtypes` (`itemtype`))

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-22 08:30:36 -03:00
9be197d567
Bug 30472: DBRev 22.06.00.048
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 16:56:44 -03:00
5252dd2065
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>
2022-09-16 16:54:35 -03:00
244f68b1e0
Bug 30025: DBRev 22.06.00.047
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 16:52:16 -03:00
7eced5a054
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>
2022-09-16 16:48:34 -03:00
d8b15c685c
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>
2022-09-16 16:48:30 -03:00
5db2d54a0f
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>
2022-09-16 16:48:25 -03:00
4b4b8b9d54
Bug 15348: DBRev 22.06.00.046
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 10:59:04 -03:00
04319ef5a0
Bug 15348: (QA follow-up) DB update fixes
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 10:54:54 -03:00
2a1d85fc32
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>
2022-09-16 10:36:53 -03:00
b56a874a16
Bug 29144: DBRev 22.06.00.045
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 10:25:07 -03:00
fe9a0e3108
Bug 29144: (QA follow-up) Make update idempotent
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 10:21:10 -03:00
c3b9e5e841
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>
2022-09-16 09:55:20 -03:00
c4b37e9113
Bug 26247: (follow-up) Fix permissions
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-13 21:03:20 -03:00
1183ae6961
Bug 26247: DBRev 22.06.00.044
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-13 13:33:17 -03:00
4ccb34513a
Bug 20058: DBRev 22.06.00.043
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-12 17:45:52 -03:00
845978d45c
Bug 20058: (QA follow-up) Add exec flag to install file
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-12 17:39:38 -03:00
Stefan Berndtsson
e95e18b21b
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>
2022-09-12 17:39:33 -03:00
118a7e6891
Bug 26247: (QA follow-up) Merge DB Updates
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-12 16:45:08 -03:00
Florian Bontemps
8fae3c2069
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>
2022-09-12 16:45:08 -03:00
e4455a5893
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>
2022-09-12 16:38:54 -03:00
012e5bff1c
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>
2022-09-12 16:38:46 -03:00
b2cce0d9f5
Bug 27981: DBRev 22.06.00.042
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-12 15:21:38 -03:00
Nuño López Ansótegui
62b2fc31bd
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>
2022-09-12 15:17:36 -03:00
df597c1aca
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>
2022-09-12 15:17:30 -03:00
ea3795aa73
Bug 30483: DBRev 22.06.00.041
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-12 08:39:03 -03:00
1f44891fd8
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>
2022-09-12 08:26:30 -03:00
Isobel Graham
7ffd3fd86d
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>
2022-09-08 10:52:31 -07:00
b89b1d6c3d
Bug 30619: DBRev 22.06.00.040
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 17:50:18 -07:00
12524600d5
Bug 30619: (QA follow-up) Add exec flag to bug_30619.pl
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 15:59:43 -07:00
e09654da55
Bug 30619: Add sample email notice
This patch adds a default same email type notice for the point of sale
receipt.

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 15:59:39 -07:00
c47194153b
Bug 31374: DBRev 22.06.00.039
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 13:36:52 -07:00
Katrin Fischer
7823ca473f
Bug 31374: (QA follow-up) Fix typo collumn in database update
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 13:32:55 -07:00
264a6e5979
Bug 31374: (follow-up) change private note to staff_note and reorder columns
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 13:32:51 -07:00
901fdd8891
Bug 31374: Database/Schema update
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 13:32:30 -07:00
Caroline Cyr La Rose
cd13475cf9
Bug 28708: fr-CA localization file
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>
2022-09-07 13:22:42 -07:00
Katrin Fischer
e110534e1c
Bug 31170: (QA follow-up) Fix capitalization in database update
As this has not been released yet, we can also fix the database
update to not introduce the wrong capitalization in the first
place.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-07 12:04:55 -07:00
Isobel Graham
eb96d21dad
Bug 31170: Decapatalized "Overdue Item Fine Description"
I changed "Overdue Item Fine Description" to "Overdue item fine
description" for both the name and title.

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>
2022-09-07 12:04:23 -07:00
6e127ad894
Bug 30335: Fix DBRev permissions
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-31 10:18:23 -03:00
e574aea6bb
Bug 30335: DBRev 22.06.00.038
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-31 08:44:14 -03:00
1bbc53f65f
Bug 30335: (follow-up) Ensure existing users remain permitted
This patch updates the database update to ensure users with the
'remaining_permissions' subpermission of 'updatecharges' continue to be
able to manually invoice and manually credit borrower accounts after the
patch is applied.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-31 08:41:01 -03:00
aea63af24a
Bug 30335: (follow-up) Add permissions for manual accounts options
This patch adds two new sub-permissions, `manual_credit` and
`manual_invoice` to allow/prevent staff the ability to add manual
invoices and credits to a patrons account.

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>
2022-08-31 08:41:01 -03:00
ad080e7e95
Bug 23681: DBRev 22.06.00.037
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:50:41 -03:00
a027202717
Bug 23681: (QA follow-up) debarment_types => restriction_types
The code moved from *debarments* to *restrictions* but the table didn't.
This patch just renames things accordingly.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:07 -03:00
3b1c271f78
Bug 23681: (QA follow-up) Proper handling of default option
This patch removes the 'can_be_added_manually' flag. Only non-system
restriction types can be added manually, so we exclude is_system instead
of having two flags. (And we set the 'Manual' that's added at install
time to default but not system).

We then add proper handling for setting the default manual restriction
type in the management page and set the dropdown list to use that value
by default.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:06 -03:00
a50553ff15
Bug 23681: (QA follow-up) Merge update files
This patch merges the three atomic update files into one and also
adds a check for foreing key existance to make the update idempotent.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:06 -03:00
6d62f77e95
Bug 23681: (QA follow-up) Restore customisablity of description
This patch restores the customisability of description for system restriction
types. Translatability is not affected as you can translate the defaults
via template translation and assuming the end users leave their
descriptions at the default, the translations will be picked.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:05 -03:00
Emmi Takkinen
20349d8737
Bug 23681: Fix QA issues
This patch fixes following QA issues:
- convert intaller files as .yml
- change column name readonly as is_system
- change column name is_system as default_value
- add column can_be_added_manually (testplan for this below)
- move syspref "PatronRestrictionTypes" to "Accounting > Features" tab
- tweak page title
- tweak tests to apply these changes

Also atomicupdate files have been updated. Issues with delete and tests
is fixed with adding additional schema change file.

To test:
1) Add new restriction type and make it manual.
2) Navigate to patron details page.
3) Add new restriction to patron.
=> Only selectable restriction should be the one
you just created.

Also prove t/db_dependent/RestrictionTypes.t.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:05 -03:00
eb28de78fe
Bug 23681: (QA follow-up) Rename columns
Renames ronly to readonly and dflt to is_system.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:04 -03:00
67b03d9374
Bug 23681: (QA follow-up) Fix preferences
Add the missing `.` and switch from `yes/no` to `1/0`.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:41:04 -03:00
Andrew Isherwood
2985aa9883
Bug 23681: Add modify_patron_restrictions permission
This patch adds a new "modify_patron_restrictions" permission

Sponsored-by: Loughborough University
Signed-off-by: Benjamin Veasey <B.T.Veasey@lboro.ac.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:40:59 -03:00
Andrew Isherwood
8c07d4938e
Bug 23681: Add debarment_types table
This patch adds the table debarment_types and changes
borrower_debarments.type to be a foreign key to it

Sponsored-by: Loughborough University
Signed-off-by: Benjamin Veasey <B.T.Veasey@lboro.ac.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:40:59 -03:00
Andrew Isherwood
03fc845fc5
Bug 23681: Add PatronRestrictionTypes syspref
This patch adds the new syspref "PatronRestrictionTypes"

Sponsored-by: Loughborough University
Signed-off-by: Benjamin Veasey <B.T.Veasey@lboro.ac.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-25 08:40:54 -03:00
1611fc4c39
Bug 31017: DBRev 22.06.00.036
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-19 16:26:23 -03:00
532fde9f45
Bug 31017: Update field name to 'type'
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-19 16:15:15 -03:00
f0010cb39d
Bug 31017: DB Updates
Signed-off-by: KIT Library Germany <michaela.sieber@kit.edu>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-19 16:15:06 -03:00
7b645b0208
Bug 28327: (follow-up) Comma as default CSV delimiter
Looks like most of existing code wants comma as default value.

Also impact installer/data/mysql/mandatory/sysprefs.sql.

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-19 15:53:17 -03:00
015dcce2ab
Bug 29673: Allow English sql localization script
Test plan:
You might want to add a simple SQL statement to your English
custom.sql in order to verify the execution.
Run a Koha install (in English).
Check if the data shows your custom sql action.

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>
2022-08-16 10:24:41 -03:00
b3d8941c34
Bug 31302: Fix spelling in sample_notices.yml
Test plan:
1. Apply patch
2. Confirm 'URL(s)', rather than urls(s), is in the line:
You can download the scanned materials via the following URL(s)

Sponsored-by: Catalyst IT, New Zealand

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-16 09:18:17 -03:00
d68831bde5
Bug 28787: DBRev 22.06.00.035
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-09 13:42:21 -03:00
6e099d0bbd
Bug 28787: Send a notice with the TOTP token
Bug 28786 let librarians enable a Two-factor authentication but force them to use
an application to generate the TOTP token.

This new enhancement add the ability to send an email containing the token to the
patron once it's authenticaed

The new notice template has the code '2FA_OTP_TOKEN'

Test plan:
- Setup the two-factor authentication (you need the config entry and the
syspref ON)
- Enable it for your logged in patron
- Logout
- Login and notice the new link "Send the code by email"
- Click on it and confirm that you received an email with the code
- Use the code to be fully logged in

QA question: Is 400 the correct error code to tell the email has not
been sent?

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

Sponsored-by: Rijksmuseum, Netherlands

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-09 13:38:43 -03:00
4b9179b0d5
Bug 29897: DBRev 22.06.00.034
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-09 11:58:06 -03:00
84d4b90948
Bug 29897: Add new pref OPACAuthorIdentifiers
Sponsored-by: Orex Digital

Signed-off-by: Orex Digital <info@orex.es>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-09 10:58:44 -03:00
fe3339528e
Bug 27779: DBRev 22.06.00.033
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-08 13:40:13 -03:00
efc9f9e882
Bug 27779: (QA follow-up) Fix database update
Don't overwrite peoples translations if they've already changed the
description.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-08 13:37:27 -03:00
78532c6f49
Bug 27779: New atomic update syntax
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-08 13:37:26 -03:00
7f33f06d3b
Bug 27779: Update 'REFUND' description in the database
This patch simplified the REFUND description from 'Refund applied
to a patrons fine' to simply 'Refund'.. this allows the description to
be combined with debit type descriptions simply to denote what it was
applied against instead of using the generic 'applied to a patrons fine'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-08 13:37:26 -03:00
45d9dd8c42
Bug 30500: DBRev 22.06.00.032
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-05 11:56:24 -03:00
1ae7b9055a
Bug 30500: Add OPACInTransitHoldPickupLocationChange syspref
Sponsored-by: Montgomery County Public Libraries

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-05 11:54:54 -03:00
e544ff4345
Bug 29632: (QA follow-up) Fix COMMENT discrepancy on upgrade
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-04 09:55:16 -03:00
657a9f2899
Bug 30650: (QA follow-up) Fix TINYINT fields discrepancy on upgrade
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-04 09:47:38 -03:00
e92827b9bd
Bug 30879: DBRev 22.06.00.031
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-02 09:41:54 -03:00
505e12970d
Bug 30879: Add option to syspref and update display
To test:
1 - Update ComponentSortField system preference and verify biblionumber is an option
2 - Repeat test plan from 30327 and confirm sorting with biblionumber works

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>
2022-08-02 09:33:13 -03:00
494a6d7863
Bug 31274: DBRev 22.06.00.030
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-02 09:30:28 -03:00
1c0b7bf01f
Bug 31274: Make sure OPACSuggestionAutoFill is handled as a boolean everywhere
The YAML preference definition defines it as a string ('yes' or 'no' the
possible values). And the opac-suggestions.tt template has one occurence
of the variable being compared to a string.

This patch does:
- fix the template
- fixes opac.pref for 0|1
- adds an atomicupdate that takes care of moving 'yes' and 'no' to their
  respective boolean values.

To test:
1. Change the syspref value to enable/disable
2. Check on the DB that the value is wrong:
   $ koha-mysql kohadev
   > SELECT value FROM systempreferences WHERE variable='OPACSuggestionAutoFill';
=> FAIL: It is either 'yes' or 'no' depending on what you choose.
3. Apply this patch
4. Run:
   $ updatedatabase
5. Repeat 2
=> SUCCESS: Values are now 0 or 1
6. Sign off :-D

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

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-02 09:29:08 -03:00
1c924bbcf4
Bug 30392: DBRev 22.06.00.029
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 14:35:35 -03:00
bc1e0d04fc
Bug 30392: (QA follow-up) Correct COMMENT
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 14:34:08 -03:00
959fe662ed
Bug 30392: DB changes
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 14:33:59 -03:00
35e0340049
Bug 30077: DBRev 22.06.00.028
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 14:13:37 -03:00
53e9309772
Bug 30077: Add system preference IntranetAddMastheadLibraryPulldown
To test:
1. Apply patch, updatedatabase, restart_all
2. Search for the system pref 'IntranetAddMastheadLibraryPulldown'
3. Set it to 'Show'.
4. Go to any page that contains header search box and click on 'Search
   the catalog'.
5. To the left of the search bar you should see a dropdown for branches.
6. This should be defaulted to 'All libraries'.
7. In the dropdown choose any branch and do a search and make sure it is
   correctly limiting to that branch.
8. Try changing to a different branch and doing another search. It
   should correcrly limit to that branch BUT it should also default back
   to 'All libraries' for the next search.
9. Try selecting 'All libraries' from the top of the dropdown and make
   sure it is correctly searching all branches.
10. Turn on the system pref 'IntranetCatalogSearchPulldown' and make
    sure it looks nice with both of those dropdowns and functions when
    you use limiters from both dropdowns.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>

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

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 14:13:09 -03:00
d990595d84
Bug 23919: DBRev 22.06.00.027
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 14:12:30 -03:00
Slava Shishkin
b789571ff5
Bug 23919: Add new system preference SearchWithISSNVariations
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 13:21:45 -03:00
8bba933d48
Bug 30984: DBRev 22.06.00.026
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 09:26:59 -03:00
5266069016
Bug 30984: (QA follow-up) Switch from mediumtext to varchar(255)
My research indeicates that tinytext of less than 40 bytes uses
about the same storage as a varchar(255). Also, using
a TEXT field in a complex query may create a temp table.
varchar fields are also more efficient for sorting on.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 09:21:38 -03:00
18fd0c89cf
Bug 30984: Action logs should log the cronjob script name that generated the given log
When something is changed by a cronjob, and that entity is logged via action logs, we can know what changed, and that it was via a cronjob, but we cannot necessarily know which cronjob made that change. The closest we can come is to find the action logs for the cronjob module which ran before the change which is by no means reliable assuming the CronLog is even enabled.

We should add a new column to action logs to store the name of the script ran for any action logs where the interface is "cron".

Test plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Enable all the Log/Logging sysprefs
4) Run some cronjobs that will generate action logs
5) Note the new action_logs column "script" contains the filename of the
   cronjob that caused the change.

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-01 09:21:38 -03:00
a549829701
Bug 14364: DBRev 22.06.00.025
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 16:06:12 -03:00
51cef8c0ec
Bug 29012: DBRev 22.06.00.024
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 16:04:12 -03:00
Katrin Fischer
4bbde3bde6
Bug 14364: (QA follow-up) Fix capitalization
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 16:00:38 -03:00
ba7153a762
Bug 14364: Fix spelling and tests
Moved the installer to pl file
Adjusted capitalization / reply-to
Fix tests by importing needed fuction and adjusting a wrong call

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 16:00:34 -03:00
482f3f1630
Bug 14364: (follow-up) Cleanup duplicate code and adjust notices and prefs
This patch removes a duplicated stanza left form moving routine
Changes the routines to use inbound_library_address
Improves the display if the system preferences
Updates the update file
Moves smaple notice

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 16:00:26 -03:00
Kyle M Hall
6a770ace34
Bug 14364: Allow automatically canceled expired waiting holds to fill the next hold
Right now, if a library automatically cancels expired waiting holds, a
librarian must still re-checkin an item to trap the next available hold
for that item. It would be better if the next hold was automatically
trapped and the librarians receive an email notification so they can
make any changes to the item if need be ( hold area, hold slip in item,
etc ).

Test Plan:
 1) Apply this patch
 2) Run updatedatabase.pl
 3) Create a record with one item
 4) Place two holds on that record
 5) Check in the item and set it to waiting for the first patron
 6) Set ReservesMaxPickUpDelay to 1
 7) Enable ExpireReservesMaxPickUpDelay
 8) Enable ExpireReservesAutoFill
 9) Set an email address in ExpireReservesAutoFillEmail
10) Modify the holds waitingdate to be in the past
11) Run misc/cronjobs/holds/cancel_expired_holds.pl
12) Note the hold is now waiting for the next patron
12) Note a waiting hold notification email was sent to that patron
13) Note a hold changed notification email was sent to the library

Signed-off-by: Victoria Faafia <vfaafia29@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 16:00:17 -03:00
Kevin Carnes
cf397ac3bc
Bug 29012: Add default values for blank circulation rules that weren't saved to the database
There are 5 fields that are not set if no value is provided when saving/editing a rule in Administration->Circulation and fines rules
- issuelength
- hardduedate
- unseenrenewalsallowed
- rentaldiscount
- decreaseloanholds

This is problematic because it gives the impression these rules are set as blank, but in reality they don't exist and the rule will fal back to the higher level

To test:
1 - Set a rule for
    Patron category: Teacher
    Itemtype: All
    Hard due date: (Today)
    Lona period: 10
2 - Set a rule for
    Patron category: Teacher
    Itemtype: Books
    Hard due date: (leave blank)
    Loan period: 10
3 - Expected behaviour is Book item will checkout to teacher for 10 days, all other types will be due yesterday at 25:59:00
4 - Checkout an non-book item type to teacher
5 - Hard due date applies
6 - Checkout a 'book' item type to teacher
7 - Hard due date applies - FAIL

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 15:44:39 -03:00
5f831bcf52
Bug 22456: DBRev 22.06.00.023
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 15:33:13 -03:00
d3ebbb88be
Bug 22456: Add waiting_hold_cancellation circulation rule
This patch adds handling for the waiting_hold_cancellation circulation
rule. It is set no 'No' by default in the atomic update, if not
previously set.

Handling in the rules editor is added, in its own section.

To test:
1. Apply this patch
2. Run:
   $ updatedatabase
=> SUCCESS: All good
3. Verify that the syspref is set:
   $ koha-mysql kohadev
   > SELECT * FROM circulation_rules WHERE rule_name='waiting_hold_cancellation';
=> SUCCESS: Set to 0
4. Play with the rules editor, changing things back and forth, things
   should work, including library-specific and global/defualt settings.
=> SUCCESS: It works
=> SUCCESS: Texts are idiomatic
5. Sign off :-D

Sponsored-by: Montgomery County Public Libraries

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 15:28:13 -03:00
a2dbdc6fc4
Bug 22456: Add cancellation request table
This patch adds a new table, for storing holds cancellation requests,
and managing them afterwards.

The *hold_id* attribute is not made a FK on the reserves table because
of the old_reserves thing we still do (see bug 25260 for a discussion
about it).

Sponsored-by: Montgomery County Public Libraries

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 15:28:07 -03:00
c02dae9380
Bug 30650: DBRev 22.06.00.022
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-29 15:20:27 -03:00