Commit Graph

54651 Commits

Author SHA1 Message Date
Lucas Gass 11e025e40a Bug 38027: Set date to empty value instead of using flatpickr clear()
1. Find a datetime field in Koha. For example, specifying due dates on the checkout page.
2. Specify a datetime.
3. Use the red 'X' icon to clear the date.
4. Notice a console error 'parsedDate' is undef
5. Now the flatpickr is date, not datetime
6. APPLY patch
7. Try again, this time no console error and the flatpickr remains a datetime one

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 4d4337bbed)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:53:14 +00:00
Nick Clemens c41dacb551 Bug 37709: Die and notify if file cannot be opened
1 - perl misc/migration_tools/bulkmarcimport.pl -b --file=notafile.mrc -v
2 - Output:
    Characteristic MARC flavour: MARC21

    0 MARC records done in 0.00804400444030762 seconds
3 - Apply patch
4 - perl misc/migration_tools/bulkmarcimport.pl -b --file=notafile.mrc -v
5 - Output:
    Characteristic MARC flavour: MARC21
    Could not open notafile.mrc: No such file or directory at misc/migration_tools/bulkmarcimport.pl line 262.

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 0546217cdc)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:52:49 +00:00
Martin Renvoize 26e3f78225 Bug 36375: Fix inconsistencies in content warning display
As suggested by Fridolin, we move the display into a template to improve
consistency and maintanence and whilst doing this we also pick the
suggested subfield selection.

Signed-off-by: Hannah Prince <hannah.prince@uhb.nhs.uk>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e086d2f81d)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:49:47 +00:00
Jonathan Druart 671a8b4534 Bug 38035: Exclude "sound" from the list of installed languages
Not sure how this is coming from, neither why we have not noticed that
before, but "sound" is listed under `koha-translate --list`

It's coming from `ls koha-tmpl/intranet-tmpl/prog`

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit e8170909f4)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:49:20 +00:00
Pedro Amorim cae46299c6 Bug 38000: Update imports
Noticed this while debugging a search related problem on a live server. This is cosmetic only.

Signed-off-by: Shi Yao Wang <shi-yao.wang@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit d6fbbf9884)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:49:20 +00:00
Jonathan Druart fab6ee606c Bug 37931: Adjustment for "show fewer" link
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 1b37706679)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:45:34 +00:00
Lari Taskula 79f86508a7 Bug 37931: Fix OPAC item type facet label
To test:
1. Have additional language installed and set up for OPAC
2. Search something
3. Notice "Item types" facet label untranslated
4. Apply patch and make sure translations are updated
5. Observe facet label "Item types" translated
6. See patch [1] "Bug 36750: Fix some labels" in Bug 36750
7. Observe item type change missing for OPAC but present in staff client

[1] https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=166289

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit b217189103)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:45:34 +00:00
Jonathan Druart ccae9199fc Bug 37928: Add missing dropdown-item class to "Upload image"
"Upload image" item not correctly styled

Test plan:
Go to the bib detail page with at least one item.
Open the action dropdown list and notice the "Upload image" is correctly
styled with this patch

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 35111fcf39)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:44:58 +00:00
Owen Leonard c538d2bae6 Bug 37848: Fix "Run with template" dropdown menu style
This patch adds the missing "dropdown-item" class to the "Run with
template" dropdown menu markup in order to correct the menu's style.

The patch also adds a template ID to the menu items' id attributes so
that we don't have duplicate IDs.

To test, apply the patch and go to Tools -> Notices.

(testing steps copied from Bug 36157)

1. Create a notice with the module of "Reports" -- add something to the
   "Print" section. Example from the other bug:

    [% FOREACH b IN data %]
      <div class="panel panel-default">
         <div class="panel-heading">[% b.surname %], [% b.firstname %]</div>
         <div class="panel-body">Expiration: [% b.dateexpiry %]</div>
         <div class="panel-footer">ID: [% b.borrowernumber %]</div>
      </div>
    [% END %]

2. Create and run a saved report. Example from bug 36157:

    SELECT * FROM borrowers

3. Click on the "Run with template" dropdown and confirm that it is
   styled correctly.
4. Click to run the report with the template and confirm that it works
   correctly.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit d9be17863a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:44:41 +00:00
Chloe Zermatten 4bb06ac1cb Bug 37730: Batch patron modification header scroll
When scroling down <staff_url>/cgi-bin/koha/tools/modborrowers.pl,
there is a point where the table header leaves the normal flow of
the page to stick to the top of the screen instead. When this
occurs, the header becomes fixed: if scrolling through the table
horizontally, only the body will move. This is an issue as it means
that in this situation, some column headers cannot be viewed and the
data does not necessarily match the header under which it is found.

