]> git.koha-community.org Git - koha.git/log
koha.git
12 months agoBug 33749: Use TrimFields instead of stripWhitespaceChars
Tomas Cohen Arazi [Wed, 7 Jun 2023 20:31:37 +0000 (17:31 -0300)]
Bug 33749: Use TrimFields instead of stripWhitespaceChars

This patch replaces the uses of the static method with the new filter.
It also moves the tests to the relevant place and removes the (now)
unused method.

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>
12 months agoBug 33749: Add TrimFields field class
Tomas Cohen Arazi [Wed, 7 Jun 2023 17:28:34 +0000 (14:28 -0300)]
Bug 33749: Add TrimFields field class

This patch adds a RecordProcessor filter class that takes care of
performing the field cleanup that was originally done in the static
method `Koha::MetadataRecord::stripWhitespaceChars`.

In order to test the results, I adapted the tests to use the filter
instead of the original method.

To test:
1. Run:
   $ ktd --shell
  k$ prove t/Koha_MetadataRecord.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests still pass
4. Sign off :-D

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>
12 months agoBug 31477: Use clipboard icon for inventory
Owen Leonard [Thu, 2 Nov 2023 11:07:06 +0000 (11:07 +0000)]
Bug 31477: Use clipboard icon for inventory

This patch changes the inventory icon on the cataloging home page. The
"chart" icon is switched for one of a clipboard with a checkmark.

To test, apply the patch and go to the cataloging home page in the staff
interface. Check that the icon on the inventory link looks correct.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35230: (bug 30708 follow-up) fix description for catalogue_item
Jonathan Druart [Fri, 3 Nov 2023 13:24:09 +0000 (14:24 +0100)]
Bug 35230: (bug 30708 follow-up) fix description for catalogue_item

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 28805: (follow-up) Fix template logic error
Fabricio Molina [Mon, 30 Oct 2023 20:50:00 +0000 (17:50 -0300)]
Bug 28805: (follow-up) Fix template logic error

This patch fixes a problem in the template logic that made the 'Due
date' legend display when `OnSiteCheckouts` and `SpecifyDueDate` are not
set, as highlighted by QA.

Sponsored-by: Banco Central de la República Argentina
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 28805: (QA follow-up) Pass onsite variable to confirmation screen
Nick Clemens [Mon, 25 Sep 2023 18:48:59 +0000 (18:48 +0000)]
Bug 28805: (QA follow-up) Pass onsite variable to confirmation screen

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 28805: (QA follow-up) Restore removed asset
Nick Clemens [Mon, 25 Sep 2023 18:26:28 +0000 (18:26 +0000)]
Bug 28805: (QA follow-up) Restore removed asset

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 28805: Add on-site checkout checkbox in batch checkout
Fabricio Molina [Mon, 3 Jul 2023 14:55:59 +0000 (14:55 +0000)]
Bug 28805: Add on-site checkout checkbox in batch checkout

Add the 'on-site checkout' checkbox to the 'Batch checkout'. To verify the functionality, follow these steps:

  1) Before the modification is added, enable the 'OnSiteCheckouts' and 'BatchCheckout' system preferences.
  2) In the 'BatchCheckoutsValidCategories' preference, select all categories.
  3) Find a user in the system. For example, Henry Acevedo.
  4) In the 'Check out' section, you can see that the 'Checkout settings' option displays the 'On-site Checkout' checkbox when clicked.
  5) Check the 'On-site checkout' option. This will display the current date with a runtime deadline of 23:59.
  6) Enter a barcode (for example 39999000011418).
  7) Click the 'Check out' button. This will show that the loan was made on-site.
  8) Check the 'Batch checkout' section. This section does not hace the 'On-site checkout' checkbox.

When loading the patch with the addition of the 'on-site checkout' checkbox in 'Batch checkout' starting from step 3), you can already find the checkbox in the 'Batch checkout' section. To use it, you can try the barcodes 39999000006179 and 39999000008494 together. Then continue from step 5).

When viewing the loans, you will see that both items (39999000006179 and 39999000008494) will appear with the label 'On-site checkout'.

If this patch is deactivated, the functionality will remain the same as it was before this change.

Sponsored-by: Banco Central de la República Argentina
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35242: Force memcache restart after koha upgrade
Mason James [Thu, 2 Nov 2023 22:56:51 +0000 (11:56 +1300)]
Bug 35242: Force memcache restart after koha upgrade

to test..

1/ install koha-common
    $ sudo apt install koha-common

2/ start memcached, check PID
    $ sudo service memcached start
    $ sudo systemctl status  memcached | grep PID
        Main PID: 52851 (memcached)

3/ build and install new koha-common package (will trigger a restart)
    $ sudo apt install ./koha-common-git+deadbeef.deb

5/ check that memcache is started, and has new PID (52900)
    $ sudo systemctl status  memcached | grep PID
        Main PID: 52900 (memcached)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35004: Set row.quantity_received to 1 if row.quantity_received is empty and we...
Slava Shishkin [Fri, 6 Oct 2023 16:25:30 +0000 (19:25 +0300)]
Bug 35004: Set row.quantity_received to 1 if row.quantity_received is empty and we're in 'cataloguing' mode

Before the code changes only field value was set to 1,
but "row.quantity_received" still had an undefined value.
After correction row.quantity_received set to 1 if it is empty,
but only when effective_create_items == 'cataloguing',
and after that its value assigned to the form field.

