]> git.koha-community.org Git - koha.git/log
koha.git
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 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>
20 months agoBug 32743: (follow-up) Add markup comments
Owen Leonard [Mon, 30 Jan 2023 12:28:03 +0000 (12:28 +0000)]
Bug 32743: (follow-up) Add markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the page's appearance or
functionality.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32743: Reindent the invoice details page
Owen Leonard [Mon, 30 Jan 2023 11:55:56 +0000 (11:55 +0000)]
Bug 32743: Reindent the invoice details page

This patch reindents the invoice template so that it has consistent
indentation. These changes should have no visible effect on the page.

To test, apply the patch and go to Acquisitions -> Invoices.

- Perform a search which will return invoice results.
- Click on an invoice to view the details.
- Everything should look normal.

Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32603: Suggester category in Suggestions management
Frédéric Demians [Tue, 10 Jan 2023 08:26:51 +0000 (09:26 +0100)]
Bug 32603: Suggester category in Suggestions management

In Suggestions management, in the table displaying all suggestions, add
a column to display suggester category. This way, it is possible for
example for the librarian managing suggestions rather to prioritize
suggestions coming from teachers than those coming from students.

TEST :

1. Apply the patch.
2. Acquisition > Suggestions.
3. There is a new column 'Suggester category'. It can be
   displayed/hidden.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32567: (QA follow-up) Fix some labelling inconsistencies
Katrin Fischer [Sun, 5 Feb 2023 13:05:32 +0000 (14:05 +0100)]
Bug 32567: (QA follow-up) Fix some labelling inconsistencies

This makes sure that the descriptions in the pull-downs always
match for selected/unselected.
This is not only for consistency, but will also ease translations
as simple things like an additional space will create a new
string to translate.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32567: Update unimarc_field_110.pl with some values
Thibaud Guillot [Wed, 4 Jan 2023 14:14:17 +0000 (15:14 +0100)]
Bug 32567: Update unimarc_field_110.pl with some values

'Script of title' values =>
e - b/c/d/e/f/g/h
i - d/e
j - f/g
l - f
n - b/c
o - a
p - a

'Translitteral code' values =>
'g' and 'h'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 31407: Set focus for cursor to Currency when adding a new currency
Katrin Fischer [Sat, 4 Feb 2023 23:58:05 +0000 (23:58 +0000)]
Bug 31407: Set focus for cursor to Currency when adding a new currency

This makes sure that the focus is on the first field of the
form when adding a new currency.

To test:
* Go to administration > currencies
* Add a new currency
* Verify the focus is not on the form
* Apply patch
* Repeat, verify the focus is now on the first input "currency"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32612: (QA follow-up) Add POD and fix typo
Tomas Cohen Arazi [Tue, 7 Feb 2023 18:19:47 +0000 (15:19 -0300)]
Bug 32612: (QA follow-up) Add POD and fix typo

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32698: Use template wrapper for serials pages tabs
Owen Leonard [Fri, 20 Jan 2023 18:47:11 +0000 (18:47 +0000)]
Bug 32698: Use template wrapper for serials pages tabs

This patch updates three serials templates to replace tab markup with
the use of WRAPPERs.

To test requires more data than will be found in the sample data. You
need at least one subscription with issues spanning more than one year.
I suggest creating a new subscription which starts in December, then
receive one issue from December and one in January.

Apply the patch and go to Serials.

- Perform a subscription search.
  - On the search results page there should be two tabs: "Open" and
    "Closed." These tabs should work correctly.
- Open the detail view of one of your subscriptions.
  - You should see at least four tabs: "Information," "Planning,"
    "Issues," and "Summary."
  - In some cases an "Acquisition details" tab will also appear. To test
    this you must go to Acquisitions and add an order to a basket by
    choosing "From a subscription" option.
- Click "Serial collection" in the left-hand sidebar.
  - There should be tabs for each year of subscription issues in your
    collection.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32661: (follow-up) Use more unique variable name to avoid collisions
Owen Leonard [Fri, 20 Jan 2023 16:30:02 +0000 (16:30 +0000)]
Bug 32661: (follow-up) Use more unique variable name to avoid collisions

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32661: Use template wrapper for invoices page tabs
Owen Leonard [Tue, 17 Jan 2023 20:20:30 +0000 (20:20 +0000)]
Bug 32661: Use template wrapper for invoices page tabs

This patch implements the template WRAPPER system (see Bug 32571) for
building tabs on the invoices page.

To test you must have at least one open invoice and one closed invoice.

