srvgit
16 months agoBug 32978: Replace node-sass with dart-sass
Owen Leonard [Wed, 15 Feb 2023 17:36:57 +0000 (17:36 +0000)]
Bug 32978: Replace node-sass with dart-sass

'npm install' fails in ktd on aarch64, giving unsupported architecture error for node-sass.

This patch addresses this by replacing node-sass with dart-sass, updating our gulpfile
accordingly. Some corrections have been made to SCSS to fix warnings
raised during the build process.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Works like a charm. Great work oleonard! Tested on Apple M1, e.g. aarch64.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: I removed some useless formatting changes in the gulpfile, and the
yarn.lock changes as well.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: DBRev 22.12.00.005
Tomas Cohen Arazi [Wed, 22 Feb 2023 12:22:12 +0000 (09:22 -0300)]
Bug 31051: DBRev 22.12.00.005

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: (QA follow-up) Fix misplaced syspref
Tomas Cohen Arazi [Thu, 9 Feb 2023 14:34:02 +0000 (11:34 -0300)]
Bug 31051: (QA follow-up) Fix misplaced syspref

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: (QA follow-up) Use a single query and avoid duplicated sums
Tomas Cohen Arazi [Thu, 9 Feb 2023 14:26:56 +0000 (11:26 -0300)]
Bug 31051: (QA follow-up) Use a single query and avoid duplicated sums

This patch makes the `get_savings` method use a single query to
calculate the sum of the replacement prices. This way we save one query
per item and just rely on the DB features.

It has a side effect: we are not summing items twice.

Added tests for the 'itenumber is null' pathological but common use
case (specially in old_issues), as mentioned by Lucas. Handling for this
is added (grep filtering out undefined ones) and also in the return, for
the empty case, with // 0.

To test:
1. Apply this patch
2. Run:
   qa -c 6 --run-tests
=> SUCCESS: All good
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: (follow-up) Tests for get_savings and more
Aleisha Amohia [Mon, 29 Aug 2022 04:30:01 +0000 (16:30 +1200)]
Bug 31051: (follow-up) Tests for get_savings and more

- Added tests in t/db_dependent/Koha/Patron.t
- Added wording to OPACShowSavings syspref about anonymised checkout
history
- Added IDs to the savings messages on the OPAC
- Prevent explosion if a checked out item has been deleted

Sponsored-by: Horowhenua Libraries Trust
Signed-off-by: Hammat Wele <hammat.wele@inlibro.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: (QA follow-up) Simplify savings wording for reading history
Katrin Fischer [Sun, 28 Aug 2022 13:14:08 +0000 (13:14 +0000)]
Bug 31051: (QA follow-up) Simplify savings wording for reading history

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: (follow-up) Simplify savings wording for OPAC
Aleisha Amohia [Mon, 15 Aug 2022 01:38:02 +0000 (13:38 +1200)]
Bug 31051: (follow-up) Simplify savings wording for OPAC

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: Show patron savings on the OPAC
Aleisha Amohia [Tue, 28 Jun 2022 04:58:03 +0000 (16:58 +1200)]
Bug 31051: Show patron savings on the OPAC

This new feature shows a patron how much they have saved by using the
library rather than purchasing items. Savings are calculated based on
item replacement prices. The system preference allows you to choose
where to display the savings - the user page, the summary box on the
OPAC homepage, or the checkout history page.

To test:
1. Update database and restart services
2. Confirm the new OPACShowSavings system preference is found in the
OPAC tab of Administration -> global system preferences. There should be
no options selected.
3. Find a patron with a checkout history, or check out a few items to a
patron.
4. Test with different values of OPACShowSavings and confirm that
savings are shown in the expected places.

Sponsored-by: Horowhenua Libraries Trust
Signed-off-by: Marie-Luce <marie-luce.laflamme@inlibro.com>
Signed-off-by: Axelle <axelle.clarisse@univ-amu.fr>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31051: Add OPACShowSavings system preference
Aleisha Amohia [Mon, 27 Jun 2022 05:11:23 +0000 (17:11 +1200)]
Bug 31051: Add OPACShowSavings system preference