To test:
1. Add a new basket.
2. Create an order line
3. Receive shipment and create an invoice
4. Start receiving your order:
    Verify:
    - Quantity ordered: X
    - Quantity received: 1 (pre-filled, don't touch or change it)
5. Click "Confirm"
6. Observe the Receive error popup: "Order ZZZ: No quantity to receive
   set. No items will be created."
7. Verify that "Order receive" was not happen (received orders remains
   empty)
8. Apply the patch and make sure your order is received correctly after
   step 5.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35196: Remove misc/perlmodule_* scripts
Katrin Fischer [Tue, 31 Oct 2023 10:14:18 +0000 (10:14 +0000)]
Bug 35196: Remove misc/perlmodule_* scripts

These scripts are outdated and no longer needed in
the codebase.

To test:
* Verify both perlmodule_* scripts have been removed from misc/

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35231: Resolve crash on unexisting patron in Auth
Marcel de Rooy [Thu, 2 Nov 2023 13:16:52 +0000 (13:16 +0000)]
Bug 35231: Resolve crash on unexisting patron in Auth

Test plan:
Without this patch:
Logout from OPAC. Crash.
Try to login. Crash.

With this patch:
Enable login in tracking triggers. Clear lastseen.
Flush memcache.
Login. Check lastseen.
Logout.
Login.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
12 months agoBug 34855: (QA follow-up) Terminology: "issue note" to "checkout note"
Katrin Fischer [Wed, 1 Nov 2023 22:37:40 +0000 (22:37 +0000)]
Bug 34855: (QA follow-up) Terminology: "issue note" to "checkout note"

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 34855: Use template wrapper for breadcrumbs: OPAC part 3
Owen Leonard [Wed, 20 Sep 2023 15:11:08 +0000 (15:11 +0000)]
Bug 34855: Use template wrapper for breadcrumbs: OPAC part 3

This patch updates several OPAC templates so that they
use a new WRAPPER for displaying breadcrumbs.

This patch also updates html_helpers.inc to add some logic for handling
the case where the "Home" link is the only breadcrumb (on the OPAC main
page). The change allows for the link to be disabled in this case.

Apply the patch and log in to the OPAC. Test each of the following pages
and their variations. Breadcrumbs should look correct, and each link
should be correct:

- OPAC main page
- Course reserves
  - Course reserves details
- Libraries
  - Follow the link for a specific library
- View the details of a bibliographic record
- Navigate directly to
  /cgi-bin/koha/opac-downloadshelf.pl?shelfnumber=X where X is the id of
  an existing list. (I don't think this page is ever seen unless the
  user has JavaScript disabled).
- Locate a serial record and click the "More details" link under the
  "Subscriptions" tab.
  - Click the "Full history" tab.
- Log into the OPAC as a user with checkouts. Navigate directly to
  /cgi-bin/koha/opac-issue-note.pl?issue_id=X where X is the id
  (issue_id) of one of the user's checkouts. (Another page which is only
  accessed directly if the user has JS disabled).
- From the logged-in user summary page, click "Change password"
  - Submit a password change.
- With "UseRecalls" enabled, locate a bibliographic record you can place
  a recall request for.
  - Place a recall.
- With "OPACLocalCoverImages" enabled, locate a bibliographic record
  which has a local cover image attached.
  - Under the "Images" tab, click the image thumbnail.
- If you have no custom OPAC pages, go to Tools -> Pages in the staff
  interface anc create one.
  - View the page in the OPAC.
- With "OPACReportProblem" enabled, click the "Report a problem" link at
  the bottom of any OPAC page.
  - Submit a report.

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>
12 months agoBug 34406: (QA follow-up) Add another "Identity provier" to "domains"
Katrin Fischer [Wed, 1 Nov 2023 22:21:08 +0000 (22:21 +0000)]
Bug 34406: (QA follow-up) Add another "Identity provier" to "domains"

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 34406: Fix inconsistencies in Identity providers/domains page titles, breadcrumbs...
Owen Leonard [Fri, 6 Oct 2023 12:20:23 +0000 (12:20 +0000)]
Bug 34406: Fix inconsistencies in Identity providers/domains page titles, breadcrumbs, and headers

This patch fixes some inconsistencies in the templates for identity
providers and identity provider domains, making sure the page title,
breadcrumb navigation, and page headers are consistent with each other.

To test, apply the patch and check these views:

- Administration -> Identity providers
  - New identity provider
  - Edit identity provider
  - Confirm deletion of identity provider
  - Manage domains
    - New domain
    - Edit domain
    - Confirm deletion of domain

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>
12 months agoBug 34802: Improve translation of title tags: Tags and comments
Owen Leonard [Fri, 15 Sep 2023 13:46:13 +0000 (13:46 +0000)]
Bug 34802: Improve translation of title tags: Tags and comments

This patch modifies tag and comments management templates so that title
tags can be more easily translated. The patch also makes some
modifications to titles, breadcrumb navigation, and page headers in
order to make them more consistent with each other and with other
similar pages.

To test, apply the patch and go to Tools. Test each of the following
pages and each variation of the page to confirm that titles,
breadcrumbs, and page headers look correct.

- Tags
  - Main page
    - Viewing tags by status: Approved, pending, and rejected (link in
      the right-hand column)
  - List of records by tag
    - This page has been modified so that the menu of tag link in the
      left-hand sidebar is styled consistently with other sidebar menus.
- Comments
  - Approved comments
  - Comments awaiting moderation

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>
12 months agoBug 34769: Improve translation of title tags: Patron lists
Owen Leonard [Tue, 12 Sep 2023 16:20:39 +0000 (16:20 +0000)]
Bug 34769: Improve translation of title tags: Patron lists

This patch updates patron lists templates so that title tags can be more
easily translated. Some templates have been updated for consistency as
well: Harmonizing page title, breaddrumb navigation, and page headers.

To test, apply the patch and confirm that the following pages have the
correct title tags:

- Tools -> Patron lists
  - New patron list
  - View patron list
  - Edit patron list

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>
12 months agoBug 35073: perltidy subscription-batchedit.pl
Pedro Amorim [Tue, 17 Oct 2023 09:24:09 +0000 (09:24 +0000)]
Bug 35073: perltidy subscription-batchedit.pl

