Julian Maurice [Thu, 4 Apr 2024 14:26:00 +0000 (16:26 +0200)]
Bug 36526: Remove circular dependency from Koha::Objects
Koha::Objects depends on Koha::DateUtils, which depends on C4::Context,
which depends on Koha::Config::SysPrefs, which depends on Koha::Objects
Apart from the circular dependency, the dependency on C4::Context alone
is problematic as it loads a bunch of modules that are not needed at all
in Koha::Objects (YAML::XS and ZOOM for instance).
As Koha::Objects is used as a base for a lot of modules, we should take
care to only load the minimum required.
This patch removes uses of Koha::DateUtils from Koha::Objects.
It was only used in Koha::Objects::filter_by_last_update
filter_by_last_update now requires that the 'from' and 'to' parameters
must be DateTime objects. Previously it would also allow date and
datetime strings. This possibility was only used in two places:
* misc/cronjobs/cleanup_database.pl
* tools/cleanborrowers.pl
Now they call dt_from_string first and pass a DateTime object to
filter_by_last_update
Test plan:
1. Run `perl -cw Koha/Objects.pm`. It should only say:
"Koha/Objects.pm syntax OK" without warnings
2. Run `prove t/db_dependent/Koha/Objects.t`
3. Verify that misc/cronjobs/cleanup_database.pl works as before,
especially with the options --pseudo-transactions,
--pseudo-transactions-from and --pseudo-transactions-to
4. Go to Tools » Batch patron deletion and anonymization, check "Verify
you want to anonymize patron checkout history" and enter a date in
the text input below. Then click Next and verify that the correct
count of borrowers is shown. Click on the "Finish" button and verify
that the circulation history has been correctly anonymized
See also bug 36432
Signed-off-by: Tadeusz Sośnierz <tadeusz@sosnierz.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Shi Yao Wang [Tue, 30 Apr 2024 19:02:50 +0000 (15:02 -0400)]
Bug 36738: Don't copy date when repeating date fields
Make the repeatable date patron attribute empty when repeating the
inputs to avoid date formatting problems (and keeping past date value
after repeating is not something we want)
Test plan:
1- create a patron attribute type with is a date and repeatable checked
(administration -> patron attribute types)
2- add a couple of patron attribute of type date, notice the repeated
inputs contain previous data
3- Apply the patch
4- redo step 2 and notice the repeated inputs are empty
Follow up for bug 32610 (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32610)
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Tue, 16 Apr 2024 17:22:41 +0000 (18:22 +0100)]
Bug 36612: Add public_read_list to Koha::Ticket
Without the public_read_list to define which fields should be accessible
from the public endpoints we will always return a 500 from the API on
otherwise successfull additions of tickets via the OPAC.
Test plan
1) Enable OPACCatalogConcerns
2) Login to the OPAC and "Report a concern"
3) Note the error message in the UI "There was an error when submitting
your concern, please contact a librarian."
4) Confirm that the concern is actually created regardless
5) Apply the patch here and restart plack
6) Submit another 'Report a concern' and now note the success message
"Your concern was successfully submitted."
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Tue, 18 Jul 2023 13:07:59 +0000 (09:07 -0400)]
Bug 25159: Implement diffs in action logs for holds
Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Restart all the things!
4) Enable HoldsLog
5) Perform various hold related actions
6) Observe the diff column is populated by a JSON string
of the diff format generated by Struct::Diff
Signed-off-by: Kyle Hall <kyle@bywatersolutions.com> Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org> Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Tue, 18 Jul 2023 13:06:36 +0000 (09:06 -0400)]
Bug 25159: Add ability to specify a pre-modified version of action log data and store as diff
Test Plan:
1) sudo cpanm Struct::Diff
2) prove t/db_dependent/Log.t
Signed-off-by: Kyle Hall <kyle@bywatersolutions.com> Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org> Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Tue, 18 Jul 2023 11:00:50 +0000 (07:00 -0400)]
Bug 25159: DB Update
Signed-off-by: Kyle Hall <kyle@bywatersolutions.com> Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org> Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Thu, 2 May 2024 14:09:44 +0000 (15:09 +0100)]
Bug 36756: Don't require status change on ticket updates
Follow-up for bug 35628, we lost a class during rebases that meant the
'Update' split button when status's are enabled no longer submitted
unless you explicitly selected a new status each time.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Fri, 26 Apr 2024 16:01:43 +0000 (17:01 +0100)]
Bug 35657: Unit test for addition to tickets endpoint
This patch adds a unit test for the additional option of now setting the
assignee from the tickets update endpoint.
Signed-off-by: Paul Derscheid <paulderscheid@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Fri, 26 Apr 2024 13:48:30 +0000 (14:48 +0100)]
Bug 35657: Unit tests for ticket_update api addition
This patch adds unit tests for the addition of assignee handling in the
ticket update endpoint
Signed-off-by: Paul Derscheid <paulderscheid@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Fri, 26 Apr 2024 13:24:08 +0000 (14:24 +0100)]
Bug 35657: Unit tests for relation accessor additions
This patch adds the unit tests for the new 'assignee' relation accessors
added to Koha::Ticket and Koha::Ticket::Update classes.
Signed-off-by: Paul Derscheid <paulderscheid@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Fri, 29 Dec 2023 11:53:25 +0000 (11:53 +0000)]
Bug 35657: Add option to set assignee during update
This patch exposes the UI to allow setting assignee from the ticket
update modal.
Test plan
1) Apply the patches and run the database updates
2) Enable catalog concerns - `CatalogConcerns` or `OPACCatalogConcerns`
3) Submit a catalog concern via the OPAC or Staff client biblio page
4) Navigate to the concerns management page 'Cataloging > Catalog
concerns'
5) Note there is no assignee displayed in the status field for your new
concern.
6) Click the concern to view it's details
7) Note that in the modal there is now a new 'Change assignee' option
8) Use this new option to search for and assign a librarian to the
concern.
9) Submit the update
10) Your assignee should now appear in the 'status' data field in the
table
11) Clicking through to details again, you should see when the assignee
was set and should also be able to re-assign it
Signed-off-by: Paul Derscheid <paulderscheid@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Thu, 28 Dec 2023 15:03:36 +0000 (15:03 +0000)]
Bug 35657: Add support for assignee_id to ticket_updates endpoint
This patch adds support for cross-synced ticket.assignee_id updates.
The API allows you to set assignee directly on a ticket or via a
ticket_update. In both cases we store a ticket_update with the fine
details of when and who set the assigee.
Signed-off-by: Paul Derscheid <paulderscheid@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Thu, 28 Dec 2023 15:02:36 +0000 (15:02 +0000)]
Bug 35657: Add assignee_id to tickets and ticket_updates
This patch updates the tickets and ticket_updates tables to include a
assignee_id.
Signed-off-by: Paul Derscheid <paulderscheid@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Matthias Le Gac [Fri, 8 Mar 2024 21:44:51 +0000 (16:44 -0500)]
Bug 36122: Add unit test
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Matthias Le Gac [Thu, 7 Mar 2024 21:55:37 +0000 (16:55 -0500)]
Bug 36122: NEW_SUGGESTION is sent for every modification to the suggestion
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
To test:
- apply patch, restart all
- run a report
- export results
- confirm file name is the report ID, followed by report name
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Emily Lamancusa [Sun, 24 Mar 2024 20:07:16 +0000 (16:07 -0400)]
Bug 35559: Correctly parse previous flatpickr date
The Flatpickr configuration for futuredate and futuredateinclusive is
meant to allow the preexisting date, even if it is in the past, to avoid
data loss. As of Bug 30718 - Use flatpickr's alt option everywhere,
that incoming date is in yyyy-mm-dd format, not the configured
human-readable format, and needs to be parsed accordingly.
To test:
1. Place 2 holds on the same bib, both with an expiration date set
2. Set the expiration date for one of the holds to a date in the past
(e.g., in Koha Testing Docker, use the commands:
ktd --shell
koha-mysql kohadev
to access the database directly)
3. Reload the holds tab for that bib
--> Note that the future expiration date will be editable, and the past
expiration date will not be editable
4. In a new tab, go to Administration > Patron Categories
5. Edit one patron category to have an enrolment period date in the future
6. Edit another patron category to have an enrolment period date in the
past (e.g. by accessing the database directly, as above)
7. Reload the Edit pages for each of the above categories (in new tabs)
--> Note that the future enrolment period date will be retained in the
date field, but the past enrolment period date will be blanked out
8. Apply this patchset
9. Refresh the holds tab from step 3
--> Note that both expiration dates are now editable
10. Refresh the 2 patron category tabs from step 7
--> Note that both enrolment dates are now retained correctly
11. Open the date picker on one of the date fields that has a past date
--> Note that other past dates, besides the existing date, are prevented
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Tue, 13 Feb 2024 00:44:51 +0000 (00:44 +0000)]
Bug 15565: Add 'DisplayMultiItemHolds' system preference to toggle display of multi item holds
These patches allow the display of checkboxes instead of radio buttons for placing specific
item holds in the OPAC and staff interface. This display is controlled by the system preference
'DisplayMultiItemHolds'. When disabled, the hold display is the same as in the past. When enabled,
the user can select multiple items to place holds on at the same time.
If there is an error placing one or more holds, an error will display on the following screen.
Test plan:
0. Apply the patches and koha-plack --reload kohadev
1. Enable 'DisplayMultiItemHolds' syspref
2. In staff interface, go to a record with multiple holdable items
3. Check the boxes next to 2+ items and click the button to place the holds
4. Note that the holds are all placed (unless there is a failure)
5. Cancel the holds, and try again (but this time make Holds per record (count) only
1 in the circ rules)
6. Note that one of the holds is placed, but the others are not and an error message
is displayed saying that one or more holds could not be placed because the holds per
record was exceeded
7. Perform the same above procedure on the OPAC
8. If DisplayMultiPlaceHold is enabled, you can test placing multiple specific item holds
across multiple bibs in the OPAC via the search results
9. If EnableItemGroups and EnableItemGroupHolds is enabled, you can test that you can
either place item group holds or specific item holds. Toggling the checkboxes in the
staff interface will uncheck the item group hold radio button.
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Tue, 13 Feb 2024 00:26:42 +0000 (00:26 +0000)]
Bug 15565: Place multiple holds on one or more records in OPAC
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Mon, 12 Feb 2024 23:20:35 +0000 (23:20 +0000)]
Bug 15565: Tidy reserve/placerequest.pl
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Mon, 12 Feb 2024 23:17:05 +0000 (23:17 +0000)]
Bug 15565: Place multiple holds on one record on staff interface
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Tue, 30 Apr 2024 15:13:25 +0000 (16:13 +0100)]
Bug 35977: (follow-up) Cleaner working approach
This patch removes the Date_from_syspref recently added and replaces it
with the correct parseDate call as per bug 35559. We also clean up the
code around setting the input value in the first place and use iso which
is what the rest of flatpickr expects and now is handled correctly in
futuredate pickers.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Wed, 17 Apr 2024 10:33:24 +0000 (12:33 +0200)]
Bug 36614: Restore 'phone' on the main patron search
It disappeared at some point (history is tricky here, I didn't manage to
track down what happened, it's a mess)
This patch adds a phone column after the "name and address" one. It's
hidden by default.
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Tue, 23 Apr 2024 18:57:54 +0000 (18:57 +0000)]
Bug 36678: Index fields with non-filing characters in both versions
Currently we only remove non-filing characters for sort fields, however, this can make searching difficult.
This patch adds the filing form to the index as well to aid in searching.
To test:
0 - Setup Koha with Elasticsearch
1 - Import the sample record on this report: "L'amour de l'art"
2 - Search for "amour de l'art" - no results
3 - Apply patch
4 - Reindex
5 - Search for "amour de l'art" - result!
6 - Search for "title:amour de l'art" - result!
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Tue, 23 Apr 2024 18:57:45 +0000 (18:57 +0000)]
Bug 36678: Adjust unit tests
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Fri, 12 Apr 2024 17:46:43 +0000 (17:46 +0000)]
Bug 36545: (follow-up) Style tweaks for Select2 multiple fields
This patch does some fine-tuning of Select2 style on fields which accept
multiple selections. The patch also changes the way the form rows are
displayed on this page. I thought that the Select2 fields should be
wider to accpet multiple selections without the container wrapping onto
another line.
The patch also sets the Select2 "closeOnSelect" option to false on this
page because I think that makes more sense in a situation where multiple
selections might be made.
To test, apply the patch and clear your browser cache.
- Go to item search in the staff client
- Confirm that the form looks good and adjusts well to various browser
widths.
- Make some selections to confirm that the style of selections looks
good and that the dropdown stays open as you make multiple selections.
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch modifies the multi-select fields in the item search to use
the select2 framework.
To test:
1. Apply patch
2. Go to staff interface -> "Item search"
3. Check item search form and search for
- Home library
- Current library
- Shelving location
- Item type
- Collection
- Status
- Lost
- Withdrawn
- Damaged
4. Search with multiple variations (nothing selected, only one value,
multiple values, ...) If no value is selected this means that "All"
values are searched
5. Check that the search is working well
Sponsored-by: Karlsruhe Institute of Technology (KIT) Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Tue, 30 Apr 2024 11:40:14 +0000 (12:40 +0100)]
Bug 32610: (QA follow-up) Fix unit tests
With the introduction of data type checking based on the is_date flag we
need to update the tests to ensure we're setting the attribute types
consistently to not date when we're testing for other flags.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Shi Yao Wang [Mon, 29 Apr 2024 16:26:06 +0000 (12:26 -0400)]
Bug 32610: make date attributes repeatable
Test plan:
1- create a patron attribute type with is a date and repeatable checked
(administration -> patron attribute types)
2- add a couple of patron attribute of type date
3- Save
4- Edit to see if everything has been stored correctly
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Katrin Fischer [Sat, 18 Mar 2023 10:54:14 +0000 (10:54 +0000)]
Bug 32610: Add date extended patron attribute handling to overdues report
This makes sure that the overdues report manages filters for
extended patron attributes of the type date correctly.
To test:
* Make sure you have at least one PA marked as 'searchable'
* Make sure your patron has at east one checked out item
* Go to circulation > overdues
* If you have no overdue items, check "Show any items currently checked out:"
* Verify the list of checkouts displays
* Verify the PA filter option displays with the calendar widget
* Limit to the date in your patron's record - list remains
* Limit to any other date - list empties
Signed-off-by: Philip Orr <philip.orr@lmscloud.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Katrin Fischer [Sat, 18 Mar 2023 10:19:42 +0000 (10:19 +0000)]
Bug 32610: Add date extended patron attributes to the OPAC
This makes sure that the attributes are handled correctly
when displayed and edited in the OPAC during address changes
or self registration.
To test:
* You will need to test different configuration options for
extended patron attributes (PA) in combination with the date option:
* PA displays in OPAC, but is not editable
* The date will show nicely formatted on the personal details tab.
* PA displays and is editable in the OPAC
* The date can be edited using the calendar widget
* PA displays, is editabe and mandatory
* The date is marked as required and you can't save without
it being set.
* Test the form behaves correctly when requesting changes for an
existing patron account and when self registering.
Signed-off-by: Philip Orr <philip.orr@lmscloud.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Katrin Fischer [Sat, 18 Mar 2023 10:13:09 +0000 (10:13 +0000)]
Bug 32610: Add date extended patron attributes to patron module
This makes the necessary changes in the patron module of
the staff interface, so the new patron attribute appers and
behaves correctly when editing a patron record.
To test:
* You will need to test different configuration options for
extended patron attributes (PA) in combination with the date option:
* PA is a date and not mandatory
* Patron form should have the calendar widget to let you set the date.
* PA is a date and mandatory
* Patron form shoudl have calendar widget and check that the date is
set for allowing you to save the record.
* PA is a date and unique
* For this set the date in one patron record and try to
set the same date in another. You should not be able to save.
* PA displays in brief patron information
* Make sure the date displays on the left formatted correctly
* When the date PAs are saved, they should display nicely formatted
on the details tab.
Signed-off-by: Philip Orr <philip.orr@lmscloud.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Katrin Fischer [Sat, 18 Mar 2023 10:05:32 +0000 (10:05 +0000)]
Bug 32610: Add date option to extended patron attributes administration page
With this page it will be possible to configure patron attributes
to be a date.
To test:
* Go to administration > patron attribute types
* Add a new patron attribute of type date
* Dates cannot be repeatable or linked to an AV category, so:
* Verify, if you check repeatable, date is disabled
* Verify, if you select an AV category, date disabled
* Verify, if you check date, AV category and repeatable are disabled
* Save the new patron attribute
* Edit the patron attribute
* Verify all settings have been kept/stored correctly
Signed-off-by: Philip Orr <philip.orr@lmscloud.de> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Katrin Fischer [Sat, 18 Mar 2023 00:08:28 +0000 (00:08 +0000)]
Bug 32610: Add borrower_attribute_types.is_date to the database
* Change to kohastructure.sql for new installations
* Atomic database update to add the column for updating
installations
Signed-off-by: Philip Orr <philip.orr@lmscloud.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Tue, 20 Feb 2024 12:52:43 +0000 (12:52 +0000)]
Bug 18360: Allow to delete a cancelled order from open basket
Doing this under flag of order_manage and not on the higher level
of baskets.
Starting here with a single order delete for cancelled lines. So
deleting an open order line requires cancelling it first. Can be
extended later if needed.
Test plan:
Pick an open basket with cancelled lines.
Try to delete a few lines.
Test that you cannot do this on an closed basket. (Bonus: manipulate
URL with basketno, ordernumber and op=cud-delete-order.)
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Tue, 6 Feb 2024 13:47:25 +0000 (13:47 +0000)]
Bug 36002: Remove last references to purchaseordernumber
Test plan:
Git grep for it. Ignore update22to30.pl and atomicupdate.
Verify that you can still create/update/delete an acq order.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Tue, 6 Feb 2024 13:42:34 +0000 (13:42 +0000)]
Bug 36002: Remove unused subroutine GetParcels
That did refer to our aqorders.purchaseordernumber..
Test plan:
Git grep for GetParcels.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Tue, 6 Feb 2024 13:32:28 +0000 (13:32 +0000)]
Bug 36002: Database revision for aqorders.purchaseordernumber
Test plan:
Run dbrev. Check if field is no longer there.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 24 Apr 2024 15:39:52 +0000 (16:39 +0100)]
Bug 33237: Move and simplify language selection logic
This patch moves the language selection into GetPreparedLetter, drops
the interface check step and ensures the default template always uses
the default include language as per the OPACLanguages settings.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 24 Apr 2024 13:44:05 +0000 (14:44 +0100)]
Bug 33237: Add display of which language default language is expected
This patch adds the display of 'Default language' to the 'Default'
language in the notices editor tool.
This is so that librarians know which language they are expected to be
writing the notice in so we can remain consistent in both template and
include language used.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Tue, 23 Apr 2024 12:42:46 +0000 (13:42 +0100)]
Bug 33237: (QA follow-up) Clarify tests and Mock
This patch tries to clarify the tests a little and expand their
coverage whilst also adding some defualt translated includes to the test
area and mocking the config to allow the tests to run without installing
translations.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Tue, 26 Mar 2024 17:54:19 +0000 (17:54 +0000)]
Bug 33237: (follow-up) Tidy
Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Hammat Wele [Mon, 27 Mar 2023 21:05:29 +0000 (21:05 +0000)]
Bug 33237: If TranslateNotices is off, use the interface language includes in slips
This patch set the language used in slips folloinw this logic:
--> uses patron's preferred language
--> if patron's preferred language is 'default', use the interface language
--> if there is no interface (for overdue_notices for example), use the first language in 'language' system preference
To Test:
1. Install the other language (i used fr-CA here)
1.1.
gulp po:update fr-CA
./misc/translator/translate install fr-CA
1.2. In Administration > Global system preferences, search for language and check the added language
2. Create a manual invoice in a patron's account and pay it
3. From the Transactions tab, click 'Print' next to the payment line
--> On the printed slip, there's the word 'Payment' in English (OK)
4. Switch interface to other language
5. Redo step 3
--> On the printed slip, the word 'Payment' is still in English (not ok)
6. In Administration > Global system preferences, enable TranslateNotices
7. Go to Tools > Notices and slips > ACCOUNT_CREDIT and copy the content of the letter into all the languages
8. Redo step 3 (you should still be in the other language interface)
--> On the printed slip, the word 'Payment' is still in English (not ok)
9. Edit the patron's account and change the preferred language to the other language
10. Redo step 3
--> On the printed slip, the word 'Payment' is in the other language (Paiement) (OK)
11. Apply the patch
12. Reset config
12.1. Edit the patron's account and change back the preferred language to 'default'
12.2. In Administration > Global system preferences, disable TranslateNotices
13. Redo step 3 (you should still be in the other language interface)
--> On the printed slip, the word 'Payment' is in the other language (Paiement)
14. Switch interface to the english language
15. Redo step 3
--> On the printed slip, the word 'Payment' is in English
16. In Administration > Global system preferences, enable TranslateNotices
17. Edit the patron's account and change the preferred language to the other language
18. Redo step 3
--> On the printed slip, the word 'Payment' is in the other language (Paiement)
Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Mon, 29 Apr 2024 23:43:40 +0000 (23:43 +0000)]
Bug 36546: Deploy swagger_bundle.json via make
To test:
0. Apply patch
1a. perl Makefile.PL
1b. Choose "single" Installation mode
1c. Specify /opt/koha directory
2. make
2b. ls blib/API_CGI_DIR/v1/swagger/swagger_bundle.json
3. Ensure you're running as root or make koha user own /opt
4. make install
5. ls /opt/koha/api/v1/swagger/swagger_bundle.json
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Wed, 24 Apr 2024 03:19:33 +0000 (03:19 +0000)]
Bug 36546: Fix js-yaml dependency in package.json
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch makes the Koha::REST::V1 class use a bundled version of the
API spec.
For that to happen, this patch also adds:
* a `yarn api:bundle` task for generating the `swagger_bundle.yaml`
file
* the bundle file to `.gitignore`
* @redocly/cli to the packages.json dependencies (yarn add @redocly/cli)
* `api:bundle` is added to the `yarn build` general command
NOTE: A new workflow is introduced by this patch as developers will need
to call the `yarn api:bundle` command on each API spec change they make.
To test:
1. Have KTD running
2. Verify the API works as usual
=> SUCCESS: The API just works
3. Apply this patch
4. Run:
$ ktd --shell
k$ yarn api:bundle
5. Restart plack:
k$ koha-plack --restart kohadev ; tail -f /var/log/koha/kohadev/*.log
=> SUCCESS: The API loads correctly
6. Repeat 2
=> SUCCESS: Nothing changed
7. Sign off :-D
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Tue, 30 Apr 2024 08:59:23 +0000 (09:59 +0100)]
Bug 5920: (QA follow-up) Switch to use existing dependancy
We already have a scrubber module we can use; This patch switches us
from the newly introduced dependancy to using the existing and well
respected Scrubber we already have.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Tue, 23 Jan 2024 14:01:41 +0000 (14:01 +0000)]
Bug 5920: Add HTML::Restrict to cpanfile
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Mon, 10 Jan 2022 09:45:54 +0000 (10:45 +0100)]
Bug 5920: Strip HTML from report exports
This patch uses HTML::Restrict to strip out HTML tags from the CSV
download of reports.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Thu, 2 Mar 2023 17:01:07 +0000 (17:01 +0000)]
Bug 32565: Add unallocated option to holds queue
Add an unallocated option to CreateQueue and pass through as needed
Avoid deletion of the tmp_holdsqueue, and only check holds
and items that are not currently matched
A future hold with a higher priority will still fail here - because the
item may already be assigned, but on next change to the biblio it would
be corrected
To test:
1) Apply both patches
2) Enable RealTimeHoldsQueue and set HoldsQueueSkipClosed to "open"
3) Add a holiday to the calendar for all libraries for today, visit:
/cgi-bin/koha/tools/holidays.pl
-- Click today's day on the calendar and pick "Holiday repeated every same day of the week"
-- Click "Copy to all libraries". Hit "Save.
4) Place a biblio-level hold on a biblio record and set the pickup location to a library that has available copies, visit:
-- /cgi-bin/koha/reserve/request.pl?biblionumber=76&borrowernumber=51
-- Click the first "Place hold" button to place the biblio-level hold.
5) Verify that that hold got added to the holds queue, visit:
/cgi-bin/koha/circ/view_holdsqueue.pl?branchlimit=&itemtypeslimit=&ccodeslimit=&locationslimit=&run_report=1
6) Place a biblio-level hold on a biblio record where there are no other holds and copies are available at another location, but not the pickup location, visit:
-- /cgi-bin/koha/reserve/request.pl?biblionumber=437&borrowernumber=51
-- On the "pickup at" dropdown, pick something else other than "Centerville", e.g. "Fairfield".
-- Click the first "Place hold" button to place the biblio-level hold.
7) Check the holds queue again, notice that this 2nd hold was not added to the queue:
/cgi-bin/koha/circ/view_holdsqueue.pl?branchlimit=&itemtypeslimit=&ccodeslimit=&locationslimit=&run_report=1
8) Run the updated cronscript:
perl misc/cronjobs/holds/build_holds_queue.pl --force --unallocated
9) Notice nothing changed in the holds queue, visit:
/cgi-bin/koha/circ/view_holdsqueue.pl?branchlimit=&itemtypeslimit=&ccodeslimit=&locationslimit=&run_report=1
10) Remove the holiday we created previously, visit:
/cgi-bin/koha/tools/holidays.pl
-- Click today's day on the calendar and pick "Delete this holiday"
-- Click "Copy to all libraries". Hit "Save.
11) Run the updated cronscript:
perl misc/cronjobs/holds/build_holds_queue.pl --force --unallocated
12) Confirm the second hold is added to the holds queue, visit:
/cgi-bin/koha/circ/view_holdsqueue.pl?branchlimit=&itemtypeslimit=&ccodeslimit=&locationslimit=&run_report=1
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>