Martin Renvoize [Wed, 13 Jul 2022 17:11:34 +0000 (18:11 +0100)]
Bug 28854: (follow-up) Replace unique constraint in return claims
This patch fixes the failing test for the return claims api. We add a
new unique constraint to replace the one we removed earlier in the
patchset. One should not be able to create a duplicate return claim for
the same issue of an item.
Test plan
1) Run the database update
2) Confirm that t/db_dependent/api/v1/return_claims.t now passes
3) Confirm that t/db_dependent/api/v1/items.t continues to pass
4) Bonus points, confirm that bundle checkin still works when items are
missing
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 11 Jul 2022 15:18:25 +0000 (16:18 +0100)]
Bug 28854: (QA follow-up) Fix DB revision for AV's above 10
The authorised_value field is a varchar and so 'MAX' will sort '9' above
'10' and cause issues if you have more than 9 AV values already for LOST
or NOT_LOAN.
This patch adds a 'CAST' to the field so we can use MAX correctly.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 11 Jul 2022 15:08:05 +0000 (16:08 +0100)]
Bug 28854: (QA follow-up) Remove duplicate key test
We now allow duplication of issue_id accross the return claims table (to
allow for the case where a bundle item has been loaned and thus multiple
claims can result from the same checkout.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 1 Jul 2022 11:43:12 +0000 (12:43 +0100)]
Bug 28854: (follow-up) Remove fields from from bundle items
This patch removes the itemtype and collection code fields from the
bundle items table.
We will add the itemtype back in at a later date with a new bug as the
display code needs some careful consideration and we felt that doing
that work inline here would be an unrequired blocker.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Katrin Fischer [Fri, 1 Jul 2022 11:38:26 +0000 (11:38 +0000)]
Bug 28854: (QA follow-up) Add missing TT filters
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 15:36:09 +0000 (16:36 +0100)]
Bug 28854: (follow-up) Add handling for part_numbers/names
This patch adds part number/name handling to the new biblio-format js
include. This will add such details to bundle management tables.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 14:26:04 +0000 (15:26 +0100)]
Bug 28854: (follow-up) Link to 'In bundle' on OPAC
This patch adds the 'In bundle: Link' to the OPAC to mirror what we have
on the staff client.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 14:00:50 +0000 (15:00 +0100)]
Bug 28854: (follow-up) Restore block styling on bundled span
This patch restores a css rule that we lost during rebases that makes
the 'bundled' span that appears for bundled items on their respective
details pages so that the 'In bundle: ' text in the status field of the
table appears beneath the 'Not for loan (Added to bundle)' text.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 13:54:42 +0000 (14:54 +0100)]
Bug 28854: (follow-up) Make 'Manage bundle' button a 'toggle'
This patch adds and removes the 'active' class to the 'Manage bundle'
button such that it correctly reflects whether the manage area is
expanded or not for the bundle item.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 13:47:03 +0000 (14:47 +0100)]
Bug 28854: (follow-up) Add bundle item status to manage button
This patch adds the item counts (Present|Lost) to the 'Manage bundle'
button in the catalogue details page.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 13:31:04 +0000 (14:31 +0100)]
Bug 28854: (follow-up) Restore last seen date formatting
We lost the date formatting somewhere along the line with rebases, this
patch restores the call to $date for last seen date.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 10:54:49 +0000 (11:54 +0100)]
Bug 28854: (follow-up) Link bundle items to thier biblios
This patch splits out the title formatting from the bundle item title
display into it's own new js-biblio-format include file and adds biblio
linking options.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 27 Jun 2022 09:15:16 +0000 (10:15 +0100)]
Bug 28854: (follow-up) Disable bundle editing for checked out
This patch disables the add and remove options under bundle management
when the bundled item in question is checked out.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 24 Jun 2022 15:55:25 +0000 (16:55 +0100)]
Bug 28854: (follow-up) Use barcodedecode in Koha::REST::V1::Items
This removes any leading or trailing whitespace from the external id
passed
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 24 Jun 2022 15:50:53 +0000 (16:50 +0100)]
Bug 28854: (follow-up) Improve error for item not found
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Katrin Fischer [Fri, 24 Jun 2022 13:55:54 +0000 (13:55 +0000)]
Bug 28854: (follow-up) Fix typo in templates and test plan
* aready > already
* 61 > 62
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 20 Jun 2022 10:44:07 +0000 (11:44 +0100)]
Bug 28854: (follow-up) Move preferences to "Item bundles"
Move the preferences into a section under 'Circulation' called 'Item
bundles'
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 20 Jun 2022 10:30:38 +0000 (11:30 +0100)]
Bug 28854: (follow-up) Rename column configuration to barcode
This patch updates the column configuration from 'external_id' to
'barcode'
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 20 Jun 2022 10:14:53 +0000 (11:14 +0100)]
Bug 28854: (follow-up) Translations fixes
This patch wraps and unwraps strings appropriately for trasnlation.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 20 Jun 2022 09:18:08 +0000 (10:18 +0100)]
Bug 28854: Add default AV and Syspref values
This patch adds the new AV and System Preferences to the installer.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Mon, 20 Jun 2022 09:06:37 +0000 (10:06 +0100)]
Bug 28854: Unit tests - chargelostitem
This patch adds unit tests for the changes to chargelositem to ensure
bundle charging works as expected setting the correct issue_id.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 17 Jun 2022 14:01:04 +0000 (15:01 +0100)]
Bug 28854: Unit test for AddReturn addition
This patch adds tests for the AddReturn change that adds an 'InBundle' message
to the return.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 17 Jun 2022 11:24:09 +0000 (12:24 +0100)]
Bug 28854: (follow-up) Use Koha::Item->itemtype introduced with bug 20469
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Katrin Fischer [Fri, 17 Jun 2022 09:28:27 +0000 (09:28 +0000)]
Bug 28854: (QA follow-up) Fix QA tool complaints
* Typo in code comment
* Permissions on atomicupdate
* Missing TT filter in template
* Spelling in template
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Wed, 15 Dec 2021 11:15:42 +0000 (11:15 +0000)]
Bug 28854: Make barcode comparison case insensative
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Tue, 14 Dec 2021 16:47:54 +0000 (16:47 +0000)]
Bug 28854: (follow-up) Only count rows in the body
This patch fixes the count to only include table rows in the body, i.e.
skip the header row.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Tue, 30 Nov 2021 14:34:48 +0000 (14:34 +0000)]
Bug 28854: Add modal after checkin to print missing items list
This patch adds a further modal to the post checkin alert to allow the
user to print a view and print a list of items that went missing at this
checkin to allow for replacements to be picked.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Tue, 30 Nov 2021 09:35:46 +0000 (09:35 +0000)]
Bug 28854: Add 'Remove from bundle' dialogue to details display
This patch adds the counterpart of the 'Add to bundle' modal prompt for
adding items to bundles from the catalogue details display. It allows
for scanning barcodes to remove them from a bundle.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 26 Nov 2021 10:21:08 +0000 (10:21 +0000)]
Bug 28854: Add count of scanned items to verification modal
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 25 Nov 2021 17:54:08 +0000 (17:54 +0000)]
Bug 28854: Highlight when a scanned item is unexpected
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 25 Nov 2021 14:28:03 +0000 (14:28 +0000)]
Bug 28854: Enable claims return view when BundleLostValue is set
This patch adds the alternation of BundleLostValue to enable the return
claims functionality when Bundles are enbled.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 25 Nov 2021 12:10:57 +0000 (12:10 +0000)]
Bug 28854: Improve lost details display for bundle items
This patch adds the return claim details to the bundle item status
display on the catalogue details page.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Wed, 24 Nov 2021 10:16:53 +0000 (10:16 +0000)]
Bug 28854: Add ordering to checkin validation modal
This enhancement adds simple dataTable ordering to the verification
modal table at bundle checkin time.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 19 Nov 2021 15:11:26 +0000 (15:11 +0000)]
Bug 28854: Add option to print content list after verification
We already allowed the user to view and print an updated content list
after a varification showed that items were missing from the bundle.
This patch adds the option to view and print the list even if the
content has been varified to have not changed.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 18 Nov 2021 15:17:03 +0000 (15:17 +0000)]
Bug 28854: Simplified status handling for bundle inventory check
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 23 Sep 2021 12:58:50 +0000 (13:58 +0100)]
Bug 28854: Record and display who lost the item
This patch records the bundle issue from which an item is marked as lost
so that we may use that to infer who lost the item (for later charges
and display).
Test plan
0) Apply all patches up to this point
1) Checkout a bundle to a user
2) Checkin the bundle and do not scan one of the barcodes at
confirmation
* Note that the item not scanned is marked as lost
3) Navigate to the biblio for the lost item and note that it is marked
as lost.
4) Navigate to the biblio for the collection and expand the collection
item that contains the lost item. Note the item is marked as lost and
checkout details are listed.
5) Checkin the lost item
* The item should be marked as found and the return_claims line should
be marked as resolved.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 18 Nov 2021 15:04:38 +0000 (15:04 +0000)]
Bug 28854: Drop unique index on issue_id in return claims
With the introduction of circulating items within a bundle set, we can
now loose multiple items from the bundle from the same issue.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 30 Sep 2021 07:44:22 +0000 (08:44 +0100)]
Bug 28854: Highlight bundle rows to clarify UI
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 23 Sep 2021 10:37:52 +0000 (11:37 +0100)]
Bug 28854: Update circulation functionality for bundles
This patch updates the circulation system to account for bundle
checkins. We add a content verification step to ensure bundle content is
all present at checkin and we use this comparison to mark missing items
as lost.
Test plan
0) Apply patches up to this point
1) Checkin an item that belongs to a bundle
* An alert should be triggered noting that the item belongs to a
bundle
* The option to remove the item from the bundle should be clear
* Click remove should result in the alert dissapearing and the item
having been removed from the bundle.
2) Checkin an item bundle
* A modal confirmation dialog should appear requesting each item
barcode be scanned
* As items are scanned they should be highlighted in yellow in the
bundle content table
* Upon submission;
* The user will be alerted to any unexpected items that were
scanned and told to put them to one side.
* The user will be alerted that any missing items in the validation
will have been marked as lost.
* The bundle item will be marked as checked in.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 23 Sep 2021 09:01:23 +0000 (10:01 +0100)]
Bug 28854: Expose functionality to attach items to bundles
This patch adds methods the the Koha::Item object for managing item
bundling operations and then exposes those methods via the REST API.
We include the new `BundleNotLoanValue` preference for setting not
for loan values when an item is added to a bundle.
Finally, we expose bundle management via the catalogue details page.
Test plan:
0) Apply patches up to this point and run the database update
1) Configuration: `BundleNotLoanValue` should have been set by the
database update and point to a newly added AV value.
2) Creating a new bundle
* Add a new bib record
* Mark the bib record as a 'collection' type by setting leader
position 7 to 'c'
* Add a new item to this bib record
* You should see a new 'Manage bundle' button available in the
'Actions' column of the Holdings table.
* Clicking 'Manage bundle' should expand the table to include a new
row directly beneath this one.
* Use the new 'Add to bundle' button that appears in this row to
trigger a modal that allows entering the barcode of items you wish
to add to the bundle
* Upon closing the modal, the bundle content table should reload and
contain your newly associated items.
* You can subsequently remove an item from a bundle using the new
'Remove' button.
3) Not for loan
* Items that have been added into a bundle should now appear as 'Not
for loan' from their original biblio record and note which bundle
they belong to.
4) Error cases
* Try adding an item that already belongs to a bundle to another
bundle: Note an error is displayed in the modal form.
5) The bundles feature can be disabled by unsetting the
`BundleNotLoanValue` system preference.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 23 Sep 2021 07:28:15 +0000 (08:28 +0100)]
Bug 28854: Database update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Tue, 12 Jul 2022 18:52:21 +0000 (18:52 +0000)]
Bug 31145: Supply defaults for vendors and funds
This is a convenience bug - when koha testing docker creates sample vendors and budgets there are small issues:
1 - The vendor website gets a random string - you can't edit the vendor without removing this
2 - The funds have random values for statistical categories, and you get empty dropdowns when choosing a fund in ordering
To test:
1 - Apply patch
2 - Restart all
3 - Edit 'My vendor'
4 - note webstie is empty and you can save without changing anythign
5 - Add order to basket for my vendor
6 - Confirm that when selecting a fund statistic 1 and statistic 2 remain as text input fields
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Tue, 12 Jul 2022 10:22:36 +0000 (11:22 +0100)]
Bug 31141: Remove 'select_column' from waiting_holds.inc
In the only place we use the waiting_holds include, we were hard coded
to always pass the 'select_column' variable as true.
We can simply and clarify the logic by just removing this superflous
variable.
Test plan
1. Confirm that the waiting holds tables continue to display as expected
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Kyle Hall [Mon, 27 Jun 2022 12:13:39 +0000 (08:13 -0400)]
Bug 31054: Manual importing for EDIFACT invoices fails with a 500 error page
Error in plack log is: Can't locate object method "new" via package
"Koha::Plugin::Com::ByWaterSolutions::MyEdifactPlugin" (perhaps you
forgot to load "Koha::Plugin::Com::ByWaterSolutions::MyEdifactPlugin"?)
at /usr/share/koha/lib/Koha/EDI.pm line 219.
Test Plan:
1) Set EdifactInvoiceImport to "Don't"
2) Configure an EDI vendor to use an EDIFACT plugin
3) Attempt to import an invoice file
4) You will be shown an error page
5) Apply this patch
6) Restart all the things!
7) Attempt to import another invoice file
8) It works!
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 7 Jul 2022 11:39:01 +0000 (12:39 +0100)]
Bug 31116: Add circulation sidebar to article requests
This patch adds the circulation sidebar menu to the article requests
page to make it consistent with other circulation module pages.
Test plan
1) Prior to applying the patch confirm that there is no sidebar on the
article requests management page, regardless of the CircSidebar
perference.
2) Apply the patch
3) Confirm there is still no sidebar when CircSidebar is disabled
4) Confirm there is now a sidebar present when CircSidebar is enabled
5) Confirm the current page is highlighted correctly in the sidebar when
on the article requests page.
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>
Andrew Nugged [Fri, 26 Nov 2021 11:45:37 +0000 (13:45 +0200)]
Bug 31000: Warn removal: param record_type can be undef
Uninitialized value warning on /tools/export.pl when $record_type is undef
Use of uninitialized value $record_type in string eq
at /home/vagrant/kohaclone/tools/export.pl line 43.
This warning in koha-testing-docker appears in:
/var/log/koha/kohadev/intranet-error.log
This patch fixes it by working when $record_type is Undef.
The functionality still remains the same but warning doesn't flood
error log.
To reproduce:
1. Go to export data tool page (/tools/export.pl).
2. Check the error log and find the upper mentioned warning,
check the timestamp to ensure that it was added when you loaded the page.
3. Apply the patch.
4. Load the page again, ensure that the same warning doesn't get added
to the log file again.
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes the Pagination helper put each Link entry on the
response headers on a separate header. In practice, this leads to
shorter headers and will avoid apache default/reasonable limits.
To test:
1. Open the patron search page
2. Open the koha logs:
$ tail -f /var/log/koha/kohadev/*.log
3. On the 'Search for patron' input, use a really long string, like
'superlongstringthatistoolongforapacheyeahsuperlong'
=> SUCCESS: There's no user with an attribute with that content :-D
=> FAIL: You get an error like (28)No space left on device: [client 127.0.0.1:60330] AH10124: header size is over the limit allowed by ResponseFieldSize (8192 bytes). Bad response header: 'Link:...'
4. Apply this patch
5. Restart all:
$ restart_all
6. Repeat 2 and 3
=> SUCCESS: No results
=> SUCCESS: No error in the logs
7. Run:
$ kshell
k$ prove t/Koha/REST/Plugin/Pagination.t \
t/db_dependent/api/v1/*.t
=> SUCCESS: Tests pass!
Note 1: The Link header is expected to be in CSV format, which is
usually the way libraries treat repeated headers anyway.
Note 2: Apache is not rejecting the response, just stripping out the
'bad header'. So this is not a critical issue.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Michal Urban <michalurban177@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Mon, 11 Jul 2022 14:03:44 +0000 (15:03 +0100)]
Bug 31039: (follow-up) Wrap jQuery in $(document).ready()
cashup_modal.js consists only of jQuery code, so the whole thing should
be contained in a $(document).ready() function. This may or may not be
contributing to the behavior this bug is trying to fix.
Please note that this patch contains whitespace changes, so diff
accordingly.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> 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>
Martin Renvoize [Fri, 24 Jun 2022 12:10:46 +0000 (13:10 +0100)]
Bug 31039: Remove duplicate modal printing JS
This patch removes the erroneos duplication of the modal printing js.
Test plan
1) Create some transactions and perform a cashup.
2) Open the cashup summary modal
3) Click 'Print'
4) Cancel the print dialogue
5) Note that the dialogue re-appears
6) Apply the patch
7) Repeat and note the dialogue closes first time now.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> 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>
Nick Clemens [Tue, 8 Mar 2022 12:31:12 +0000 (12:31 +0000)]
Bug 24857: Delete item group when last item is deleted
To test:
1 - Find a record with an item gorup, or add a group
2 - Add an item to this group, ensure it is the only item in the group
3 - Delete the item
4 - Confirm the gorup was also deleted
5 - prove t/db_dependent/Koha/Biblio/ItemGroups.t
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Tue, 8 Mar 2022 12:03:38 +0000 (12:03 +0000)]
Bug 24857: Add ability to set item group when adding a new item
During cataloging a user may wish to add an item to a group when
creating a new item
This patch also copies the group description to the enumchron field
To test:
1 - Browse to details page for a record
2 - Create or ensure the record has item group(s)
3 - Click New->New item
4 - Note the bottom of the page has a form to attach to existing group, or create new
5 - Note when a group is selected the enumchron field is populated
6 - Confirm item is saved to group when saved
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Tue, 8 Mar 2022 12:01:48 +0000 (12:01 +0000)]
Bug 24857: Add item group management to detail.pl
Test Plan:
1) Apply the patches for this bug
2) Run updatedatabase.pl
3) Restart all the things!
4) Enable the new syspref EnableItemGroups
5) Browse to detail.pl for a record with items
6) Note the new Item Groups tab
7) Test creating, editing and deleting groups
8) On the Holdings tab, select one or more items using the checkboxes
8) Note new selection options for setting an item group for items,
and for clearing an item group for items.
9) Test adding and clearing the item group for items
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Julian Maurice [Wed, 27 Oct 2021 10:00:23 +0000 (12:00 +0200)]
Bug 29333: Fix encoding of imported UNIMARC authorities
MARC::Record and MARC::File::* modules sometimes use the position 09 of
the leader to detect encoding. A blank character means 'MARC-8' while an
'a' means 'UTF-8'.
In a UNIMARC authority this position is used to store the authority type
(see https://www.transition-bibliographique.fr/wp-content/uploads/2021/02/AIntroLabel-2004.pdf [FR]).
In this case, 'a' means 'Personal Name'.
The result is that the import will succeed for a Personal Name
authority, but it will fail for all other authority types.
Steps to reproduce:
0. Be sure to have a Koha UNIMARC instance.
1. Download the MARCXML for "Honoré de Balzac"
curl -o balzac.marcxml https://www.idref.fr/02670305X.xml
2. Verify that it's encoded in UTF-8
file balzac.marcxml
(should output "balzac.marcxml: XML 1.0 document, UTF-8 Unicode
text")
3. Go to Tools » Stage MARC for import and import balzac.marcxml with
the following settings:
Record type: Authority
Character encoding: UTF-8
Format: MARCXML
Do not touch the other settings
4. Once imported, go to the staged MARC management tool and find your
batch. Click on the authority title "Balzac Honoré de 1799-1850" to
show the MARC inside a modal window. There should be no encoding
issue.
5. Write down the imported record id (the number in column '#') and go
to the MARC authority editor. Replace all URL parameters by
'breedingid=THE_ID_YOU_WROTE_DOWN'
The URL should look like this:
/cgi-bin/koha/authorities/authorities.pl?breedingid=198
You should see no encoding issues. Do not save the record.
6. Import the batch into the catalog. Verify that the authority record
has no encoding issue.
7. Now download the MARCXML for "Athènes (Grèce)"
curl -o athènes.marcxml https://www.idref.fr/027290530.xml
8. Repeat steps 2 to 6 using athènes.marcxml file. At steps 4 and 5 you
should see encoding issues and that the position 9 of the leader was
rewritten from 'c' to 'a'. Strangely, importing this batch fix the
encoding issue, but we still lose the information in position 09 of
the leader
This patch makes use of the MARCXML representation of the record instead
of the ISO2709 representation, because, unlike
MARC::Record::new_from_usmarc, MARC::Record::new_from_xml allows us to
pass directly the encoding and the format, which prevents data to be
double encoded when position 09 of the leader is different that 'a'
Test plan:
- Follow the "steps to reproduce" above and verify that you have no
encoding issues.
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>
Jonathan Druart [Wed, 13 Oct 2021 12:46:08 +0000 (14:46 +0200)]
Bug 28739: Execute the letter processing inside a transaction
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Kyle M Hall [Fri, 23 Jul 2021 12:07:59 +0000 (08:07 -0400)]
Bug 19966: Add ability to pass objects directly to slips and notices
Koha spends an incredible amount of time on parsing and processing parameters
passed in to slips and notices. It would be immensely more efficient to be able
to pass objects directly to GetPreparedLetter so it doesn't need to do any
fetching / processing on them.
Test plan:
1) Apply this patch
2) prove t/db_dependent/Letters/TemplateToolkit.t
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Wed, 11 May 2022 15:21:48 +0000 (16:21 +0100)]
Bug 29051: Update svc api to allow seen renewals
This patch updates the svc/renew api endpoint to allow seen renewals
when appropriate
Signed-off-by: Caroline <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Wed, 11 May 2022 15:13:23 +0000 (16:13 +0100)]
Bug 29051: Enable seen renewal in the staff client
This patch updates the javascript for the checkouts table to add the
checkbox back in for the case where too_unseen is the error returned by
CanBookBeRenewed, allowing such issues to be renewed.
Signed-off-by: Caroline <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Fri, 8 Jul 2022 13:03:01 +0000 (13:03 +0000)]
Bug 30911: Datatables error on course-details.pl after adding a bib-level course reserve
This patch removes the colspan from biblio-level course reserves rows in
favor of adding a style to the message's container allowing it to
overflow across table cells.
To test, apply the patch and go to course reserves.
1. If necessary, add a new course.
2. View the details of the course and add a reserve using the
biblionumber option to add the reserve at the bibliographic level.
3. Add a notes if you want, then click "Save."
4. Return to the course detail view.
5. In the table of reserves your biblio-level reserve should have a
message starting in the "Barcode" column and overflowing across other
item information columns, "Item information is not available for
record-level course reserve."
6. Try adding multiple item-level and biblio-level reserves to the same
course to confirm that the information displays well in those cases.
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>
Jonathan Druart [Wed, 6 Jul 2022 14:23:25 +0000 (16:23 +0200)]
Bug 29951: Fix EXPORT for C4::ClassS*Routine modules
Can't locate object method "subclasses" via package "C4::ClassSplitRoutine" at /kohadevbox/koha/C4/ClassSplitRoutine.pm line 53
Certainly from bug 17600.
Test plan:
Home -> Administration -> Classification sources -> New splitting rule
And create classification sources and filing rules.
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>
This commit adds a different message when cloning circulation and fine rules if you use the Standard rules for all libraries option.
Test plan :
1. Go to the Circulation and fine rules page in the Admin tab.
2. Check that the 'Select a library' menu is on 'Standard rules for all libraries'.
3. Check that you also have some random rules to clone, or create some.
4. Clone these rules to the library of your choice.
5. Confirm that the message 'Clone circulation and fine rules from "" to (library of your choice)' appears.
6. Now clone rules from a specific library to another one, and repeat steps 3-4.
7. Confirm that this time, the message will displays both libraries properly.
8. Apply patch.
9. Repeat steps 2 to 4 and 6 to 7. Confirm that this time, the message in the first case will be 'Cloning circulation and fine rules to "(library of your choice)"'.
10. Kindly sign off.
Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug: 27996: Updates the Circulation report overdues page to display date in red.
Test:
1. Login to the staff interface
2. First you need to create an overdue item.
a. Find the barcode for an item
b. Goto My checkouts from the drop down by your login
c. Enter the barcode and use checkout settings to select a date in the
past.
2. Go to Tools
3. Go to Circulation
4. Go to Go to Overdues
5. In the table the due date is in black
6. Apply the patch
7. Refresh the page and the due date should be in red.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Please test and confirm terminology is now correct.
Was unable to test without steps to reproduce.
Sponsored-by: Catalyst IT Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 30766: extra space in Cannot cancel receipt string
TEST PLAN:
1. Trigger the Cannot cancel receipt error in invoices OR look at the
amended string to see the additional space has been removed.
Sponsored by Catalyst IT
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan
Login to staff interface
Go to Administration. Search EnableExpiredPasswordReset. Enable this preference. Save.
Find your patron record and go to details.
In the ‘OPAC/Staff interface login’ section, set the Password expiration date to the previous day. Save.
Open the OPAC in a new window.
Login to your account. It will fail. Click Reset your password.
Follow the process to add a new password. Click update password.
See that it says ‘Go to staff interface’
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
1. Login to the staff interface
2. go to tools
3. go to label creator
4. Click New -> Layout
5. Click the 'Choose layout type' dropdown
6. Notice the 'barcode proceeds biblio data' and 'biblio data proceeds
barcode'. These are typos
7. Apply the patch and refresh the page
8 repeat step 5. Confirm 'proceeds' now correctly says 'precedes'
Sponsored by: Catalyst IT
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Nind [Fri, 8 Jul 2022 05:58:07 +0000 (05:58 +0000)]
Bug 30784: (follow-up) Additional rephrasing
Add additional clarifcation, format NOTE: similar to most other
notes in system preferences (bold, start on a new line), and link
to other system preferences mentioned.
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>
1. On the Admin page, navigate to Koha Administration > Global System
Preferences
2. Search for OPACMandatoryHoldDates
3. In the Value field, check that it now says On the "Placing a hold"
form, instead of opac-reserve form.
Sponsored by Catalyst IT
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> 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>
Test plan:
1. Look at koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
2. Note that it says 'Lost reserve'
3. Apply patch
4. Note that it says 'Lost hold'
Note:
I was not able to trigger the behaviour to see the text in question
Sponsored-by: Catalyst IT Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Filip Vujičić [Thu, 7 Jul 2022 22:48:42 +0000 (22:48 +0000)]
Bug 30764: replace "Cancelled reserve" with "Cancelled hold"
Test plan:
1. Inspect `koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt`, notice that on line 136 it says "Cancelled reserve"
2. Apply patch
3. Inspect the same line again and notice it now correctly says "Cancelled hold"
4. ???
5. Profit!
Sponsored-by: Catalyst IT Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Nind [Fri, 8 Jul 2022 06:18:26 +0000 (06:18 +0000)]
Bug 30773: (follow-up) Remove spaces between brackets
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
In the Koha staff interface go to administration.
Go to TalkingTechItivaPhoneNotification. Enable this preference. Save.
Go to Tools > Overdue notice/status triggers
Check that ‘Phone (i-tiva)’ is an option for notice types.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Fri, 24 Jun 2022 10:36:32 +0000 (11:36 +0100)]
Bug 31038: Fix price formating in cashup summary
This patch uses the existing format_price JS include to format prices in
the cashup summary modal
Test plan
1) Create some transactions and a cashup
2) View the cashup summary modal and confirm amounts are not nicely
formatted
3) Apply patch
4) Confirm amounts in cashup summary modals are now nicely formatted
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 29050: Added a punctuation between renewal messages
Test plan:
1. First step is to go to administration > then system preferences
2. Set unseenrenewal to "allow"
3. Go to administatrion > circulation and fines rule
4. Set unseenrenewals count to any number
5. Check out an item to a patron and go to the checkouts tab
6. Renew the item
7. Notice that the renewal messages have no seperation
8. Apply the patch
9. Notice there is now a "&" in the spacing between renewal messages
Sponsored-by: Catalyst IT Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Nind [Fri, 8 Jul 2022 12:25:01 +0000 (12:25 +0000)]
Bug 31122: Terminology - Replace occurences of 'Notices & slips' with 'Notices and slips'
Replace occurences of 'Notices & slips' with 'Notices and slips'
(replacing '&' and '&' with 'and'), as per the terminology
guidelines.
See the terminology list:
https://wiki.koha-community.org/wiki/Terminology
Test plan:
1. Find occurrences of 'Notices & slips':
- git grep 'Notices & slips' -- :^misc/translator/po
- git grep 'Notices & slips'
2. Review places in the staff interface where 'Messages & slips' is
displayed:
- Tools home page
- Tools > Notices & slips: page title and breadcrumb
- Other breadcrumbs:
. Tools > Notices & slips > New notice > [select any module]
. Tools > Notices & slips > [select Edit for any notice]
. Tools > Notices & slips > [select Delete for any notice]
3. Review other occurences:
. The cron job description for misc/cronjobs/holds/holds_reminder.pl:
misc/cronjobs/holds/holds_reminder.pl -man (scroll down to the
description)
. The TalkingTech README file:
vi misc/cronjobs/thirdparty/TalkingTech.README
4. Apply the patch.
5. Re-run the grep queries from step 1 - no occurences are now found.
6. Review places where 'Notices & slips' was found in steps 2 and 3 -
these should all be replaced with 'Notices and slips' and should
read correctly.
7. Sign off!
Alernative: review the diff for the patch and check that occurences of
'&' and '&' are replaced with 'and' and the updated text reads
correctly.
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Florian Bontemps [Wed, 29 Jun 2022 15:18:17 +0000 (15:18 +0000)]
Bug 31067: Fixing missing permission check
This patch just fixes a missing permission on the intranet main page. Currently, the Additional Content modules allows people to edit, modify or create new additional content just by checking if they have any tool permission at all, and not the right one.
To test:
1 - From the staff client, create a news article for the intranet.
2 - Create (or use) an additional staff patron, giving them the necessary permissions to access the intranet, but no tool permission.
3 - Using another browser (or incognito mode), log on the intranet page with your new staff account, you should be able to see the news content, but not edit or delete it. That's the expected behavior.
4 - From your main admin account, give your test account the edit_additional_contents permission.
5 - Your test account should now be able to edit/delete the news content. This is also expected behavior.
6 - Using the main account again, remove this time the edit_additional_contents but add any other subtool permission (edit_calendar is a good one for instance)
7 - Repeat step 5 and confirm that your test account can still edit or delete the news content. This shouldn't happen.
8 - Apply patch
9 - Repeat steps 4-6, and confirm that your test account can now only edit or delete news content if they have the edit_additional_contents permission enabled.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>