git show -w <this_patch_hash>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35073: Default to existing value if there is one
Pedro Amorim [Tue, 17 Oct 2023 09:20:59 +0000 (09:20 +0000)]
Bug 35073: Default to existing value if there is one

For values that dont exist in the batch edit submission, i.e. UI says 'No change', we default to existing value if there is one.

Test plan:
Preparation - Additional fields:
1) Add a new 'additional field', visit:
/cgi-bin/koha/admin/additional-fields.pl
2) Click 'subscription' and '+ New field'. Enter a 'name' and hit 'save'.

Serials:
1) Add a new serial, visit:
/cgi-bin/koha/serials/subscription-add.pl
2) Put a biblionumber in the 'record' field, i.e. '112'. Press 'next' and click 'ok' on the alert box
3) Fill all the required fields and click 'test prediction'
4) Input something in the additional field created previously.
5) Click 'save subscription'. Notice the additional field is as expected.
6) Repeat steps 1-5 to create a second serial.

Batch edit:
1) Visit serials and hit the 'Search' button:
/cgi-bin/koha/serials/serials-home.pl
2) Click the 2 checkboxes for the 2 serials we created previously and click the new link that pops up 'edit selected serials'.
3) Click 'Save' without changing anything.
4) Go back to either of the serials, notice the value for the additional field is unchanged. Visit:
/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=1

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35073: Rename additional_fields to available_additional_fields
Pedro Amorim [Tue, 17 Oct 2023 09:18:29 +0000 (09:18 +0000)]
Bug 35073: Rename additional_fields to available_additional_fields

'additional_fields' is ambiguous and in other places we name this available_additional_fields instead. Do the same here.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 35185: Remove is_html flag from sample notices that are plain text
Katrin Fischer [Sun, 29 Oct 2023 15:20:03 +0000 (15:20 +0000)]
Bug 35185: Remove is_html flag from sample notices that are plain text

Some notices had the is_html flag for new installations, but actually
didn't include any HTML formatting. These should be plain text
to have the line breaks behave as expected.

This updates:
* 2FA_OTP_TOKEN
* OPAC_REG_VERIFY

We cannot do a database update here, as libraries will
have changed and updated these. So this is only for new
installations.

To test:
* Apply patch
* reset_all (create a new sample database)
* Verify that the HTML checkbox is not set for these notices
* Verify they appear as plain text notices, not including HTML tags

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 24480: (follow-up) Adjust tests
Nick Clemens [Fri, 15 Sep 2023 20:06:41 +0000 (20:06 +0000)]
Bug 24480: (follow-up) Adjust tests

With the way the patchset alters to use insert_fields_ordered, we now add fields to the beginning of their number group as opposed to appending before. We just need ot shift the order we expect the fields to end up in to make the tests pass

To test:
1 - Apply all patches except this
2 - prove -v t/SimpleMARC.t t/db_dependent/MarcModificationTemplates.t
3 - It fails
4 - Apply this
5 - prove -v t/SimpleMARC.t t/db_dependent/MarcModificationTemplates.t
6 - It passes

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 24480: (follow-up) Shift new fields into array and add after all are copied
Nick Clemens [Fri, 15 Sep 2023 19:59:57 +0000 (19:59 +0000)]
Bug 24480: (follow-up) Shift new fields into array and add after all are copied

The updated code removed the pushing of fields to an array - this caused a bug.
When multiple fields were copied and replaced and there were more fields added than existed originally we were adding the new field to the end, then removing the first occurence of the original field. If we tried to move 2 650 fields to 651 and the record had no 651 we would:
- Delete the first 651, there were none, so nothing happened
- Take the first 650, add it to the end of the 651 group (there were none, so it became the first 651)
- Delete the first 651, which was the field we just copied
- Take the second 650 and add it to the end of the 651 group (whihc had none, because we deleted it)

I re-add the line, but do as suggesed by Phil and reverse the order (unshift vs push)