This patch resolves this issue by allowing the header to scroll
horizontally and ensuring that the width of the column headers
still match that of the columns themselves.

Test plan:

A) Reproduce the bug as per Pedro's intructions:

***
1) Visit "batch patron modification":
<staff_url>/cgi-bin/koha/tools/modborrowers.pl
2) Enter multiple cardnumbers, in k-t-d you may use these:
23529000104159
23529000120056
23529000714163
23529000651225
23529000445172
23529000105040
23529000224510
23529000591678
3) Press "Continue"
4) Scroll down the page enough that the table headers row becomes
   "detached"
   and sticks to the top of the page as you scroll down.
5) Scroll the table horizontally. Notice the headers are stuck even
   though
   the data columns have moved horizontally, causing the headers and
data to
   not match.
***

B) Apply the patch
C) Go through steps 1-5 again. This time, notice that the header scrolls
   along with the table body and that the column headers and data always
match.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 569366e447)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:41:05 +00:00
Lucas Gass 0645773f3d Bug 37446: DBRev 24.05.05.003
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:39:24 +00:00
Aleisha Amohia b2341ea6d0 Bug 37446: Fix search facets for holding and home libraries
This bug ensures that the facet labels for holdingbranch and homebranch are updated, regardless of how the DisplayLibraryFacets system preference is set.

To test:

1. Check out an earlier version of Koha, for example `git checkout v23.11.08-1`
2. Spin up your development environment with elasticsearch, for example `ktd --es7 up`
3. Once it's ready, go to the staff interface and search for the DisplayLibraryFacets system preference in Koha administration. Set to 'holding library' if not already.
4. Do a catalogue search, notice the facets on the side. "Holding libraries" should show as normal. There should be no facet for home libraries.
5. In your terminal, check out 24.05.x, for example `git checkout v24.05.03`
6. Run database updates to upgrade Koha, for example `sudo koha-upgrade-schema kohadev`, and restart services `restart_all`
7. Repeat step 4. Notice the error in the facets "homelibrary"

8. Apply patch from Bug 37446
9. Repeat step 6
10. Repeat step 4. This time the facet should read "Home libraries"

Sponsored-by: Toi Ohomai Institute of Technology
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit bf637c3534)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:39:24 +00:00
Michał Dudzik bb130a573b Bug 37265: Consideration of UniqueItemFields setting when receiving items in an order
When using the Koha acquisition module to receive items (basket receiving
an order), Koha does not consideration of UniqueItemFields setting.
The problem is that you can accidentally attach 3 items to an order with the same values.

Test plan:
1. Set preference UniqueItemFields: Public note (itemnotes)
2. Go to the acquisition module.
3. Create a basket with the option for 'Create items when:' set to receiving an order.
4. Add an order to the basket, for example: From a new (empty) record with the Quantity set to 3 or more.
5. Close the basket.
6. Receive the order.
7. Add a public note: TEST, and receive the first item (Add item).
8. You will see that the next item has the same public note.
9. Apply this patch and repeat step 7 - the public note is not used for the next note.

Sponsored-by: kohawbibliotece.pl
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 1b923e946a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:39:24 +00:00
Fridolin Somers 7b5cacc6ad Bug 37964: Add units test
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Amended-by: Jonathan Druart
Tidy

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 4447352f81)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:30:38 +00:00
Fridolin Somers bd9c430867 Bug 37964: Only show host items when system preference EasyAnalyticalRecords is enabled
After Bug 33496, host items are displayed even when system preference EasyAnalyticalRecords is disabled.

Test plan :
1) Build an analytical record with 773$0 and $9
2) Enable 'EasyAnalyticalRecords'
3) Go to catalogue details page
=> You see the linked item
4) Disable EasyAnalyticalRecords
5) Go to catalogue details page
=> You dont see the linked item

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit f27d58f72f)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:30:38 +00:00
Owen Leonard fdebb79443 Bug 35087: (follow-up) Accept only values which will be saved correctly
This patch adds a regex (thanks to Katrin for the help) specific to the
range of values which will be accepted by the discount column in the
database which has the type "float(6,4)".

The patch also removes the format() filter from the template so that
values returned from the database won't be truncated:

Using "format ('%.1f')", a value in the db of '9.009' would appear in
the edit form as '9.0', a change which could be missed if the user was
editing some other field in the vendor edit form.

To test, apply the patch and clear your browser cache if necessary.