Signed-off-by: Marie-Luce <marie-luce.laflamme@inlibro.com>
Signed-off-by: Axelle <axelle.clarisse@univ-amu.fr>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32994: Remove breaking css/maps/*.map files from Makefile.PL
Mason James [Tue, 21 Feb 2023 02:01:21 +0000 (15:01 +1300)]
Bug 32994: Remove breaking css/maps/*.map files from Makefile.PL

to test:
 - run makefile, note failure

  $ perl Makefile.PL
  $ make
  $ make install
  webpack 5.74.0 compiled with 3 warnings in 20831 ms
  Done in 36.01s.
  make: *** No rule to make target 'koha-tmpl/opac-tmpl/bootstrap/css/maps/opac-rtl.css.map', needed by 'pm_to_blib'.  Stop.

 - apply patch
 - run makefile, note success

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32994: Remove compiled files from src (2)
Mason James [Fri, 17 Feb 2023 12:21:16 +0000 (01:21 +1300)]
Bug 32994: Remove compiled files from src (2)

this patch adds 2 files that stops dpkg-source from including ./node_modules dir into koha-common.deb package

to test...
 - build a package, note failure
 - apply patch
 - build a package, note success

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32338: OPAC - Mobile - Selection toolbar in search result is shifted and not...
Hammat Wele [Wed, 14 Dec 2022 13:08:38 +0000 (13:08 +0000)]
Bug 32338: OPAC - Mobile - Selection toolbar in search result is shifted and not adjusted

To reproduce:
1- Go to the OPAC
2- Inspect the webpage and switch to mobile view
3- Perform a search
4- Check the top of the results table
5- Notice that options are not displayed correctly, there is a blank space between 'Unhighlight' and 'Select All'
6- Apply the patch
7- compile the .scss file 'yarn build --view opac'
8- Clear your navigator caches
9- repeat step 1, 2, 3, 4
10- The options are now displayed correctly

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32941: Sys prefs side menu styling applying where not intended
Pedro Amorim [Fri, 10 Feb 2023 15:03:11 +0000 (15:03 +0000)]
Bug 32941: Sys prefs side menu styling applying where not intended

In bug 32881 I introduced changes to make system preferences sub menu items easier to read. At the time, I couldn't find other instances of ul ul in the templates code, but turns out the ERM module has a <ul> inside a <ul>, and possibly other places.
The original selector was too loose and was applying where not intended, this patch rolls back 32881 changes and puts the changes in a tighter selector.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32460: Add missing columns to table configuration for patron categories
Katrin Fischer [Wed, 28 Dec 2022 21:33:27 +0000 (21:33 +0000)]
Bug 32460: Add missing columns to table configuration for patron categories

The table settings were missing the recently added columns, resulting
in strange behaviour using the column visibility settings:

* patron expiration
* can be guarantee
* exclude from local holds priority

To test:
* Go to administration > patron categories
* Verify some columns are missing from the Columns selection
* Apply patch
* Verify the missing columns are now present and all columns
  can be hidden/unhidden as expected
* Change settings for the table in administration > table settings
* Verify the settings have the desired effect

Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32798: Update parameter passed to Koha::Biblio::Metadata->record
Nick Clemens [Thu, 2 Feb 2023 15:03:39 +0000 (15:03 +0000)]
Bug 32798: Update parameter passed to Koha::Biblio::Metadata->record

To test:
1 - Enable OAI sets, and define a set with mapping 952 y = BK
2 - perl misc/migration_tools/build_oai_sets.pl -v -i -r
3 - The script dies:
    Koha::Biblio::Metadata->record must be called on an instantiated object or like a class method with a record passed in parameter
4 - Apply patch
5 - Repeat
6 - Success!

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: tcohen updated indentation

16 months agoBug 32891: (QA follow-up) Fix perlcritic error
Tomas Cohen Arazi [Tue, 21 Feb 2023 13:02:20 +0000 (10:02 -0300)]
Bug 32891: (QA follow-up) Fix perlcritic error

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32891: Fix slot selection in last hour
Jonathan Druart [Tue, 7 Feb 2023 07:48:29 +0000 (08:48 +0100)]
Bug 32891: Fix slot selection in last hour

If the curbside pickup module is configured with slot not on the hour
(minutes=00), the slots in the last (not complete) hour won't be
selectable.

Test plan:
Create the following configuration:
pickup interval: 10
Opening hours: 08:00 to 11:30
Create a pickup and select 11:10 or 11:20
=> Without this patch the pickup is not created and the UI displays "Wrong slot selected"
=> With this patch you are able to create the pickup

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32653: Fix curbside pickup if configured on more than 1 branch
Jonathan Druart [Tue, 17 Jan 2023 16:25:39 +0000 (17:25 +0100)]
Bug 32653: Fix curbside pickup if configured on more than 1 branch

If curbside pickup is configured on more than 1 branch, the calendar
will not display the correct day.

We are always selecting the days for the last branch.

Test plan:
Configure curbside pickup for
CPL Monday 8:12
FPL Tuesday 12:15

Login at the opac, select CPL, notice Tuesday are available

Apply the patch and confirm all is working correctly now.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32933: Use val() instead of attr("value") when getting field values with jQuery
Owen Leonard [Thu, 9 Feb 2023 16:50:38 +0000 (16:50 +0000)]
Bug 32933: Use val() instead of attr("value") when getting field values with jQuery

This patch replaces instances in Koha's templates where "attr('value')" is
used to get the value of a form field, using "val()" instead. This
ensures that we get the current value of the field, not just the
value of the field when the page first loaded.

To test, apply the patch and test the following pages:

- Tools -> Tags. Use the "Check lists" form in the right-hand sidebar
  to test the approval status of some approved and rejected tags. It
  should correctly respond with the tag's status.
- Cataloging -> Label creator.
  - New -> Printer profile. Each offset and creep field should correctly
    reflect the selected value in the "Units" dropdown. Changing the
    dropdown should make the units change accordingly.
  - New -> Label template. Perform the same tests as above.
- Tools -> Patron card creator.
  - New -> Layout. If necessary, check the "Field 1" checkbox. The
    units should be displayed correctly and change as you change the
    "Units" dropdown.
  - New -> Printer profile,
  - New -> Card template: Perform the same tests as above.
- Lists -> List contents.
  - Check that the "Add to" dropdown menu works for adding selected
    titles to a cart or another list.
- Back record modification. Submit a batch of records for modification
  and go to Administration -> Manage jobs.
  - View the details of the job you just submitted.
  - Confirm that the "Add modified records to the following list"
    dropdown works correctly.
- Cataloging -> Find a bibliographic record -> Edit items.
  - Confirm that clicking a cell in the table of existing items
    triggers the "Edit item/Delete item" menu, and that these links
    work correctly.

Works as described.

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33002: Restore "Archive selected" for archiving multiple suggestions
Katrin Fischer [Sat, 18 Feb 2023 10:04:07 +0000 (10:04 +0000)]
Bug 33002: Restore "Archive selected" for archiving multiple suggestions

It looks like this button, added by bug 30599 was later
accidentally removed again. This is giving it a comeback.

To test:
1 - Apply patch
2 - Create some purchase suggestions
3 - Select several suggestions
4 - Click 'Archive selected'
5 - Suggestions are archived
6 - You can view archived suggestions by selecting 'Suggestion information'->'Include archived'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32898: Avoid hardcoding user/pass in tests
Tomas Cohen Arazi [Mon, 20 Feb 2023 14:07:44 +0000 (11:07 -0300)]
Bug 32898: Avoid hardcoding user/pass in tests

This patch makes the authentication parameters be configurable through
env. Before this, it was hardcoded to koha/koha, which only works if the
ktd defaults haven't been tweaked.

If no env is defined, it fallsback to koha/koha.

In order to pass the ktd configured params, the tests need to be run
like:

$ yarn cypress run --env KOHA_USER=$KOHA_USER,KOHA_PASS=$KOHA_PASS

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32898: Remove unecessary async/await
Jonathan Druart [Tue, 14 Feb 2023 16:16:34 +0000 (17:16 +0100)]
Bug 32898: Remove unecessary async/await

myFetch awaits already

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32898: ERM - Improve fetch
Jonathan Druart [Wed, 8 Feb 2023 10:59:11 +0000 (11:59 +0100)]
Bug 32898: ERM - Improve fetch

... and fix cypress tests

The main problem was that there were no more checkError call for fetchLocalTitleCount
and the error was not displayed on the UI.

This commit is doing several things:
- Refactor fetch.js to call the same fetch method (myFetch) in order to
deal with the error in a single place
- Have a new myFetchTotal JS function to get the X-Total-Count header
from the response and get the benefit of the previous refactoring
- Rename fetchCountLocalPackages with fetchLocalPackagesCount to match fetchLocalTitleCount
- Use fetchLocalPackagesCount on the Package list view
- Use checkError from components using fetch directly. Ideally the could
should be moved to fetch.js and myFetch should be used.
- checkError get a new flag in parameter to ask for the response instead
of the result (ie. the JSON of the response). That's useful when we need
the response status or the headers
- Make checkError throw a proper exception to stop propation. This
modify the error we display on the UI, it's why we have the following
changes in cypress tests:
-            "Something went wrong: Internal Server Error"
+            "Something went wrong: Error: Internal Server Error"
That's not ideal, we should have our own JS exception to avoid that
"Error" (coming from the toString call on the error)

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32898: Fix Cypress tests
Jonathan Druart [Tue, 7 Feb 2023 16:54:21 +0000 (17:54 +0100)]
Bug 32898: Fix Cypress tests

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32019: (follow-up) Fix terminology and styling
Nick Clemens [Mon, 31 Oct 2022 10:42:57 +0000 (10:42 +0000)]
Bug 32019: (follow-up) Fix terminology and styling

This patch adds periods to description on batch mod form and alters
language to follow proper terminology

Styling is fixed to align forms

Blank option is removed, No made default

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32019: Add option to mark items returned via batch modification
Nick Clemens [Thu, 27 Oct 2022 16:13:31 +0000 (16:13 +0000)]
Bug 32019: Add option to mark items returned via batch modification

Ther are options that allow avoiding marking an issue returned when se tot lost.
Libraries do this to tie a lost item to a patron clearly.

Eventually, after the patron has paid, or after some time, the library may wish
to delete the item. When doing so, they do not wish to check the item in and affect any statuses
or fines. This is also true for withdrawn items

It would be helpful to have a way to mark issues returned in bulk, when they have not been marked
returned in the past

To test:
 1 - Apply patches
 2 - Restart all
 3 - Set 'MarkLostItemsAsReturned' system preferences to 'None'
 4 - Check out some items that have replacement fees set
 5 - Mark them lost
 6 - Check out more items, mark them withdrawn
 7 - Set system preference 'BlockReturnOfWithdrawnItems' to block
 8 - Enter item barcodes into batch modification
 9 - Leave 'Mark items returned as blank
10 - Verify nothing was checked in
11 - Repeat but set 'Mark items as returned' to 'No'
12 - Verify nothing was checked in
13 - Repeat, but set 'Mark items as returned' to 'Yes'
14 - Verify items are returned
15 - Verify no fines have been adjusted
16 - Verify withdrawn items are sitll withdrawn
17 - Verify you can now delete the items

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32019: Unit tests
Nick Clemens [Thu, 27 Oct 2022 16:13:05 +0000 (16:13 +0000)]
Bug 32019: Unit tests

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32757: Make 'Save changes' button on housebound details yellow
Katrin Fischer [Thu, 9 Feb 2023 20:50:25 +0000 (21:50 +0100)]
Bug 32757: Make 'Save changes' button on housebound details yellow

This changes the button to btn-primary to make it appear yellow.

To test:
* Enable HouseboundModule
* Search for any patron
* Go to their patron account
* Switch to Housebound tab
* Edit details
* Verify 'Save changes' is not yellow
* Apply patch
* Verify the button has changed

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32307: (follow-up) Fix gallery when Coce is enabled
Jonathan Druart [Fri, 25 Nov 2022 06:04:43 +0000 (07:04 +0100)]
Bug 32307: (follow-up) Fix gallery when Coce is enabled

Yet another fix, this is porting the following change to the intranet:
  commit 1916c644808577beb3170d642f93b456bfcc5c56
  Bug 28180: Fix bug with first image does not exist

To recreate the problem:
Enable Coce
Go to biblionmber=5 detail
=> No image (but one is displayed on the search result)
Add a local cover image
=> Only the local cover image is displayed
Apply this patch
=> Both images are displayed
Remove the local cover image
=> Image from coce is displayed

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>
16 months agoBug 32307: Fix gallery when Coce is enabled
Jonathan Druart [Tue, 22 Nov 2022 06:52:49 +0000 (07:52 +0100)]
Bug 32307: Fix gallery when Coce is enabled

Bug 28179 added the gallery in the staff interface, and bug 28180 in the
OPAC.

OPAC and staff have different code, because the cover image providers
are different.
On bug 28180 we noticed that the OPAC needed additional code to handle
OpenLibrary, Google Jacket and Coce, to differ the creation of the
gallery to prevent Chocolat to be instantiated before the links (img src)
are effectively in the DOM.

To acchieve that we introduced a wait_for_images function, and added a
"done" flag to the 3 "JS modules".

However we haven't ported this code for the staff interface, which is
also using Coce.

Note that there was a bug at the OPAC as well for COCE, the ajax jQuery
function is async, and so 'done' was set even if the call was not
finished.

Test plan:
0. Do not apply this patch
1. Enable LocalCoverImages and IntranetCoce
2. Pick a bibliographic record with an image returned from Coce
3. Add a local cover image
4. Go to the detail page
5. Open the gallery
=> Notice that you can notice a JS error and a loading icon on the
second image. This behaviour is not always broken, it depends on the
speed of the Coce server. If you don't see the problem reload the page.
6. Apply the patch and repeat
=> Notice that the cover slider block is longer to display the icon, but
that the error is gone.
7. Confirm that there is no regression at the OPAC

We could improve the situation here, and we could display the images
in the slider, especially if the first image is a local image. But
that's for another bug...

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>
16 months agoBug 32999: Click handler to show QR code in OPAC lacks preventDefault
Owen Leonard [Fri, 17 Feb 2023 16:07:36 +0000 (16:07 +0000)]
Bug 32999: Click handler to show QR code in OPAC lacks preventDefault

This patch adds "preventDefault()" to the click handler for showing
the bibliographic detail QR code. This prevents the page from scrolling
to the top when the user clicks the link.

To test, apply the patch and make sure the OPACDetailQRCode system
preference is enabled.

Locate a bibliographic record and view the detail page. If necessary,
reduce the size of your browser window so that you have to scroll down
a bit to bring the "Send to device" menu item into view in the sidebar.
Click the link to confirm that it shows the QR code and that the page
doesn't jump to the top.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32816: Fix cataloguing/value_builder/cn_browser.pl
Julian Maurice [Fri, 3 Feb 2023 10:58:51 +0000 (11:58 +0100)]
Bug 32816: Fix cataloguing/value_builder/cn_browser.pl

Use event parameter

This is part of the refactoring happening in bug 30975

Test plan:
1. Verify that the plugin continues to work as before

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32821: Fix cataloguing/value_builder/stocknumber.pl
Julian Maurice [Fri, 3 Feb 2023 10:58:51 +0000 (11:58 +0100)]
Bug 32821: Fix cataloguing/value_builder/stocknumber.pl

Use event parameter

This is part of the refactoring happening in bug 30975

Test plan:
1. Verify that the plugin continues to work as before

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32814: Fix cataloguing/value_builder/callnumber-KU.pl
Julian Maurice [Fri, 3 Feb 2023 10:58:51 +0000 (11:58 +0100)]
Bug 32814: Fix cataloguing/value_builder/callnumber-KU.pl

Use event parameter

This is part of the refactoring happening in bug 30975

Test plan:
1. Verify that the plugin continues to work as before

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31890: Add surname to PrefillGuaranteeField system pref
Lucas Gass [Mon, 19 Dec 2022 20:40:57 +0000 (20:40 +0000)]
Bug 31890: Add surname to PrefillGuaranteeField system pref

To test:
1. Apply patch and restart_all
2. Find the system preference PrefillGuaranteeField
3. Look for the Surname option and add it
4. Go to a patron account and add a gaurantee
5. See that the surname is properly populated for the gaurantor's surname field

Note:
This patch replaces borrower_data.surname with patron.surname. There seems to be a mismatch here so I filed Bug 32458.

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>
16 months agoBug 31209: Add a span with a class for items.enumchron in the checkouts list
Katrin Fischer [Thu, 9 Feb 2023 22:04:17 +0000 (23:04 +0100)]
Bug 31209: Add a span with a class for items.enumchron in the checkouts list

To test:
* Add or edit an item and add some info to the 'Serial Enumeration /
  chronology' field
* Check the item out
* Verify by checking the source code or using the element inspector
  that the title and enumchron have been merged into one string
* Apply patch
* Reload and verify that now the enumchron is wrapped in a span
  with class="item_enumeration" matching the class in the list of
  checkins

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>
16 months agoBug 32979: Skip test if running as root
Kyle M Hall [Fri, 17 Feb 2023 13:46:58 +0000 (13:46 +0000)]
Bug 32979: Skip test if running as root

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32979: Add Test::Exception to Logger.t
Marcel de Rooy [Thu, 26 Jan 2023 15:08:24 +0000 (15:08 +0000)]
Bug 32979: Add Test::Exception to Logger.t

Test plan:
Run t/Logger.t
Note: Run under koha user, not root. Root wont have
the permission failure which is tested.

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>
16 months agoBug 23247: Use EmbedItems in opac-MARCdetail.pl
Tomas Cohen Arazi [Fri, 22 Jul 2022 19:46:51 +0000 (16:46 -0300)]
Bug 23247: Use EmbedItems in opac-MARCdetail.pl

This patch uses the EmbedItems processor to add the items to the MARC
record.

To test:
- Find a known record, go to the OPAC MARC page of it.
- Play with several options in OpacHiddenItems, refreshing it
- Play with OpacHiddenItemsExceptions as well
=> SUCCESS: Things work as expected
- Apply this patch
- Repeate the tests above
=> SUCCESS: Things work as expected!
- Sign off :-D

Seems to work as advertised.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: LMSCloudPaulD <paul.derscheid@lmscloud.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32566: Don't show "ILL request log" when IllLog is disabled
Katrin Fischer [Thu, 9 Feb 2023 21:38:38 +0000 (22:38 +0100)]
Bug 32566: Don't show "ILL request log" when IllLog is disabled

When the IllLog system preference is disabled there will be no
log to view and the log will always appear empty.

To test:
1) Activate the IllModule system preference
2) Install a backend (BLDSS or FreeForm) following the wiki instructions:
   https://wiki.koha-community.org/wiki/ILL_backends
3) Go to the ILL module and add a new request
4) The "ILL request log" entry in the toolbar should be visible
5) Turn off the IllLog system preference
6) Reload the page - the option should remain visible
7) Apply patch
8) Verify the link is now no longer visible after reload
9) Re-activate the IllLog
10) Verify the option now appears

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>
16 months agoUpdate debian/control file: 22.12.00-3 on deb9 (1b6e9c7b)
Mason James [Thu, 2 Feb 2023 16:09:38 +0000 (05:09 +1300)]
Update debian/control file: 22.12.00-3 on deb9 (1b6e9c7b)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
https://bugs.koha-community.org/show_bug.cgi?id=32809
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoUpdate debian/changelog file: 22.12.00-3
Mason James [Thu, 2 Feb 2023 16:09:39 +0000 (05:09 +1300)]
Update debian/changelog file: 22.12.00-3

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
https://bugs.koha-community.org/show_bug.cgi?id=32809
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32770: Restore patron search on all emails, phones, and addresses
Nick Clemens [Wed, 1 Feb 2023 12:26:15 +0000 (12:26 +0000)]
Bug 32770: Restore patron search on all emails, phones, and addresses

Prior to bug 30063 we had "Email", "Phone", and "Address" in the search field list
that allowed a search on all email, phone, or address attributes.

This patron restores these and makes sure the search box and the patron search filters use
the same block to keep them consistent

The fields are now labelled 'All emails', 'All phones', and 'Full address' to make it clear
that they search multiple - including any single field in the DefaultPatronSearchFields will
additionally add that to the dropdowns

To test:
 1 - define 'test@email.pro' as 'Secondary email' for a patron
 2 - Search from 'Search patrons' address bar (visible at top of moremember.pl)
 3 - Nothing is found using 'Standard' or 'Email fields'
 4 - Apply patch
 5 - Refresh page and repeat
 6 - Nothing is found for standard, Patron is found for 'All emails'
 7 - Define a unique value for patron in 'Address 2'
 8 - Confirm 'Full address' search returns the patron
 9 - Test with 'Secondary phone' and 'All phones' as well
10 - Repeat test from 'Patrons' module using the search on the left

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32812: Fix cataloguing/value_builder/barcode_manual.pl
Julian Maurice [Fri, 3 Feb 2023 10:58:51 +0000 (11:58 +0100)]
Bug 32812: Fix cataloguing/value_builder/barcode_manual.pl

Use event parameter instead of id.

This is part of the refactoring happening in bug 30975

Test plan:
1. Verify that the plugin continues to work as before

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>
16 months agoBug 32813: Fix cataloguing/value_builder/barcode.pl
Julian Maurice [Fri, 3 Feb 2023 10:58:50 +0000 (11:58 +0100)]
Bug 32813: Fix cataloguing/value_builder/barcode.pl

Use event parameter instead of id.

This is part of the refactoring happening in bug 30975

Test plan:
1. Verify that the plugin continues to work as before

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>
16 months agoBug 32946: (QA follow-up) Fix "Send cart" form
Katrin Fischer [Wed, 15 Feb 2023 22:00:59 +0000 (22:00 +0000)]
Bug 32946: (QA follow-up) Fix "Send cart" form

The send cart form is almost identical to the list
'Send list' form and requires the exact same fixes
to look good. This patch achieves the same look for
both forms.

To test:
* Fill your cart in the OPAC
* Open the cart to view contents
* Click on "Send"
* The form shoud look nicely aligned
* Compary to form for sending lists, they should look the same

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32946: 'Send list' form in OPAC is misaligned
Owen Leonard [Mon, 13 Feb 2023 16:02:28 +0000 (16:02 +0000)]
Bug 32946: 'Send list' form in OPAC is misaligned

This patch tweaks the OPAC CSS and the send list template so that form
fields are laid out correctly.

To test, apply the patch and rebuild the OPAC CSS.

- Log in to the OPAC and create a list if necessary.
- In the OPAC's view of the list contents, click the "Send list" button.
- In the pop-up window the form layout should look correct.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32975: Error in package.json's definition of css:build vs css:build:prod
Owen Leonard [Wed, 15 Feb 2023 18:19:14 +0000 (18:19 +0000)]
Bug 32975: Error in package.json's definition of css:build vs css:build:prod

The "css:build" command runs "gulp css && gulp css --view opac",
processes that build CSS in a development context.

The "css:build:prod" currently runs "gulp build && gulp css --view
opac", which runs the production-oriented command "gulp build" (for the
staff interface), but runs "gulp css --view opac" which is the same
devel-environment command as above.

It should be "gulp build && gulp build --view opac"

To test, apply the patch and run the two commands and check these two
files to confirm the difference:

koha-tmpl/intranet-tmpl/prog/css/staff-global.css
koha-tmpl/opac-tmpl/bootstra/css/opac.css

"yarn css:build" should create unminimized versions of those files.
"yarn css:build:prod" should create minimized versions.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32922: (follow-up) Fix two additional occurences
Martin Renvoize [Fri, 10 Feb 2023 16:45:35 +0000 (16:45 +0000)]
Bug 32922: (follow-up) Fix two additional occurences

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32922: Remove space in shebang
Magnus Enger [Thu, 9 Feb 2023 07:57:25 +0000 (08:57 +0100)]
Bug 32922: Remove space in shebang

Some of our scripts have a space in the "shebang" (first) line:

  #! /usr/bin/perl

This is not illegal, and it does work, but it is good to be
consistent, so this patch removes the space.

To test:
- Run: grep -rn --include=*.pl '#! /usr/' *
- See the list of files that have a space in the shebang
- Apply the patch
- Run the command again, there should be no output, meaning there
  are no more files with space in the shebang
- Have a look at the patch and check that it only changes the
  shebangs
- Sign off

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31957: (QA follow-up) Add missing filters
Tomas Cohen Arazi [Wed, 15 Feb 2023 12:32:07 +0000 (09:32 -0300)]
Bug 31957: (QA follow-up) Add missing filters

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30993: (QA follow-up) Add missing filter
Tomas Cohen Arazi [Wed, 15 Feb 2023 12:27:50 +0000 (09:27 -0300)]
Bug 30993: (QA follow-up) Add missing filter

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32507: (follow-up) Change parameter name to avoid collisions
Owen Leonard [Thu, 5 Jan 2023 18:44:47 +0000 (18:44 +0000)]
Bug 32507: (follow-up) Change parameter name to avoid collisions

The variable name "active" is very likely to already be set for other
reasons, so changing the parameter name to "bc_active" to avoid
problems.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32507: Use template wrapper to build breadcrumb navigation
Owen Leonard [Tue, 20 Dec 2022 16:20:51 +0000 (16:20 +0000)]
Bug 32507: Use template wrapper to build breadcrumb navigation

This patch lays the groundwork for updating the way we build breadcrumb
navigation on each page, and implements it on the cities administration
page as a proof of concept.

The page creates two blocks, 'breadcrumbs' and 'breadcrumb_item'

'breadcrumbs' builds the outer structure of the menu, currently:

    <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
        <ol class="breadcrumb">

It automatically adds the "Home" link which appears on all pages.

The 'breadcrumb_item' block builds the list item which contains the
individual link.

To test, apply the patch and go to Administration -> Cities & towns. On
each variation of the page, check the breadcrumbs menu:

 - On the initial summary view it should be:
   Home -> Administration -> Cities
 - Click "New city" and the menu should be:
   Home -> Administration -> Cities -> New city
 - When you edit a city:
   Home -> Administration -> Cities -> Modify city
 - When you delete a city:
   Home -> Administration -> Cities -> Confirm deletion of city

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>
16 months agoBug 32908: Load item type icons from the correct path
George Veranis [Wed, 8 Feb 2023 12:21:39 +0000 (13:21 +0100)]
Bug 32908: Load item type icons from the correct path

In the Staff interface, the details page of a bibliographic
record should display the icon associated with the item
type of an item ('Item type' column in the 'Holdings' tab).

This feature broke in v22.11.00 (for Debian package installs):
instead of the item type icon you get the default 'broken
image URL' image of your web browser.

This patch fixes that.

Test plan:

1) (if needed) Configure the following System preferences:
   - item-level_itypes => 'specific item'
   - noItemTypeImages  => 'Show'

2) (if needed) In Koha Administration > Item types, create
   an item type and associate it with an icon

3) (if needed) Create a test bibliographic record, and add
   an item to it that has an item type with an icon

4) Visit the bibliographic record's details page in the
   Staff interface. Notice that in the 'Item type' column of
   the 'Holdings' tab instead of seeing the icon associated
   with the item type of each item you get the default
   'broken image URL' image of your web browser [*].

   [*] In non-Debian package installs, the 'href' property
       of the item type icon's <img> tag should start with
       '/opac-tmpl/bootstrap/itemtypeimg'

5) Apply this patch, and refresh the page with CTRL-F5.
   The item type icon should now be displayed correctly.

   [*] KTD and Koha Sandboxes users: To verify the patch
       has worked, you should right-click on the item type
       icon and click 'Inspect: the 'href' property of the
       <img> tag should now start with:
       '/intranet-tmpl/prog/img/itemtypeimg'

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 22693: ILL "Price paid" column does not appear in column configuration
Jacob O'Mara [Mon, 9 Jan 2023 10:32:23 +0000 (10:32 +0000)]
Bug 22693: ILL "Price paid" column does not appear in column configuration

Test Plan:
 - Navigate to ILL requests page from the main menu after setting up your ILL backend.
 - Observe that Price Paid column does not exist either here nor in the column configuration.
 - Apply patch
 - Observe that Price Paid column now appears in ILL requests table and in the column configuration page.

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>
16 months agoBug 32605: (follow-up) Additional fixes
Owen Leonard [Fri, 3 Feb 2023 18:22:45 +0000 (18:22 +0000)]
Bug 32605: (follow-up) Additional fixes

This patch makes some further changes to form CSS in order to improve
consistency. Some templates have also been modified to improve layout.

- Acquisitions -> New vendor
- Staff interface home ->  Patrons requesting modifications
- Reports -> Saved SQL reports
- Serials -> New subscription
- Tools -> Import patrons

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>
16 months agoBug 32605: Restore some form styling from before the redesign
Owen Leonard [Tue, 10 Jan 2023 15:54:09 +0000 (15:54 +0000)]
Bug 32605: Restore some form styling from before the redesign

This patch pulls styles from pre-22.11 staff-global.scss related to the
styling of fieldset.rows and contents. The old CSS is more verbose but
it has been better proven to hold up in a variety of situations.

The patch makes only one template change, a minor correction to the
basket groups form.

To test, apply the patch and rebuild the staff interface SCSS.

Test as many forms as possible to confirm that everything is still
correct. Forms affected are ones shown in the main body of the page, not
in sidebars.

Some good examples: Editing patrons, subscriptions, patron categories,
notices, item types.

This patch should help outstanding bugs 32513, 32543, and 32591

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>
16 months agoBug 32909: Load item type icons from the correct path
Andreas Roussos [Wed, 8 Feb 2023 14:07:52 +0000 (15:07 +0100)]
Bug 32909: Load item type icons from the correct path

When placing an item-level hold in the Staff interface,
the table at the bottom of the screen (under the "Place
a hold on a specific item" heading) should display the
icon associated with the item type of each item in the
'Item type' column.

This feature broke in v22.05.00 (for Debian package installs):
instead of the item type icon you get the default 'broken
image URL' image of your web browser.

This patch fixes that.

Test plan:

1) (if needed) Configure the following System preferences:
   - item-level_itypes => 'specific item'
   - noItemTypeImages  => 'Show'

2) (if needed) In Koha Administration > Item types, create
   an item type and associate it with an icon

3) (if needed) Create a test bibliographic record, and add
   an item to it that has an item type with an icon

4) Visit the bibliographic record's details page in the
   Staff interface. Select 'Holds' on the left hand side,
   then pick a patron. The "Place a hold on ..." page should
   load. In the 'Item type' column of the table at the bottom
   of the screen notice that instead of seeing the icon
   associated with the item type of each item you get the
   default 'broken image URL' image of your web browser [*]

   [*] In non-Debian package installs, the 'href' property
       of the item type icon's <img> tag should start with
       '/opac-tmpl/bootstrap/itemtypeimg'

5) Apply this patch, restart Plack and refresh the page.
   The item type icon should now be displayed correctly.

   KTD and Koha Sandboxes users: To verify the patch has
   worked, you should right-click on the item type icon and
   click 'Inspect': the 'href' property of the <img> tag
   should now start with: '/intranet-tmpl/prog/img/itemtypeimg'

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30993: Improve translatabilty of UPLOAD av hint
Katrin Fischer [Fri, 6 Jan 2023 23:06:52 +0000 (23:06 +0000)]
Bug 30993: Improve translatabilty of UPLOAD av hint

Improve translatability on the hint for AV UPLOAD
on the upload tool page.

To test:
* Go to tools > uploads
* Verify that the hint below the 'Browse...' displayes nicely
  and the link to the UPLOAD AV works correctly
* Apply patch
* Verify the link still works and the sentence reads correctly.
  NOTE: now only UPLOAD will be linked.

If you are familiar with the process, you can also make sure
the strings now show up on po files as expected:
https://wiki.koha-community.org/wiki/Translating_Koha#Updating_the_po_files_in_your_installation

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>
16 months agoBug 31957: (follow-up) Further improve translations
Katrin Fischer [Mon, 9 Jan 2023 20:00:53 +0000 (20:00 +0000)]
Bug 31957: (follow-up) Further improve translations

With the previous attempt, we ended up with some TT
constructs in the po files. This will hopefully avoid that.

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>
16 months agoBug 31957: Improve translatability of text containing links on libraries admin page
Katrin Fischer [Fri, 6 Jan 2023 22:33:43 +0000 (22:33 +0000)]
Bug 31957: Improve translatability of text containing links on libraries admin page

The libraries administration page has several links to system
preferences that appear within sentences or with other text
around it. To make translations easier, we need to make sure that
those links don't break context.

To test:
* Activate IllModule (so we can see the ILL staff email setting)
* Go to administration > libraries
* Verify that the links for those settings show correctly
  * Reply-to
  * Return-Path
  * Ill staff email
  * MARC organization code
* Apply patch
* Verify links still work and show unchanged

If you are familiar with the process, you can also make sure
the strings now show up on po files as expected:
https://wiki.koha-community.org/wiki/Translating_Koha#Updating_the_po_files_in_your_installation

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

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>
16 months agoBug 30642: (follow-up) Remove use of deleted file
Tomas Cohen Arazi [Tue, 14 Feb 2023 13:27:13 +0000 (10:27 -0300)]
Bug 30642: (follow-up) Remove use of deleted file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30642: Fix dbrev permissions
Tomas Cohen Arazi [Tue, 14 Feb 2023 12:41:47 +0000 (09:41 -0300)]
Bug 30642: Fix dbrev permissions

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30642: DBRev 22.12.00.004
Tomas Cohen Arazi [Fri, 10 Feb 2023 15:47:15 +0000 (12:47 -0300)]
Bug 30642: DBRev 22.12.00.004

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30642: Make renewal_type an enum in spec and add test
Tomas Cohen Arazi [Fri, 10 Feb 2023 12:35:01 +0000 (09:35 -0300)]
Bug 30642: Make renewal_type an enum in spec and add test

This patch makes the renewal_type an enum, to match the change on the
DB. A test is added to account the fact the API is always setting
'Manual' request type.

Bonus: small portion of code gets a tidy, should've been asked by QA.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30642: (QA follow-up) Do not rely on script names in modules, add unit test
Kyle M Hall [Fri, 20 Jan 2023 14:57:21 +0000 (14:57 +0000)]
Bug 30642: (QA follow-up) Do not rely on script names in modules, add unit test

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: Kyle, stop impersonating John Doe
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30642: (follow-up) Change sql and adapt for translations
Matt Blenkinsop [Thu, 8 Dec 2022 14:28:49 +0000 (14:28 +0000)]
Bug 30642: (follow-up) Change sql and adapt for translations

New column has now been changed to an enum in line with comments and the strings have been amended to be picked up for translation. The file koha-tmpl/intranet-tmpl/prog/en/includes/str/checkout_renewals.inc has been removed as the variables can be included within the javascript file.

Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30642: Record renewal type
Matt Blenkinsop [Tue, 6 Dec 2022 16:48:45 +0000 (16:48 +0000)]
Bug 30642: Record renewal type

A requirement has been requested to record whether a renewal was done manually or automatically. A column has been added to the checkout_renewals table in the database to record this and a check is now in place to determine whether the renewal was manual or automatic. The API has also been updated to reflect this new column and return the data when requested. The renewals modal view has also been updated to show what type the renewal was.

Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Use the current yarn.lock to generate node_modules
Jonathan Druart [Wed, 1 Feb 2023 07:47:04 +0000 (08:47 +0100)]
Bug 32609: Use the current yarn.lock to generate node_modules

See comment 34 and https://tree.taiga.io/project/joubu-koha-erm/us/127

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: (follow-up) enhance Makefile.PL
David Cook [Tue, 31 Jan 2023 02:31:37 +0000 (02:31 +0000)]
Bug 32609: (follow-up) enhance Makefile.PL

This patch adds a new target to the Makefile which gets
called as the first step of the "all" target. This means
that CSS and JS files get compiled every time "make" is
called.

(Note: Since the "install" target depends on "all", it will
 be re-run at install time.)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: (follow-up) Add build-resources.PL
Martin Renvoize [Mon, 30 Jan 2023 16:16:07 +0000 (16:16 +0000)]
Bug 32609: (follow-up) Add build-resources.PL

This patch adds a trivial perl wrapper around the yarn build and calls
it from Makefile.PL.

I 'think' this is all we need to get packaging, dev and standard
installs happy with the lack of our compiled files in source.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Add warning to the about page
Jonathan Druart [Wed, 11 Jan 2023 14:42:55 +0000 (15:42 +0100)]
Bug 32609: Add warning to the about page

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Remove CSS and JS compiled files
Jonathan Druart [Wed, 11 Jan 2023 14:20:28 +0000 (15:20 +0100)]
Bug 32609: Remove CSS and JS compiled files

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Remove CSS and JS compiled files
Jonathan Druart [Wed, 11 Jan 2023 14:20:28 +0000 (15:20 +0100)]
Bug 32609: Remove CSS and JS compiled files

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Add compiled css files to gitignore
Jonathan Druart [Wed, 11 Jan 2023 14:00:52 +0000 (15:00 +0100)]
Bug 32609: Add compiled css files to gitignore

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Improve yarn build commands
Jonathan Druart [Wed, 11 Jan 2023 12:46:33 +0000 (13:46 +0100)]
Bug 32609: Improve yarn build commands

We had:
yarn css # Build staff css
yarn css --view opac # Build OPAC css
yarn build # Nothing, was broken
yarn watch # Nothing, was broken
yarn build_js # Build JS/Vue
yarn watch_js # Watch JS/Vue

This patch is suggesting to have something more consistent:
yarn css:build      # Build CSS for OPAC and staff (dev)
yarn css:build:prod # Build CSS for OPAC and staff (prod)
yarn css:watch      # Watch CSS for OPAC and staff (dev)
yarn js:build       # Build JS (dev)
yarn js:build:prod  # Build JS (prod)
yarn js:watch       # Watch JS (dev)
yarn build          # Same as css:build and js:build (dev)
yarn build:prod     # Same as css:build:prod and js:build:prod (prod)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32609: Remove JS vars from gulpfile
Jonathan Druart [Wed, 11 Jan 2023 12:45:56 +0000 (13:45 +0100)]
Bug 32609: Remove JS vars from gulpfile

They are not used.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 28674: DBIC schema
Tomas Cohen Arazi [Fri, 10 Feb 2023 14:01:39 +0000 (11:01 -0300)]
Bug 28674: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32125: Select correct tab on return
Martin Renvoize [Mon, 7 Nov 2022 16:44:29 +0000 (16:44 +0000)]
Bug 32125: Select correct tab on return

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
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>
16 months agoBug 32125: Impliment modal context return on opac-detail.
Martin Renvoize [Thu, 6 Oct 2022 13:41:19 +0000 (14:41 +0100)]
Bug 32125: Impliment modal context return on opac-detail.

This patch utilises the generic return option introduced in the previous
patch to prevent lose of context when clicking to login to add a comment
to a biblio.

Test plan
1/ Test that prior to this patch, upon clicking 'Log in to your account
to post a comment' you are redirected to opac-user.pl and thus loose
your context.
2/ Apply the patch
3/ Confirm that a login using the 'Log in to your account to post a
comment' link now redirect immediatly back the correct record and thus
maintains context.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
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>
16 months agoBug 31699: (follow-up) Protect more against open redirects
David Cook [Thu, 10 Nov 2022 00:00:37 +0000 (00:00 +0000)]
Bug 31699: (follow-up) Protect more against open redirects

This change checks that the OPACBaseURL exists, and uses its scheme
and authority to rewrite the URL passed through the "return"
param.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31699: (follow-up) Protect against unauthorized redirects
Martin Renvoize [Wed, 9 Nov 2022 08:27:44 +0000 (08:27 +0000)]
Bug 31699: (follow-up) Protect against unauthorized redirects

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31699: Add 'return' option to opac modal login
Martin Renvoize [Thu, 6 Oct 2022 13:38:42 +0000 (14:38 +0100)]
Bug 31699: Add 'return' option to opac modal login

This patch adds the option to trigger a redirect back to the current
context after successful login using modal logins triggered from various
places in the OPAC.

To make use of this, simply add 'data-return="true"' to the modal trigger link.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
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>
16 months agoBug 32539: Add tests
Jonathan Druart [Thu, 9 Feb 2023 10:45:02 +0000 (11:45 +0100)]
Bug 32539: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32539: Add exception handling to plugin hooks in template plugin
David Cook [Mon, 16 Jan 2023 04:41:01 +0000 (04:41 +0000)]
Bug 32539: Add exception handling to plugin hooks in template plugin

This change wraps Koha plugin hook calls with exception handling
within the template plugin for Koha plugins.

Test plan:
0) Apply patch
1) Install a plugin that provides "opac_head", "opac_js",
"intranet_head", and "intranet_js" with Perl errors in them
2) Load an OPAC page
3) Note that the OPAC page loads correctly
4) Load a staff interace page
5) Note that the staff interface page loads correctly

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32624: Don't include guarantee or guarantor fines in BV (fines amount) in SIP...
Nick Clemens [Fri, 13 Jan 2023 19:27:04 +0000 (19:27 +0000)]
Bug 32624: Don't include guarantee or guarantor fines in BV (fines amount) in SIP messages

This patch chanegs the code to report only the patron's personal fines, and to report a block
from other fines in the screen message

This is to prevent overpayment on accounts from SIP machines

To test:
1 - prove t/db_dependent/SIP/Patron.t

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>
16 months agoBug 31338: (follow-up) add special class and add also to OPAC
Fridolin Somers [Sat, 1 Oct 2022 04:53:47 +0000 (18:53 -1000)]
Bug 31338: (follow-up) add special class and add also to OPAC

In order to easily hide this new text, this patch adds the class "included-see-from-headings-info".

Also uses <div> instead of <p>.

And adds the same feature to OPAC.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31338: Show in advanced search when IncludeSeeFromInSearches is used
Fridolin Somers [Wed, 10 Aug 2022 20:55:55 +0000 (10:55 -1000)]
Bug 31338: Show in advanced search when IncludeSeeFromInSearches is used

Test plan :
1) Apply patch
2) Set system preference IncludeSeeFromInSearches to "Include"
3) Go to staff interface advanced search
4) Check you see tip text in "Search for"
5) Set system preference IncludeSeeFromInSearches to "Don't include"
6) Go to staff interface advanced search
7) Check you don't see tip text in "Search for"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32769: Standardize structure around action fieldsets in administration
Owen Leonard [Tue, 31 Jan 2023 18:29:01 +0000 (18:29 +0000)]
Bug 32769: Standardize structure around action fieldsets in administration

This patch updates administration templates so that fieldsets with the
"action" class are placed outside the form's main fieldset.

To test, apply the patch and check the following pages to confirm that
the forms look correct:

- Administration
   -> Keyboard shortcuts
   -> Audio alerts
   -> Share content with Mana KB
      - When the ManaToken system preference is empty, the page should
        have two forms with updated fieldsets: the form with the "Use
        Mana KB..." field and a "Configure Mana KB" form.
      - With a ManaToken defined the second form should be one labeled
        "Mana KB token."
   -> Budgets
      - Click on a budget which has existing funds.
      - In the page toolbar click Planning -> Plan by libraries.
      - Check the forms in the sidebar.
   -> System preferences ->  OverDriveAuthName
      - Follow the link to "OverDrive library authnames table" and check
        the form on that page.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29173: (QA follow-up) Match pop-over sizes
Martin Renvoize [Wed, 8 Feb 2023 06:56:20 +0000 (06:56 +0000)]
Bug 29173: (QA follow-up) Match pop-over sizes

As suggested by David Nind, this patch updates the call to z3950 search
on the authority edit page to match the sizing of the one from the
details page.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29173: Fixed pre-filling of the search form from the "Replace record with ZR39...
Thibaud Guillot [Tue, 29 Mar 2022 14:12:48 +0000 (16:12 +0200)]
Bug 29173: Fixed pre-filling of the search form from the "Replace record with ZR39.50/SRU" (Authority page detail)

Now this action has the same pre-filling behaviour as the "Edit" -> "Edit Record" -> "Replace Record via Z39.50/SRU Search" action.
Author Personal - Author Meeting/Conf. - Uniform Title and Subject are filled in if the subfield contains data (like the "Edit->Replace" action).
Unimarc and Marc21 specificities are supported.

Test Plan :

1) You must have a Z39.50/SRU server for authorities
2) Go to an authority detail page (Author - Uniform title - Subject)
3)After go to "Edit"-> "Edit record" -> "Replace record via..." or
choose "Replace Record.." directly
4) See that form is also prefilled with data now

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>
16 months agoBug 32356: Install installer translated files on update
Jonathan Druart [Tue, 29 Nov 2022 09:22:10 +0000 (10:22 +0100)]
Bug 32356: Install installer translated files on update

If the installer files exist for a given language, the translate script
won't update it.
We should get a confirmation from Bernardo (author of bug 24262), but I
don't understand why it could be needed (side-effects?)

Test plan:
Installer several times the same language, drop the DB and run the
installer+onboarding process.
Check files installed by the installer (yaml for notice templates,
biblio frameworks) have inserted the data properly in DB.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32408: Add unit tests to SIP checkout
Matthias Meusburger [Thu, 8 Dec 2022 10:38:10 +0000 (10:38 +0000)]
Bug 32408: Add unit tests to SIP checkout

This patch adds unit tests to show SIP's behavior on checkout according to the
AllFinesNeedOverride, AllowFineOverride and noissuescharge sysprefs, knowingly:

+----------------------+-------------------+---------+---------+
| AllFinesNeedOverride | AllowFineOverride |  Under  |  Over   |
+----------------------+-------------------+---------+---------+
|                    0 |                 0 | allowed | blocked |
|                    0 |                 1 | allowed | blocked |
|                    1 |                 0 | blocked | blocked |
|                    1 |                 1 | blocked | blocked |
+----------------------+-------------------+---------+---------+

(the columns Under and Over are referring to "under noissuescharge" and
"over noissuescharge")

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 28672: (QA follow-up) Method calls cannot be interpolated directly
Kyle Hall [Wed, 1 Feb 2023 11:52:01 +0000 (06:52 -0500)]
Bug 28672: (QA follow-up) Method calls cannot be interpolated directly

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 28672: Pass itemnumber instead of item object
Martin Renvoize [Wed, 7 Jul 2021 11:43:36 +0000 (12:43 +0100)]
Bug 28672: Pass itemnumber instead of item object

The warn call here was passing the full item object which leads to
HASH() in the logs.. this patch updates it to pass the itemnumber which
is more helpful.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29100: (QA follow-up) Rename issue(s) keys to checkout(s)
Kyle Hall [Tue, 15 Nov 2022 11:57:44 +0000 (06:57 -0500)]
Bug 29100: (QA follow-up) Rename issue(s) keys to checkout(s)

Adapted test plan:

1) Apply this patch
2) For DUE and PREDUE notices, set the message body to the following:
   Title: [% checkout.title %]
3) For DUEDGST and PREDUEDGST notices, set the message body to the following:
   Titles:
   [% FOREACH c IN checkouts %]
    * [% c.title %][% END %]
4) Generate PREDUE and DUE notices for patrons including digests
5) Verify those notices contain the checkout titles

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: tcohen renamed @issues => @checkouts as well
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29100: Remove unnecessary loops
Kyle Hall [Thu, 23 Sep 2021 17:40:48 +0000 (13:40 -0400)]
Bug 29100: Remove unnecessary loops

Remove loops that only operate one one result only

Signed-off-by: Felicity Brown <Felicity.Brown@montgomerycountymd.gov>
Signed-off-by: George Veranis <gveranis@dataly.gr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29100: Add checkouts data loop to predue notices script ( advance_notices.pl )
Kyle Hall [Thu, 23 Sep 2021 17:24:42 +0000 (13:24 -0400)]
Bug 29100: Add checkouts data loop to predue notices script ( advance_notices.pl )

Predue / due notices are limited to using itemscontent to display checkouts data. It would be nice to make all the checkouts data available for those notices so that libraries could format that data more nicely if they wish.

1) Apply this patch
2) For DUE and PREDUE notices, set the message body to the following:
Title: [% issue.title %]
3) For DUEDGST and PREDUEDGST notices, set the message body to the following:
Titles:
[% FOREACH i IN issues %]
* [% i.title %]
[% END %]
4) Generate PREDUE and DUE notices for patrons including digests
5) Verify those notices contain the checkout titles

Signed-off-by: Felicity Brown <Felicity.Brown@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32788: Order curbside pickup slots chronologically
Jonathan Druart [Mon, 6 Feb 2023 16:03:32 +0000 (17:03 +0100)]
Bug 32788: Order curbside pickup slots chronologically

We need to order the slots chronologically, not depending on when they
have been added.

Test plan:
Create a slot 13 to 17 the another one 8 to 12
We want to display 8 to 12 before 13 to 17.
Confirm that this patch fixes that on the 3 following views:
Curbside pickups admin
Curbside pickups staff side
Curbside pickups at the OPAC

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>