To test:
1 - Apply other patches
2 - prove -v t/SimpleMARC.t
3 - It fails
4 - Apply this patch
5 - prove -v t/SimpleMARC.t
6 - It still fails, but more tests pass (there's another patch to follow)

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 24480: Unit test
Arthur Suzuki [Sat, 25 Jan 2020 22:19:52 +0000 (23:19 +0100)]
Bug 24480: Unit test

This updates the SimpleMARC tests and MarcModificationTemplates
tests to expect the new order of fields

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 24480: Fix insert_fields_ordered instead of append_fields in SimpleMARC
Arthur Suzuki [Fri, 17 Jan 2020 09:26:58 +0000 (10:26 +0100)]
Bug 24480: Fix insert_fields_ordered instead of append_fields in SimpleMARC

Test plan :
 - create a marc modification template which add a new field to a record
 - apply that template to some records
 - verify that the new field is always appended at the bottom of the record, even if some fields are higher.
 - apply patch
 - apply template to another set of records
 - verify the added field is now ordered within the already existing fields in the records

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: DBRev 23.06.00.061
Tomas Cohen Arazi [Fri, 3 Nov 2023 14:26:19 +0000 (11:26 -0300)]
Bug 29002: DBRev 23.06.00.061

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: DBIC schema
Tomas Cohen Arazi [Fri, 3 Nov 2023 14:18:50 +0000 (11:18 -0300)]
Bug 29002: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (QA follow-up) Fix stray x-koha-embed
Tomas Cohen Arazi [Fri, 3 Nov 2023 13:55:25 +0000 (10:55 -0300)]
Bug 29002: (QA follow-up) Fix stray x-koha-embed

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (QA follow-up) Correct param retrieval in controllers
Tomas Cohen Arazi [Fri, 3 Nov 2023 13:51:07 +0000 (10:51 -0300)]
Bug 29002: (QA follow-up) Correct param retrieval in controllers

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Tidy
Tomas Cohen Arazi [Fri, 3 Nov 2023 12:52:15 +0000 (09:52 -0300)]
Bug 29002: Tidy

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add 'manage_bookings' permission
Martin Renvoize [Fri, 3 Nov 2023 11:39:27 +0000 (11:39 +0000)]
Bug 29002: Add 'manage_bookings' permission

Somehow this got lost during rebases. Restoring the permission here to
allow libraries to restrict which librarians can add, edit and remove
bookings.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Empty select2 options for patron at modal close
Martin Renvoize [Fri, 27 Oct 2023 14:23:02 +0000 (15:23 +0100)]
Bug 29002: Empty select2 options for patron at modal close

Select2's recommended reset doesn't remove <option> blocks it adds for
ajax responses.. as such it gets confused when you subsequently
re-initialise.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix permission required to access bookings list
Martin Renvoize [Thu, 26 Oct 2023 11:22:12 +0000 (12:22 +0100)]
Bug 29002: Fix permission required to access bookings list

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix database update idempotency
Martin Renvoize [Thu, 19 Oct 2023 10:40:04 +0000 (11:40 +0100)]
Bug 29002: Fix database update idempotency

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Update Makefile
Martin Renvoize [Wed, 18 Oct 2023 14:55:04 +0000 (15:55 +0100)]
Bug 29002: Update Makefile

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Circulation
Martin Renvoize [Fri, 1 Oct 2021 08:03:31 +0000 (09:03 +0100)]
Bug 29002: Circulation

This patch adds handling for circulation of booked materials.

We prevent checkouts of booked items during the booking period where the
booking is for another user.

We update the due date to match the end of booking period when checking
out to the user who the booking is for.

If a checkout would overlap a booking to another user, we ask the user if
they will accept a reduced due date so the booked item is returned in
time to fulfill the booking.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Use buildPatronSearchQuery in patron select
Martin Renvoize [Thu, 19 Oct 2023 15:59:20 +0000 (16:59 +0100)]
Bug 29002: Use buildPatronSearchQuery in patron select

Rebased to use the standardised patron search query builder that has
been introduced more recently.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Prevent booking a checked out item
Martin Renvoize [Tue, 10 Oct 2023 16:09:38 +0000 (17:09 +0100)]
Bug 29002: Prevent booking a checked out item

This patch updates the bookings logic to prevent placing a booking
on an item that is checked out to start prior to it's due date.

Test plan
1) Follow the previous test plans
2) Add a checkout of an item
3) Attempt to place a booking and note that the item is not available to
   be booked until after it's due date.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Ensure bookings stash is up to date
Martin Renvoize [Wed, 11 Oct 2023 16:20:42 +0000 (17:20 +0100)]
Bug 29002: Ensure bookings stash is up to date

This patch adds the edited/added booking to the bookings stash such that
subsequent triggers of the place/edit booking modal will reflect the
change in thier picker.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix patron selection and clarify variable names
Martin Renvoize [Tue, 10 Oct 2023 14:25:20 +0000 (15:25 +0100)]
Bug 29002: Fix patron selection and clarify variable names

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix item select options
Martin Renvoize [Tue, 10 Oct 2023 11:07:49 +0000 (12:07 +0100)]
Bug 29002: Fix item select options

SQUASH INTO RESET BUG?

This patch ensures that when a period is not selected we remove all item
selection limitations from the item select.

Prior to this patch, if you clicked to edit a booking, cancelled, then
clicked to place a new booking.. the modal would prevent selection of
the item which you just edited.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Reset timeline object on cancel
Martin Renvoize [Tue, 3 Oct 2023 14:30:56 +0000 (15:30 +0100)]
Bug 29002: Reset timeline object on cancel

When cancelling out of the modal confirm, we should reset the changed
object in the timeline rather than leaving it with the appearance that
the edit succeeded.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix async bookings load issues
Martin Renvoize [Tue, 3 Oct 2023 07:07:10 +0000 (08:07 +0100)]
Bug 29002: Fix async bookings load issues

This patch updates the modal booking form to only fire the ajax request
upon first modal opening and then moves the data related setup into a
function that can be trigger either upon promise resolution or
immediately if the data already exists at the time the modal is opened.

We also update some instances of datetime processing to use dayjs
endOf('day') function as it appears to work more reliably with timezone
maths that our prior work that used direct mathematical manipulations.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Properly reset item in form
Martin Renvoize [Fri, 29 Sep 2023 13:23:25 +0000 (14:23 +0100)]
Bug 29002: Properly reset item in form

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Focus on edited/added timeline item
Martin Renvoize [Fri, 29 Sep 2023 12:40:52 +0000 (13:40 +0100)]
Bug 29002: Focus on edited/added timeline item

This patch triggers a re-focus of the timeline when a new bookings is
added or an existing booking is edited such that the resulting booking
is scrolled to in the visable timeline.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix patron display for new bookings in timeline
Martin Renvoize [Wed, 23 Aug 2023 10:54:19 +0000 (11:54 +0100)]
Bug 29002: Fix patron display for new bookings in timeline

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Always reset the place/edit form on modal close
Martin Renvoize [Tue, 22 Aug 2023 15:11:29 +0000 (16:11 +0100)]
Bug 29002: Always reset the place/edit form on modal close

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add an edit modal
Martin Renvoize [Fri, 18 Aug 2023 16:43:25 +0000 (17:43 +0100)]
Bug 29002: Add an edit modal

This patch updates the place_booking modal so it may be used as an
edit/confirmation modal at booking edit time.

Test plan
1) Follow the previous test plans
2) Note the new 'Edit' option in the bookings list table
3) Click the 'Edit' button to trigger the edit modal
4) Edit the dates, item or patron and confirm that upon clicking save
   the edit works as expected.