- Go to Acquisitions -> Vendors -> Edit vendor.
- Under "Ordering information," test entering various values in the
  "Discount" field. It should accept numbers with up to two digits
   before the decimal and up to three digits after the decimal:

   9, 99, -99, 99.9, 0.99, 99.99, 99.999

- In each of these cases, confirm that a value accepted by the
  client-side validation is also accepted when you submit the form and
  is correctly displayed when you edit that vendor again.

- It should not accept:

   100, 100.001, 100.00001

- The error message has been updated to read, "Please enter a decimal
  number in the format: 0.0"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Sonia <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 584c02283e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:30:10 +00:00
Thibaud Guillot 1625835375 Bug 35087: Discount rate only accepts a point as decimal separator
When a comma is used to define the discount rate of a vendor,
the data is not recorded (as NULL), it is however recorded if the
separator is a point.

Test plan:

1) Go to acqui module and edit a vendor
2) Set a discount rate with a comma as decimal separator
3) Edit again or request your database to see that there is no data
   saved
4) Do it again with a point as decimal and see it works
5) Apply this patch and reloard the build for the templates
 6) Repeat step 2 and see the warning to inform you that you must use a
    point

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Sonia <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit ebc2568109)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:30:10 +00:00
Jonathan Druart 7449473418 Bug 37983: Restore auto-focus on patron input when "Schedule a pickup" is selected
In the curbside pickup module, when the "Schedule a pickup" tab is selected we expect
the patron search box to get the focus. But it has been broken bug 30965 (which changed the id of the input).

Test plan:
Setup curbside pickup for your library
Go to Circulation > Curbside pickups
Click the last tab
Notice that you can directly search for a patron, the input has the
focus

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 83f542de19)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:29:48 +00:00
Jonathan Druart 9be862601e Bug 37982: Replace edit form with GET
Caught by tests from bug 37728

 # $VAR3 = 'koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt:158';

We don't really need the form to be POSTed, we should not reach the URL maxlength.
The UI will certainly explode if there are lot of items to edit anyway.
The code is not clear on this page as we are sending several forms using
the items selected from this table. But this one form is used to display
the edit form and so can be GET (and better as the URL can be shared).
The other actions have their own form (in modals mostly).

Test plan:
Create a subscription and go to the serial collection page.
Make sure at least one item is select and click the "Edit" button.
No behaviour change expected here, the edit form should still be
displayed.
Try the other actions on top of the table and confirm they are still
working as before.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 520bda9a45)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:29:29 +00:00
Jonathan Druart 7619066759 Bug 37981: Switch installer/step3.tt form from POST to GET
This form does not need to be a POSTed form.

Test plan:
Drop and recreate the DB and run the web installer.
Everything should work, no behaviour change expected.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 5718714ba7)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:29:14 +00:00
Caroline Cyr La Rose 6ca8630538 Bug 37871: Remove extraneous 246 subfields from the title mappings (Elasticsearch, MARC21)
This patch limits indexing of field 246 to $a, $b, $n, and $p in
various title indexes.
Previously, all 246 subfields were indexed, including non-title
subfields such as $i (Display text), $g (Miscellaneous information),
and linking subfields, making the title index very large and giving
false results.

To test:

1. Add all the 246 subfields to the default bibliographic framework
   1.1. Go to Administration > MARC bibliographic framework
   1.2. Click Actions > MARC structure next to the Default framework
   1.3. Search for 246
   1.4. Click Actions > Edit subfields
   1.5. For each subfield, make sure Editor is checked
   1.6. Click Save changes

2. Create a new record and fill out all the 246 subfields
   2.1. Go to Cataloging
   2.2. Click New record
   2.3. Fill out the mandatory fields (000, 003, 005, 008, 040$c,
        245$a, 942$c)
   2.4. Fill out all the subfields in 246 (I simply write the name of
        the subfield in the text field e.g. Display text in 246$i)
   2.5. Click Save
   2.6. Click Normal to access the detailed record

3. View the Elastic search record
   --> All the subfields (including "Display text", "Miscellaneous
       information" and other non-title subfields) should be indexed in
       - title
       - title__suggestion
       - title-abbreviated
       - title-abbreviated__sort
       - title expanded
       - title-expanded__sort
       - title-former
       - title-former__sort

4. Make a title or keyword search for "Display" (or whatever you wrote
   in 246$i)
   --> Your record should be in the results

5. Apply patch

6. Rebuild the index using -r

koha-elasticsearch --rebuild -d -r -v kohadev

7. Redo step 3
   --> Only 246 $a, $b, $n, and $p should be indexed

8. Redo step 4
   --> Your record should NOT be in the results

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 118c73b219)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:25:55 +00:00
Oliver Behnke 0185fde274 Bug 37525: [SCO] Regression in 32256: "Return this item" doesn't show up despite SCOAllowCheckin being allowed
There's a regression in bug 32256 and commit bb059abe respectively:

https://gitlab.com/koha-community/Koha/-/commit/bb059abe90#a22dc682a84c41672294c66e441329a451b5cd5a_137_137

The refactoring of "renew" -> "c.renew" missed this line (at least), so the condition is never met.

This fixes the issue and restores the original functionality.

Test plan:
1. log in with a patron at http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
2. check out an item
3. scan it again
4. see that the "return this item" choice isn't proposed. This is the
   bug
5. apply patches
6. rescan the item in the self-check out
7. returning is proposed
8. check it in and confirms that it's not checked out anymore

Signed-off-by: Oliver Behnke <oliver.behnke@aei.mpg.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 8e22d67f27)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:25:30 +00:00
Emmi Takkinen f3133f9095 Bug 37369: Fix filtering of search result table in item search
At the moment, the filtering on item results page
requires using the code in the following fields:
- Collection
- Home library
- Current library
- Shelving location
- Itemtype
- item status -fields (not for loan etc)

So e.g. "Centerville" in Home library -field doesn't
bring back results but code "CPL" does. This happens
because "columns" option in search results table
isn't working when its used in function columnFilter.
However option "aoColumns" works.

To test:
1. Navigate to item search and search items.
=> Note that all filters in search result table
are free text fields.
2. Attempt to filter search results by home library
with description of some library.
=> No results are displayed.
3. Now filter results with code of the library.
=> Results are now displayed.
4. Apply this patch and refresh page.
5. Search items again.
=> Note that now some of the filters are now using
dropdown select fields.
6. Attempt to filter results by home library again.
=> Results are now displayed correctly.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Olivier Hubert <olivier.hubert@inlibro.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit a8401e533d)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:25:06 +00:00
Raphael Straub a322d170ed Bug 36049: Fix price rounding
This patch only fixes price rounding by using Math::BigFloat.

To test:
0) Enable syspref OrderPriceRounding
1) Create an order line in acquisitions with vendor price 18.90 and a
   discount of 5 %.
2) Verify that the total (tax excl.) in the order table on the basket
   page is 17.95.
3) Apply the patch.
4) Reload the basket page.
5) Verify that the total (tax excl.) in the order table on the basket
   page now is 17.96, which is correct.
6) Run: prove t/Number/Price.t

Sponsored-by: Karlsruhe Institute of Technology (KIT)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 56091d9660)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:17:47 +00:00
Raphael Straub 0e62b0a697 Bug 36049: Add unit test
Sponsored-by: Karlsruhe Institute of Technology (KIT)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 0ca0cd766a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:17:47 +00:00
Fridolin Somers f054a8f4d5 Bug 35442: Script migration_tools/build_oai_sets.pl add ORDER BY
Script migration_tools/build_oai_sets.pl is missing ORDER BY
biblionumber.
This is a problem when using OFFSET and LIMIT, the results may be
differenly orderder between two calls of this script.

Test plan :
1) Create a OAI SET with all records
2) Run migration_tools/build_oai_sets.pl with the first half of records
3) Run migration_tools/build_oai_sets.pl with the second half of records
4) Check all records are in the OAI set

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 996c9d9fdc)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:17:47 +00:00
Phil Ringnalda d01ebca03a Bug 26929: Fetching macros for Advanced Editor should ignore default pagesize
The REST API has a default page size of 20, controlled by the preference
RESTdefaultPageSize. That's fine for things that are fetched to display
in pages of 20, but for things like macros in the Advanced Editor that
don't implement paging, it's awkward, since when you create your 21st
macro, it disappears the next time you open the editor.

The Advanced Editor should instead disable paging by passing the param
_per_page=-1

Test plan:

1. Set the preference EnableAdvancedCatalogingEditor to Enable. While you
   are there, set the preference RESTdefaultPageSize to 2, so you don't have
   to create 21 macros to see one disappear
2. Cataloging - Advanced editor - Macros
3. Click New macro..., give it the name 1, then repeat for 2 and 3
4. You have a list of macros open with all three listed, so far so good.
   Refresh the browser page and reopen Macros. You now have two macros
5. Apply patch, refresh the page, reopen Macros. You now have three macros
6. You should probably reset that RESTdefaultPageSize back to 20 if you
   aren't about to reset ktd