- Go to Acquisitions -> Invoices.
- You should see two tabs, "Open invoices" and "Closed invoices."
- The tabs should look correct and work correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32660: (follow-up) Use more unique variable name to avoid collisions
Owen Leonard [Fri, 20 Jan 2023 16:22:41 +0000 (16:22 +0000)]
Bug 32660: (follow-up) Use more unique variable name to avoid collisions

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32660: Use template wrapper for basket groups tabs
Owen Leonard [Tue, 17 Jan 2023 19:58:55 +0000 (19:58 +0000)]
Bug 32660: Use template wrapper for basket groups tabs

This patch implements the template WRAPPER system (see Bug 32571) for
building tabs on the basket groups page.

To test you must have at least one active vendor, one or more closed
baskets under that vendor, and at least one basket group containing a
closed basket.

Apply the patch and go to Acquisitions -> Vendor -> Basket groups.

You should see two tabs, "Open" and "Closed." The tabs should look
correct and work correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32662: Use template wrapper for item circulation alerts page
Owen Leonard [Fri, 20 Jan 2023 16:39:32 +0000 (16:39 +0000)]
Bug 32662: Use template wrapper for item circulation alerts page

This patch implements the template WRAPPER system (see Bug 32571)
for building tabs on the item circulation alerts page.

To test, apply the patch and go to Administration -> Item
circulation alerts. There should be two tabs, "Checkout" and
"Check-in" which work correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32649: Use template wrapper for library transfer limits tabs
Owen Leonard [Thu, 5 Jan 2023 13:49:00 +0000 (13:49 +0000)]
Bug 32649: Use template wrapper for library transfer limits tabs

This patch implements the template WRAPPER system (see Bug 32571) for
building tabs on the library transfer limits page.

To test, apply the patch and go to Administration -> Library
transfer limits. It should look the same as before and all tabs should
function correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32571: (follow-up) Use more unique variable name to avoid collisions
Owen Leonard [Fri, 20 Jan 2023 15:47:08 +0000 (15:47 +0000)]
Bug 32571: (follow-up) Use more unique variable name to avoid collisions

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32571: (follow-up) Implement abstracted tabs on About page
Owen Leonard [Thu, 5 Jan 2023 12:59:10 +0000 (12:59 +0000)]
Bug 32571: (follow-up) Implement abstracted tabs on About page

This patch implements the proposed system for building tabs on the About
page.

To test, apply the patch and view the About page. It should look the
same as before and all tabs should function correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32571: Use template wrapper to build tabbed components
Owen Leonard [Thu, 5 Jan 2023 12:54:42 +0000 (12:54 +0000)]
Bug 32571: Use template wrapper to build tabbed components

This patch adds Template::Toolkit WRAPPER blocks to html_helpers.inc so
that templates can build tabbed components while keeping tab structural
markup separate.

Each individual component of a Bootstrap tabbed interface is defined:

- Main tab container
- Tab links container
- Individual tab links
- Tab panel container
- Individual tab panels

Included is a usage example:

  [ WRAPPER tabs id= "tabs container id" ]
      [ WRAPPER tabs_nav ]
        [ WRAPPER tab_item tabname= "tab name 1" ] [ content ] [ END ]
          [ WRAPPER tab_item tabname= "tab name 2" ] [ content ] [ END ]
            ...
        [ END ]
        [ WRAPPER tab_panels ]
          [ WRAPPER tab_panel id="tab name 1"] [ content ] [ END ]
          [ WRAPPER tab_panel id="tab name 2"] [ content ] [ END ]
            ...
      [ END ]
  [ END ]

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32612: (QA follow-up) Add BINMODE method to C4::SIP::Trapper
Kyle Hall [Tue, 7 Feb 2023 11:49:28 +0000 (06:49 -0500)]
Bug 32612: (QA follow-up) Add BINMODE method to C4::SIP::Trapper

The module Log::Log4perl::Appender::Screen is attempting to change
binmode during unit tests for SIPServer and is failing because of
our tie in SIPServer.pm for reasons unknown.

This patch implements the perltie method TIEHANDLE which allows the
binmode to be handled in the C4::SIP::Trapper package.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 32544: Remove flags as option from several patron form related system preferences
Katrin Fischer [Wed, 28 Dec 2022 21:05:14 +0000 (21:05 +0000)]
Bug 32544: Remove flags as option from several patron form related system preferences

Because permissions aren't actually set via the patron edit
screens, these checkboxes have no real purpose or effect.

This removes flags from the selectable fields of the following
system preferences:

* PatronSelfModificationMandatoryField
* PatronSelfRegistrationBorrowerMandatoryField
* BorrowerMandatoryField
* PatronSelfModificationBorrowerUnwantedField
* PatronSelfRegistrationBorrowerUnwantedField