5) Edit a booking via the timeline
6) Note that the edit not triggers the same edit dialogue modal where
   you can make further changes.
7) Save and note the timeline and bookings table reflect the changes.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Assign item at time of booking
Martin Renvoize [Tue, 13 Jun 2023 13:11:17 +0000 (14:11 +0100)]
Bug 29002: Assign item at time of booking

This patch updates the logic to ensure we always assign an item at the
point of booking instead of assuming we can assign the item at fulfilment time.

This makes the logic significantly simpler on the client when trying to
calculate available dates.

Test plan
1) Attempt to create a new booking using the 'Any item' option in the
   modal
2) Note that upon placing your booking you are assigned an item for that
   booking.

NOTE: We add a FIXME to the client code to highlight something to test
when/if someone decides to have another try and moving the item
assigment to just in time as aposed to up front.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add cardnumber to patron display in bookings table
Martin Renvoize [Fri, 18 Aug 2023 10:14:00 +0000 (11:14 +0100)]
Bug 29002: Add cardnumber to patron display in bookings table

Update the table display to include patron cardnumber to match that of
the display in the timeline view above.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Hide search header in bookings table
Martin Renvoize [Fri, 18 Aug 2023 10:12:22 +0000 (11:12 +0100)]
Bug 29002: Hide search header in bookings table

This patch disables the header search on the bookings display table

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Display patron rather than booking id in timeline
Martin Renvoize [Fri, 18 Aug 2023 10:04:01 +0000 (11:04 +0100)]
Bug 29002: Display patron rather than booking id in timeline

This patch improves the display of the bookings timeline to display who
the booking is for rather than a cryptic booking id.

Test plan
1) Follow the previous test plans
2) Navigate to the bookings display tab
3) Note that the timeline now displays each booking with the patron
   title as expected as apposed to "Booking XX"

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Trigger table reload on timeline move
Martin Renvoize [Fri, 18 Aug 2023 09:31:35 +0000 (10:31 +0100)]
Bug 29002: Trigger table reload on timeline move

This patch triggers the bookings table to refresh when a booking it
edited on a page where the table is visable.

Test plan
1) Follow the previous test plans
2) Edit a booking
3) Note that on saving the table is updated to reflect your edit

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Match select2 patron format to patron_autocomplete
Martin Renvoize [Thu, 17 Aug 2023 17:14:18 +0000 (18:14 +0100)]
Bug 29002: Match select2 patron format to patron_autocomplete

This still needs a little work to fully match, but is getting close now.

I'd love to convert the existing autocompletes to select2 styling
instead actually.. maybe convert the select here to patron_autocomplete
and then work on a patch to convert patron_autocomplete to a select2
implimentation.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (follow-up) Use $patron_to_html function
Martin Renvoize [Fri, 14 Jul 2023 15:41:21 +0000 (16:41 +0100)]
Bug 29002: (follow-up) Use $patron_to_html function

This didn't exist when we first wrote this code.. it's a useful addition
now.

Test plan
1) Follow the test plans for previous patches
2) Note the proper display of patron names in the bookings list table

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (follow-up) Rebase fix, remove q_header
Martin Renvoize [Fri, 14 Jul 2023 13:24:38 +0000 (14:24 +0100)]
Bug 29002: (follow-up) Rebase fix, remove q_header

We have removed q_header support in master, so we now need to remove it
in this patchset too.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (follow-up) Add bookings count to side menu
Martin Renvoize [Fri, 19 May 2023 15:48:40 +0000 (16:48 +0100)]
Bug 29002: (follow-up) Add bookings count to side menu

This patch adds booking counts to the bookings option in the side menu
for biblio display pages.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (follow-up) Fix biblio-view-menu on bookings tab
Martin Renvoize [Fri, 19 May 2023 15:39:39 +0000 (16:39 +0100)]
Bug 29002: (follow-up) Fix biblio-view-menu on bookings tab

Another rebase change, we moved from can_ in Auth.pm to Koha.Preference

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: (follow-up) Update for WRAPPER bugs
Martin Renvoize [Thu, 18 May 2023 14:34:58 +0000 (15:34 +0100)]
Bug 29002: (follow-up) Update for WRAPPER bugs

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Enable editing bookings from the timeline
Martin Renvoize [Tue, 16 May 2023 22:09:48 +0000 (23:09 +0100)]
Bug 29002: Enable editing bookings from the timeline

This patch allows for editing bookings using drag and drop on the
timeline view.

Test plan
1) Follow the test plans from the previous patches
2) Navigate to the bookings tab of a biblio where you have created some
   test bookings
3) Note you can click on a booking in the timeline to highlight it.
4) Note you can then drag the booking forward or backwards along the
   timeline to trigger an edit
5) Note you can drag the start or end of a booking to extend a booking
   and trigger an edit

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Schema update
Martin Renvoize [Tue, 9 May 2023 09:54:59 +0000 (10:54 +0100)]
Bug 29002: Schema update

DBIx::Class schema update for new 'bookable' field in the items table
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add bookable state to items
Martin Renvoize [Wed, 10 Nov 2021 11:42:17 +0000 (11:42 +0000)]
Bug 29002: Add bookable state to items

This patch adds a bookable boolean to enable/disable the ability to book
an item ahead of time

Test plan
1) Navigate to the 'Items' tab of a biblio
2) Note the new 'Bookable' option and select at least one item to allow
   bookings to take place
3) Note that without any items selected as 'bookable' one does not have
   the 'Place booking' option or the 'Bookings' tab on the biblio
   details page.
4) Note that when at least one item is bookable, the place booking modal
   now only displays items that are marked as bookable in the item
   selection
5) Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Use vis-timeline in bookings view
Martin Renvoize [Mon, 15 May 2023 15:56:24 +0000 (16:56 +0100)]
Bug 29002: Use vis-timeline in bookings view