Sponsored-by: Chetco Community Public Library
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit e47be6f895)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:17:47 +00:00
Adolfo Rodríguez edb762a28e Bug 37840: Fix item status in the Intranet detail page when the item has a item type not for loan
When the item type is not for loan, the item status must be "Not for loan". Now in the Intranet status is Available while in the OPAC it's Not for loan.

Test plan:
1 Define an item type as "Not for loan"
2 Add or edit an item so that its item type is "Not for loan"
3 Check that the status in the Intranet detail page shows Available while the OPAC detail page shows "Not for loan"
4 Apply patch, restart services
5 Check that the status is now "Not for loan" in both Intranet and OPAC

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 326c0156f4)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:08:40 +00:00
Phil Ringnalda 94c433565f Bug 37914: Forms for budget planning filters and export should GET rather than POST
Because of the bug 36192 CSRF protection, we intend not to have forms that
POST without a param named 'op' with a value starting with 'cud-'. Because
of bug 37728, a few were missed, including the 'Filters' form that lets you
switch between planning budgets by month or by itemtype or by library, and
the 'Export' form that lets you save your planning as a .csv file. Neither
one has any need to POST, they can just be the GET they naturally are.

Alas, the default data won't let you exercise everything, so there's a lot of
setup before the actual testing.

Test plan:
 1. Patrons - search for Acevedo - More-> Set permissions - check
    Acquisitions management and Save
 2. Administration - Authorized values - Asort1 - New authorized value for
    Asort1 - value Q1, description First Quarter, then repeat for Q2, Q3, Q4
 3. Administration - Budgets - New budget - give it a start date of today,
    end date of a year from today, a description, a total amount of
    100000.00, for Statistic 1 done on choose Asort1
 4. Click the name of your new budget - New-> New fund for (name) - give it
    the code my, name My money, amount 75000.00 and Submit
 5. New-> New fund for (name) - give it the code his, name Henry's money,
    amount 25000.00, and click Select owner, find Henry and Select, then
    Submit
 6. Acquisitions - click Search on an empty search box to find the only
    vendor - New-> Basket - Give it a name and Save
 7. Add to basket - From an existing record (search for something like Perl)
    click any bib record - Add order - set the required item type and click
    Add item
 8. Scroll down to the Accounting details form, change Fund to My money, and
    enter 20.00 for the Vendor price and click Save. You just made that
    fund "active" in the eyes of the Filter form, by spending some of it.
 9. Finally set up. Administration - Budgets - click the name of your budget
10. Planning-> Plan by months
11. In the upper left Filter box, check Show my funds only and Submit - you
    should see Henry's money disappear
12. Uncheck Show my funds only and check Show active funds only and Submit -
    you should see Henry's money disappear
13. Check Show actual/estimated values and Submit, you should see text for
    the actual (only in this month, since that's all you spent) and wee
    little shrunken text boxes for the planning numbers
14. Uncheck all the boxes and change the dropdown from by months to by Asort1
    (either one of it, there being two is bug 34159) and Submit, you should
    have four columns for Q1 - Q4 and only for My money, since Henry doesn't
    use Asort1
15. Click the Auto-fill row button, and Save
16. In the Export form (which isn't much of a form, since you only have a
    choice for the filename) click Submit
17. You should have downloaded a .csv file, and if you open it it should
    have the info from your current planning form.
18. Apply patch, restart_all
19. Repeat steps 9-17, getting the same results you did without the patch

Sponsored-by: Chetco Community Public Library
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e21419b733)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:02:31 +00:00
Phil Ringnalda af8a7d228e Bug 37887: OPAC password recovery needs to use a cud- op while POSTing new password
To pass xt/find-missing-op-in-forms.t after bug 37728 updates it to notice
that there can be more than one form in a template, opac-password-recovery.tt
needs to have a param named 'op' which starts with 'cud-' for the form that
POSTs the new password.

Luckily, testing this doesn't require that you set Koha up to actually send
email (though you can), because you can get the link to reset the password
by looking at the list of notices sent to the patron in the staff interface:
the failure to send notice works just fine.

Test plan:
 1. There's no behavior change to test, you just need to see that resetting
    the password still works, so start with the patch applied.
 2. Administration - System preferences - change OpacResetPassword to allowed
 3. Set a patron so you can use them, which requires that you know the
    username, and they have an email address. I give Acosta, Edna one of
    my email addresses, and copy her cardnumber.
 4. Open the OPAC, and below the login form click the "Forgot your password?"
    link
 5. Enter the cardnumber for Login and the email you used for Email and
    click Submit. If you didn't set up sending email, you'll get an error
    message, but ignore it, not a problem
 6. Back in the staff interface, check out to the patron you are using, and
    on the left sidebar choose Notices and find the Koha password recovery
    notice and click that linked phrase
 7. In the popup with the notice text, open the recovery link in a new tab
 8. Following the instructions for the content of a new password, enter one
    in both fields and click Submit
 9  In the success message, click the link to Log in to your account and
    log in with the new password