To test:
* Apply patch
* Verify that the checkbox for flags can no longer be set for
these preferences

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
20 months agoBug 26765: Make author span a clickable link on OPAC results list
Owen Leonard [Fri, 27 Jan 2023 18:53:39 +0000 (18:53 +0000)]
Bug 26765: Make author span a clickable link on OPAC results list

This patch follows the markup of the staff interface catalog results
XSLT to make authors in OPAC search results clickable.

The patch also makes some minor CSS changes so that title and author
links are not too crowded together.

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

- Perform a catalog search in the OPAC which will return multiple
  results.
- In the search results, each author in each search result should be a
  separate clickable link.
- The margins around the result title and authors should be
  comfortable.
- Confirm that each link takes you to the correct author search.

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>
20 months agoBug 14911: Add 245 fields to itemsearch title column via biblio-title.inc
Lucas Gass [Thu, 8 Dec 2022 22:19:20 +0000 (22:19 +0000)]
Bug 14911: Add 245 fields to itemsearch title column via biblio-title.inc

To test:
1. Have some records that have these 245 fields:

    -Title 245$a
    -Subtitle 245$b
    -Medium 245$h
    -Part number 245$n
    -Part name 245$p

Note: IN KTD I have to run batchRebuildBiblioTables.pl -c

2. Apply patch and do an item search that will turn up items with the 245 fields lists above
3. Notice that those subfields are now included in the title column.

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>
20 months agoBug 15869: (QA follow-up) Don't pass placeholder framework '_USE_ORIG'
Nick Clemens [Wed, 18 Jan 2023 19:53:54 +0000 (19:53 +0000)]
Bug 15869: (QA follow-up) Don't pass placeholder framework '_USE_ORIG'

This param in the dropdown is meant to signify no change, distinct from
"" when means to set to default. In rebasing this condition was lost, this patch
restores undef of the variable to avoid setting framework to an invalid value

To test:
1 - Stage a record with a match (export and import a record)
2 - Attempt to import and overlay with option 'When replacing records use this framework:' 'Keep original framework'
3 - It fails, logs note 'value too long for field frameworkcode'
4 - Apply this patch
5 - Try again, it succeeds - framework is not changed

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15869: (QA follow-up) Add some padding around the pulldowns
Kyle Hall [Fri, 13 Jan 2023 13:23:27 +0000 (08:23 -0500)]
Bug 15869: (QA follow-up) Add some padding around the pulldowns

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15869: (follow-up) Don't mock undef return value
Nick Clemens [Wed, 2 Nov 2022 19:27:38 +0000 (19:27 +0000)]
Bug 15869: (follow-up) Don't mock undef return value

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
20 months agoBug 15869: Unit test
Nick Clemens [Wed, 21 Sep 2022 21:13:17 +0000 (21:13 +0000)]
Bug 15869: Unit test

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>
20 months agoBug 15869: Change framework on overlay
Nick Clemens [Tue, 13 Sep 2016 15:23:50 +0000 (15:23 +0000)]
Bug 15869: Change framework on overlay

This patch allows for selection of framework to use when overlaying
records - by default it is set to keep the initial framework

To test:
 1 - Create some records using one framework
 2 - Export the records
 3 - Edit the records to add fields not in original framework
 4 - Stage records using a rule that will find matches
 5 - Import
 6 - Note records contain new fields on display, but they are lost on edit
 7 - Apply patch
 8 - Stage records again
 9 - Select a framework that contains the new fields on import
10 - Import records
11 - Note records now use selected framework and are displayed/edited
correctly

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>
20 months agoBug 32786: Display admin header on curbside pickup admin
Jonathan Druart [Mon, 6 Feb 2023 15:39:02 +0000 (16:39 +0100)]
Bug 32786: Display admin header on curbside pickup admin

Most other administration pages (those that don't have specific searches)
are set by default on system preferences search.

Test plan:
Go to admin > Curbside pickup
Confirm that the syspref search is displayed in the header

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>
20 months agoBug 32027: Fix 'librarian interface' to use 'staff interface' in Pages/HTML customiza...
Katrin Fischer [Mon, 6 Feb 2023 21:53:56 +0000 (22:53 +0100)]
Bug 32027: Fix 'librarian interface' to use 'staff interface' in Pages/HTML customizations/News

This changes all occurences of "librarian interface" to the
correct term "staff interface"

To test:
* Create a new Page
* Verify that the pull down for location has "librarian interface"
* Save your page
* Verify that the list of existing pages has "Librarian interface" as
  label for the link
* Verify that when you hover over on those links the titles read
  "librarian interface" as well
* Apply patch
* All those should read correctly now.

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>