This patch uses vis-timeline to display a timeline of bookings on the
booking details display tab.

Test plan
1) Follow the steps from the previous patch test plans
2) Note the new visual timeline view of bookings on the bookings detail
   page.
3) Confirm that clicking the red cross next to a booking triggers the
   cancellation modal
4) Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add vis-timeline
Martin Renvoize [Mon, 15 May 2023 15:55:44 +0000 (16:55 +0100)]
Bug 29002: Add vis-timeline

This is a preparitory patch to add the vis-timeline javascript library.
We will use if to display bookings in a timeline view on the bookings
page.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add modal based booking cancellation
Martin Renvoize [Wed, 8 Dec 2021 14:59:17 +0000 (14:59 +0000)]
Bug 29002: Add modal based booking cancellation

This patch adds a modal based booking cancellation flow to the biblio
bookings display tab page.

Test plan
1) Follow the test plans for the previous patches
2) Note a new column now appears in the bookings table with a 'Cancel'
   action button against each booking
3) Cancel one of the bookings using the new cancel button
4) A modal dialog should appear allowing you to continue with the
   cancelation or cancel
5) Confirm the cancelled booking is removed from the bookings table
6) Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Fix 'Place booking' for cat pages
Martin Renvoize [Thu, 18 May 2023 13:52:58 +0000 (14:52 +0100)]
Bug 29002: Fix 'Place booking' for cat pages

We added the 'Place booking' option to the cat-toolbar, but it require
includes for select2 and calendar which weren't present everywhere..
This patch corrects that.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add bookings view
Martin Renvoize [Mon, 15 May 2023 15:30:26 +0000 (16:30 +0100)]
Bug 29002: Add bookings view

This patch adds a new view to the biblio details page to display any
bookings that may have been made.

Test plan
1) Run through the steps from the previous patch
2) Note the appearance of a new 'Bookings' option in the left menu
3) Click the bookings option to load the new bookings page for the
   biblio
4) See that the booking from the previous patch appears on the page
5) Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add ability to book material from the staff client
Martin Renvoize [Wed, 29 Sep 2021 14:17:38 +0000 (15:17 +0100)]
Bug 29002: Add ability to book material from the staff client

This patch introduces a new modal to the biblio details page to allow
booking of materials.

Test plan
1) Navigate to the details page of a biblio
2) Note the new 'Place booking' button in the toolbar
3) Click the new button and note the new modal dialogue
4) Enter part of a patron name or cardnumber and then select from the
   presented results
5) Optionally pick an item from the select list
6) Select a start date and end date from the calender
7) Submit
8) Attempt to book the same item to another user, note that the dates
   previously selected are now greyed out.
9) Experiment with different items and all items options to confirm the
   available slots in the datepicker update as expected.
10) Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add bookings objects and API classes
Martin Renvoize [Thu, 16 Sep 2021 08:17:30 +0000 (09:17 +0100)]
Bug 29002: Add bookings objects and API classes

This patch adds new Koha::Object based classes for bookings logic and
adds API controllers to expose the new bookings data via the REST API's.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: DBIC Schema Build
Martin Renvoize [Wed, 15 Sep 2021 15:30:15 +0000 (16:30 +0100)]
Bug 29002: DBIC Schema Build

Rebuild of DBIx::Class schema files for the new table and relations
added.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 29002: Add bookings table
Martin Renvoize [Wed, 15 Sep 2021 15:29:43 +0000 (16:29 +0100)]
Bug 29002: Add bookings table

This patch adds a new bookings table to store booking details.

Test plan
* Confirm that kohastructure and the atomicupdate match such that an
  install or upgrade result in the same table being present on the
  system.

Sponsored-by: PTFS-Europe
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (QA follow-up) Fix broken tests in Reserves.t
Tomas Cohen Arazi [Thu, 2 Nov 2023 13:39:24 +0000 (10:39 -0300)]
Bug 8367: (QA follow-up) Fix broken tests in Reserves.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (QA follow-up) Fix broken tests
Tomas Cohen Arazi [Thu, 2 Nov 2023 13:22:03 +0000 (10:22 -0300)]
Bug 8367: (QA follow-up) Fix broken tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 18203: DBRev 23.06.00.060
Tomas Cohen Arazi [Wed, 1 Nov 2023 20:56:34 +0000 (17:56 -0300)]
Bug 18203: DBRev 23.06.00.060

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 18203: DBIC schema
Tomas Cohen Arazi [Wed, 1 Nov 2023 20:52:04 +0000 (17:52 -0300)]
Bug 18203: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 18203: Rename column
Tomas Cohen Arazi [Wed, 1 Nov 2023 20:49:03 +0000 (17:49 -0300)]
Bug 18203: Rename column

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 18203: Add per borrower category restrictions on placing ILL requests
Pedro Amorim [Wed, 12 Jul 2023 09:19:15 +0000 (09:19 +0000)]
Bug 18203: Add per borrower category restrictions on placing ILL requests

    Test Plan:
    - Enable ILLModule sys pref and install any backend, or run
    bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
    - Verify you can place new ILL requests in OPAC and Intranet
    - Apply patch
    - In borrower categories, verify there's a new column for 'can place ILL in opac' and is set to 'yes' by default
    - Edit your borrower's patron category and set 'can place ILL in opac' to 'No'
    - Verify you can no longer place new ILL requests in OPAC
    - Verify you also cannot place new ILL requests through URL:
    :8080/cgi-bin/koha/opac-illrequests.pl?method=create&backend=FreeForm

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 18203: DB specific and atomicupdate
Pedro Amorim [Wed, 12 Jul 2023 09:15:03 +0000 (09:15 +0000)]
Bug 18203: DB specific and atomicupdate

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: DBRev 23.06.00.059
Tomas Cohen Arazi [Wed, 1 Nov 2023 20:39:12 +0000 (17:39 -0300)]
Bug 8367: DBRev 23.06.00.059

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (follow-up) Fix for circ rules editor
Aleisha Amohia [Wed, 18 Oct 2023 01:38:54 +0000 (01:38 +0000)]
Bug 8367: (follow-up) Fix for circ rules editor