Sponsored-by: Chetco Community Public Library
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9e43658e6f)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:02:00 +00:00
Jonathan Druart 01bb93dd91 Bug 37857: Add callnumber and geo_point for new search fields
It is missing "Geo point" and "Call Number" from the options of
"Type" when creating a new search field.

Test plan:
Go to the elastic mapping config page, bottom of the page.
Notice that after this patch you see the 2 options in the dropdown list.

Signed-off-by: Chloe Zermatten <chloe.zermatten@ptfs-europe.com>
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>
(cherry picked from commit 1c82782759)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 22:01:42 +00:00
Phil Ringnalda 8fb9c99b34 Bug 34159: Budget planning shouldn't add every authorized value starting with A
In aqplan.pl there are two different sets of params for things you can plan
by: for the toolbar "Planning" menubutton the script looks up what AVs are
used for "Statistic 1|2 done on" for the budget's fund(s), and passes them to
the template which knows to hardcode the MONTHS, ITEMTYPES, and BRANCHES
choices, but for "Select planning type" in the Filter sidebar box, the
script inserts the harcoded ones itself, adds in the ones used by a fund,
and for no apparent reason adds in every authorized value category that starts
with the letter A and has at least one value. Those things do not actually
work, because for things other than the hardcoded ones the script checks
whether they are in a fund's "Statistic 1|2" and if not refuses to let you
plan by them.

Test plan:
 1. Administration - Budgets
 2. If you don't have a budget, create one and add a fund to it,
    but with the default data click the name Main budget
 3. In the row for Main fund, click Actions->Edit
 4. For Statistic 1 done on choose an authorized value which does not start
    with A, like BOR_NOTES, and Save
 5. In the top toolbar, Planning->Plan by months
 6. In the sidebar Filter box, note that there is an option to plan by
    AR_CANCELLATION even though you didn't select that for Statistic 1
 7. Select the by BOR_NOTE choice and Submit
 8. Note that you now only see Main fund, because that's the only one
    which uses that AV
 9. Select the by months choice and Submit, see that it changes back, then
    select the by AR_CANCELLATION choice and see that nothing is displayed,
    select the by months choice again and Submit, see that the display is
    now completely broken
 9. Apply patch, restart_all, reload the page
10. Note that the AR_CANCELLATION choice is gone, and all the choices
    you do have work correctly

Sponsored-by: Chetco Community Public Library
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit db42742a3a)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:57:02 +00:00
Lucas Gass 5891cce7f5 Bug 37757: DBRev 24.05.05.002
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:55:39 +00:00
Tomas Cohen Arazi 5eb905b67a Bug 37757: (follow-up) Adjust existing tests
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1740a293eb)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:55:39 +00:00
Tomas Cohen Arazi 9f592cdafd Bug 37757: (follow-up) Warn on bad values and survive
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>
(cherry picked from commit d50aa6aa72)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:55:39 +00:00
Tomas Cohen Arazi f5c0c34754 Bug 37757: Make notice_email_address() handle EmailFieldPrimary values more robustly
This patchset makes:

* The EmailFieldPrimary value 'OFF' be replaced by an empty string
* Koha::Patron->notice_email_address() handle the empty case more
  gracefully

To test:
1. On main, manually set the EmailFieldPrimary syspref to empty
   $ ktd --shell
  k$ koha-mysql kohadev
   > UPDATE systempreferences SET value='' WHERE variable='EmailFieldPrimary';