Make sure holds pickup period field is empty when editing a 'default' rule.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (QA follow-up) Fix QA script
Katrin Fischer [Mon, 9 Oct 2023 21:51:08 +0000 (21:51 +0000)]
Bug 8367: (QA follow-up) Fix QA script

* Add +x to atomic database update file
* Perltidy
* Add spans to rewritten tab label for translatability

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: Add holds_pickup_period fallback circulation rule
Aleisha Amohia [Sun, 30 Apr 2023 22:20:23 +0000 (22:20 +0000)]
Bug 8367: Add holds_pickup_period fallback circulation rule

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (QA follow-up) Improve display when value not set for rule
Nick Clemens [Mon, 6 Mar 2023 20:03:14 +0000 (20:03 +0000)]
Bug 8367: (QA follow-up) Improve display when value not set for rule

When a rule is not set for a speficic line, the value in the syspref
will be used. This should be made clear in the interface.

To test:
1 - Add a new rule for a specific item type
2 - Do not fill the 'Hold pickup period'
3 - Confirm that the rule defaults to the system preference
4 - Hover on 'Default' in the circ rules under 'Hold pickup period'
5 - Confirm the text is readable

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (QA follow-up) Update message on Hold waiting pickup report
Nick Clemens [Mon, 6 Mar 2023 15:50:13 +0000 (15:50 +0000)]
Bug 8367: (QA follow-up) Update message on Hold waiting pickup report

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
https://bugs.koha-community.org/show_bug.cgi?id=8367
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (follow-up) possible to delete circ rule
Aleisha Amohia [Fri, 13 Jan 2023 01:39:50 +0000 (14:39 +1300)]
Bug 8367: (follow-up) possible to delete circ rule

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (follow-up) Remove unnecessary code and atomic update
Aleisha Amohia [Tue, 1 Nov 2022 19:48:19 +0000 (08:48 +1300)]
Bug 8367: (follow-up) Remove unnecessary code and atomic update

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (follow-up) Fix tests
Aleisha Amohia [Mon, 14 Mar 2022 03:34:54 +0000 (16:34 +1300)]
Bug 8367: (follow-up) Fix tests

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (follow-up) Remove pickup delay message from OPAC
Aleisha Amohia [Mon, 14 Mar 2022 00:59:37 +0000 (13:59 +1300)]
Bug 8367: (follow-up) Remove pickup delay message from OPAC

It adds unnecessary complexity and information.

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: (follow-up) Fix pickup delay text on OPAC and other bits
Aleisha Amohia [Wed, 2 Mar 2022 21:03:28 +0000 (10:03 +1300)]
Bug 8367: (follow-up) Fix pickup delay text on OPAC and other bits

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: Make database update idempotent (across different MariaDB versions)
David Cook [Tue, 21 Sep 2021 05:21:42 +0000 (05:21 +0000)]
Bug 8367: Make database update idempotent (across different MariaDB versions)

The previous query seemed to work on MariaDB 10.1.48 (used by koha-testing-docker),
but it didn't work on MariaDB 10.3.29 (default in Debian 10 as of this writing),
but this patched query works on both indempotently.

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: Make database update idempotent
David Cook [Tue, 7 Sep 2021 07:09:43 +0000 (07:09 +0000)]
Bug 8367: Make database update idempotent

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 8367: Add holds_pickup_period circulation rule
Aleisha Amohia [Mon, 20 Apr 2020 16:13:35 +0000 (16:13 +0000)]
Bug 8367: Add holds_pickup_period circulation rule

So that pickup delay can have a different value per patron category,
   item type or branch.

To test:

1) Update database, restart services
2) Set ReservesMaxPickUpDelay syspref (if not already set)
3) Edit your circulation rules and set a value under 'Holds pickup
period (day) that is DIFFERENT from ReservesMaxPickUpDelay. Set a few
different numbers for different branches as well.
4) Place a hold on a biblio from the staff client.
5) Check in an item from that biblio and confirm the hold as waiting
6) Confirm the expiration date is calculated using the 'Holds pickup
period' value instead of the ReservesMaxPickUpDelay syspref
7) Revert the waiting status and delete the hold
8) Re-place the hold on the biblio on the OPAC. Notice that when you
change the pick up location, the number of days in the pickup message
below the dropdown changes based on the circ rules.
9) Create a holiday with a date that will overlap with the 'Holds pickup
period'
10) Check in an item from that biblio and confirm the hold as waiting
11) Confirm the expiration date is calculated using the 'Holds pickup
period' value AND considers the special holiday
12) Confirm tests pass t/db_dependent/Holds/WaitingReserves.t
13) Test Talking Tech:
13a) Enable TalkingTechItivaPhoneNotification
13b) Go to Tools -> Notices & slips. Add content to the HOLD phone
(itiva) notice.
13c) In your terminal, run perl
/path/to/koha/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl -o
~/itiva.tmp -w 0 --type=RESERVE

Sponsored-by: Catalyst IT
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 34098: Improve translation of some strings in the patron import template
Owen Leonard [Thu, 22 Jun 2023 15:42:52 +0000 (15:42 +0000)]
Bug 34098: Improve translation of some strings in the patron import template

This patch updates a few sections of the patron import template in order
to import the way strings are identified for translation.

To test, apply the patch and install another translation if necessary.

- Go to Tools -> Import patrons
- Under "Notes," you should see a link, "Download a Starter CSV file
  with all the columns."