2. Enable `AutoEmailNewUser`
3. Create a new user
=> FAIL: Koha explodes like:
```
The method Koha::Patron-> is not covered by tests!

Trace begun at /kohadevbox/koha/Koha/Object.pm line 992
Koha::Object::AUTOLOAD('Koha::Patron=HASH(0xaaaae37ac550)') called at /kohadevbox/koha/Koha/Patron.pm line 1662
Koha::Patron::notice_email_address('Koha::Patron=HASH(0xaaaae37ac550)') called at /kohadevbox/koha/members/memberentry.pl line 448
...

4. Apply this patches
5. Run:
  k$ updatedatabase
=> SUCCESS: Update succeeds
6. Restart all and retry creating a patron
=> SUCCESS: It worked!
7. Sign off :-D

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>
(cherry picked from commit b262e350f1)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:55:39 +00:00
Tomas Cohen Arazi d3de26092e Bug 37757: Update EmailFieldPrimary value
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>
(cherry picked from commit 79ffb8841b)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:55:38 +00:00
Tomas Cohen Arazi 5d2b3fe488 Bug 37757: 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>
(cherry picked from commit 24f84f11a2)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:55:38 +00:00
Nick Clemens bcdec4356d Bug 37396: Add missing cud-checkout op to form
To test:

1. Set the system preference 'OverduesBlockCirc' to 'Ask for Confirmation'
2. Enable the BatchCheckout system preference
3. Checkout an item to a patron and backdate the due date so that it is overdue.
4. Attempt to checkout an item or a set of items using the Batch Checkout feature. The batch checkout page will ask you to confirm the checkouts because the 'Patron has 1 overdue item'.
5. Confirm the checkout and go to the patron's holdings table. The items you checked out via the batch checkout were not issued to the patron.
6. Apply patch
7. Repeate batch checkout
8. Confirm the checkout
9, Items are successfully issued!

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit d982cbd2a7)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:48:19 +00:00
Baptiste Wojtkowski 7ccbcc3037 Bug 37629: Link to news are broken
When browsing news in the opac (opac-main.pl), links in the titles of
news are broken. The id pasted in the link is the id from the
additional_contents_localizations instead of the id from
additional_contents.

TEST PLAN:
1 - In intranet create a news with multiple languages
2 - Create a second news
3 - In OPAC, the link of the title of the second news (and maybe the
    first) should be broken APPLY PATCH
4 - In OPAC, the link of the title of both news should work

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 173fee41e7)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 21:48:19 +00:00
Tomas Cohen Arazi 1ac8e5515e Bug 37679: Add DC subtypes to allow-list in opac-export.pl
Bug 37370 added an allow-list of formats for exporting in the OPAC. But
it missed the fact there was a modal for choosing DublinCore subtypes
when Dublin Core is chosen in the first place.

This patch fixes this.

To test:
1. On a fresh KTD, make sure `OpacExportOptions` has all options enabled
2. Go to the OPAC and pick a record detail page
3. Choose Save record > Bibtex
=> SUCCESS: The save dialog for bibtext works
4. Repeat for DublinCore, choose any of the sub formats in the modal
=> FAIL: You get a 400 page
5. Go back to 2
6. Apply this patch, and repeat 4
=> SUCCESS: It works!
7. Without refreshing the page, disable DublinCore in the sysprefs
8. Choose any subformat and proceed
=> SUCCESS: You get a 400! This means the subformats are only considered
if DublinCore  itself is enabled
9. Sign off :-D

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f028769af8)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:52:12 +00:00
Emmi Takkinen 9b10f3f9ac Bug 37032: Fix typo in holds.yaml
There is a typo in holds.yaml which prevents
fetching item as embeded object. Option
"collectionFormat" should be under "x-koha-embed",
not "items" array.

To test prove t/db_dependent/api/v1/holds.t.

Sponsored-by: Koha-Suomi Oy
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>
(cherry picked from commit 90cb30c94b)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:50:59 +00:00
David Cook 669b096bb0 Bug 34346: Show error message instead of 500 for duplicate tags
This change shows a user-friendly error message instead of a 500 error
if adding a duplicate MARC tag to a MARC bibliographic framework.

Test plan:
0. Add patch and koha-plack --reload kohadev
1. Go to
http://localhost:8081/cgi-bin/koha/admin/marctagstructure.pl?searchfield=264&frameworkcode=
2. Click "New tag"
3. Enter "264" in "Tag:" field
4. Click "Save changes"
5. See error message on screen (instead of 500 error)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Bug 34346: Tidy

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Slightly adjusted error message and added punctuation.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a24829939e)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:50:42 +00:00
Jonathan Druart 935ae536c8 Bug 37628: (follow-up) Remove get_opac_news_by_id
Keep the same behaviour, but wondering why we don't return 'content'
when there is no match.

ie.
+    is( $additional_contents, undef );
should certainly be
+    is( $additional_contents->{content}->count, 0 );

WNC amended patch - tidied

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8830cd7eff)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:50:24 +00:00
Noémie Ariste 7776ebc178 Bug 34610: Update deprecated ProtectSuperlibrarian string
Test:
1. Set ProtectSuperlibrarianPrivileges system preference to Allow only
   superlibrarians
2. Give superlibrarian permissions to a user (User 1)
3. Give catalogue, borrowers, permissions, and staffaccess  permissions
   to a second user (User 2)
3. Login as User 2
4. Go to User 1 permission settings page.
5. Hover over the Select all and Clear all links.
6. Check the message that appears contains
   ProtectSuperlibrarianPrivileges and not ProtectSuperlibrarian

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ce24cdc1da)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:46:38 +00:00
Emily Lamancusa b7fe101b57 Bug 37562: (QA follow-up) Remove FIXME
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 003479cc30)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:46:20 +00:00
Nick Clemens 5e9315eee8 Bug 37562: Add patron title to duplicate patron warning and don't show popup if cannot see patron
This patch passes the suspected duplicate to the template and uses patron title to display very brief info.
If the user cannot view the patron there is no longer a link tot he brief popup and they will only see
'A patron from library X"

There is a FIXME asking if we should use search_limited - I believe we should check all branches, so the staff can ask the patron if they
have an exising account in a consortium depending on rules about multiple cards

To test:
 1 - Edit a user to grant catalogue and all borrower permissions except 'view_borrower_infos_from_any_libraries'
 2 - Find a patron from a different library and note surname and firstname
 3 - Login as the patron above
 4 - Enter a new patron with the same surname and firstname
 5 - See the 'Duplicate patron' warning
 6 - Click to view the patron
 7 - No info is listed
 8 - Apply patch
 9 - Reload and resubmit - or fill out form again
10 - Note that you see 'A patron from library XXX' and no popup link
11 - Add view_borrower_infos_from_any_libraries to the staff
12 - Repeat the duplication and confirm the warning now has patron name and the popup link is visible and works

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bdf224c653)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:46:20 +00:00
Owen Leonard ef7362b62b Bug 37595: Double HTML escaped ampersand in pagination bar
This patch removes escaping of ampersands in the part of
guided_reports.pl that builds information for the pagination routine.
The information is going to be escaped in a later step.

To test, apply the patch and go to Reports.

- If necessary, create a report which will return more than 20 results.
- Run the report. You should see a pagination bar at the top of the
  table of results.
- View the page source and look for the markup for the pagination menu.
  Searching for 'rel="start"' works well.
- Confirm that you see '&amp;' between the link parameters instead of
  '&amp;amp;', e.g.

  guided_reports.pl?id=347&amp;op=run&amp;limit=20&amp;want_full_chart=0&amp;page=1

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f8c85ab26b)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:44:02 +00:00
CJ Lynce e2181cf1b7 Bug 37580: Unique Holidays Description are not editable
Holiday names and descriptions are not editable after creation in
    tools/holiday.pl.
This patch corrects this regression.

To test:

1) Login to staff client
2) Open Tools -> Calendar
3) Click on a date and create a holiday with name and description.
4) Save holiday.
5) Click on newly created holiday on calendar and edit the name and
   description.
6) Re-Save Holiday.
7) Click again on holiday, and see that name and description changes
   did not save.
8) Apply patch
9) Repeat steps 5-7
10) Verify that changes now save.

Sponsored-by: Westlake Porter Public Library
Signed-off-by: Martha <msulllivan@rcls.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 27d6f65662)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:43:34 +00:00
Jan Kissig 3460eaa617 Bug 37535: Adding a debit via API will show the belated patron as the librarian that caused the debit
This patch fixes the addPatronDebit route so that the librarian that caused the debit is taken from either the requests payload user_id or if not set from the api user.

Test plan:

 a) enable system preference RESTBasicAuth
 b) use a REST client to send a POST request with the following JSON body to http://localhost:8081/api/v1/patrons/5/account/debits

{
  "amount": 1.23,
  "description": "some description",
  "internal_note": "internal_note",
  "type": "MANUAL"
}

 Authentication username and password is "koha"
 c) verify that "user_id" is the same as patron_id in response.
 d) send a different request including user_id to the same endpoint
{
  "amount": 1.23,
  "description": "some description",
  "internal_note": "internal_note",
  "type": "MANUAL",
  "user_id": 19
}

 e) verify that "user_id" is the same as patron_id in response.
 f) apply patch and repeat step b) and d)
 e) verify that user_id in b) is now 51 (which is the borrowernumber of koha user)
 f) verify that user_id in d) is now 19 as defined in request
 g) recheck on http://localhost:8081/cgi-bin/koha/members/accountline-details.pl?accountlines_id=<account_line_id> (from response) that column Librarian now says the user from user_id

 h) sign off :)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1293980793)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-18 18:40:08 +00:00