- Test the process of importing a batch of patron records.
  - When the import completes, confirm that the status messages are
    correct:

    X imported records
    X overwritten records
    X not imported because they are already in borrowers table and
      overwrite is disabled
    X not imported because they are not in the expected format
    X records parsed

TESTING TRANSLATABILITY

- Update a translation, e.g. fr-FR:

> cd misc/translator
> perl translate update fr-FR

- Open the corresponding .po file for the updated strings, e.g.
  misc/translator/po/fr-FR-messages.po
- Locate strings pulled import_borrowers.tt for translation and confirm
  that they are readable and have context information under 'msgctxt'

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>
12 months agoBug 35091: Improve translation of usage statistics country list
Owen Leonard [Wed, 18 Oct 2023 14:18:40 +0000 (14:18 +0000)]
Bug 35091: Improve translation of usage statistics country list

This patch reworks country-list.inc so that each country name can be
wrapped separately in the t() translation function and be processed
individually during the translation process.

To test, apply the patch and update a translation, e.g. fr-FR:
   - perl misc/translator/translate update fr-FR

- Edit the updated po file for the language you chose, e.g.
  misc/translator/po/fr-FR-messages.po, and locate strings from
  country-strings.inc. Each country names should show up as a separate
  string for translation.
- Update the file to fill in translated strings for one or more
  countries. For example:

  koha-tmpl/intranet-tmpl/prog/en/includes/country-list.inc:2
  msgid "Afghanistan"
  msgstr ""

- Install the updated po file:
   - perl misc/translator/translate install fr-FR
- Enable the translation if necessary under Administration -> System
  preferences -> language.
- Go to Administration -> Share usage statistics and check the "Your
  country" dropdown. The list should look correct.
- Switch to your updated translation and confirm that the country names
  you translated show up as expected.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.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>
12 months agoBug 26824: Use confirmation modal when removing titles from a list in the OPAC
Owen Leonard [Fri, 20 Oct 2023 18:18:38 +0000 (18:18 +0000)]
Bug 26824: Use confirmation modal when removing titles from a list in the OPAC

This patch changes the process of removing a title from a list so that
it uses a confirmation modal dialog instead of a JavaScript alert.

To test, apply the patch and view the contents of a list in the OPAC.

 - Click the "Remove from this list" link under one of the titles.
 - You should see a modal confirmation message, "Are you sure you want
   to remove this item from the list?" It should show the title of the
   item on the list.
 - Test both the "Yes" and "No" choices.

 - Check the box next to one title on the list, and click the
   "Remove from list" link at the top of the table.
 - You should see a modal confirmation message, "Are you sure you want
   to remove this item from the list?" It should show the title of the
   item on the list.
 - Test boh the "Yes" and "No" choices.

 - Check the box next to multiple titles on the list and click the
   "Remove from list" link at the top of the table.
 - You should see a modal confirmation message, "Are you sure you want
   to remove these items from the list?" It should show the titles of
   all the records you selected.
 - Test both the "Yes" and "No" choices.

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>
12 months agoBug 33575: (QA follow-up) Fix date sorting on Date column
Katrin Fischer [Tue, 9 May 2023 22:11:00 +0000 (22:11 +0000)]
Bug 33575: (QA follow-up) Fix date sorting on Date column

Implements correct date sorting for different date formats on the Date column.

See:
https://wiki.koha-community.org/wiki/DataTables_HowTo#Sorting_dates_regardless_of_date_format_preference
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 33575: (follow-up) don't allow priority and pickup location to be hidden
Lucas Gass [Fri, 21 Apr 2023 14:10:51 +0000 (14:10 +0000)]
Bug 33575: (follow-up) don't allow priority and pickup location to be hidden

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 33575: Add dataTable to hold table on /reserve/request.tt
Lucas Gass [Thu, 20 Apr 2023 15:47:01 +0000 (15:47 +0000)]
Bug 33575: Add dataTable to hold table on /reserve/request.tt

To test:
1. Have a record with several holds on it.
2. Go to the holds page for that record ( /cgi-bin/koha/reserve/request.pl?biblionumber=144 )
3. Cannot sort by columns
4. Apply patch, restart_all
5. Now the table should be a dataTable that will allow you sort.
6. Try hiding columns by clicking on the 'Columns' icon above the table, make sure columns are correctly being hidden.
7. Try to hide columns by going to Adminstration > Table settings ( Circulation > Holds > patron_holds_table ), make sure columns are correctly being hidden.
8. Now login with a user who has the 'place_holds' permission but does NOT have the 'modify_holds_priority' permssion.
9. The table will not have the change priority columns. Make sure all columns can still be hidden/shown correctly for that use.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
12 months agoBug 34834: Add translation context for "Order"
Caroline Cyr La Rose [Wed, 20 Sep 2023 14:24:02 +0000 (10:24 -0400)]
Bug 34834: Add translation context for "Order"

This patch adds context for translation to the term "Order". It is
sometimes used as a verb (e.g. to order) and sometimes as a noun (e.g.
an order).

To test:
1. Go to the various pages and make sure Order appears correctly in
   English

   -  orderreceive: when receiving multiple orders, the table heading
   -  parcel: when receiving an order, there is a "View" menu with
      "Order", "MARC", and "Card"
   -  z3950_search: when adding an order from an external source, if
      you hover the mouse on the Order option, there is a thing that
      opens (a tooltip?) with the word "Order"

2. Apply patch

3. Redo step 1 in English, make sure the pages still work

4. Update the translation files

   gulp po:update --lang fr-CA

5. View the messages.po file and make sure the term is translated for
   both verb and noun context (you can put anything, just something
   different to tell them apart)

6. View the pages in the other language, the terms should be

   -  orderreceive: noun
   -  parcel: noun
   -  z3950_search: verb

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>