Commit Graph

58581 Commits

Author SHA1 Message Date
Jonathan Druart 303a3c6a3c
Bug 38944: Revert changes to t/00-testcritic.t
Not sure what's happening here. Skipping it for now.

 t/00-testcritic.t .. 3246/?
 #   Failed test 'done_testing() was already called at /usr/share/perl5/Test/Perl/Critic.pm line 105'
 #   at t/00-testcritic.t line 22.
 t/00-testcritic.t .. All 3249 subtests passed

 Test Summary Report
 -------------------
 t/00-testcritic.t (Wstat: 0 Tests: 3251 Failed: 2)
   Failed tests:  3250-3251
   Parse errors: Plan (1..3249) must be at the beginning or end of the TAP output
                 Bad plan.  You planned 3249 tests but ran 3251.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 17:25:06 +01:00
Jonathan Druart d633edf449
Bug 38944: Revert changes to selenium/01-installation.t
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 17:25:05 +01:00
Jonathan Druart 3839794d31
Bug 38944: Correctly catch warnings raised by DBI
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 17:25:05 +01:00
Jonathan Druart df76c8a9e7
Bug 38944: Manual changes
Not caught by the script

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 17:25:04 +01:00
Jonathan Druart 5b69e6df98
Bug 38944: Add Test::NoWarnings to tests no producing warnings
This has been generated.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 17:25:03 +01:00
Jonathan Druart 6aa9d1160a
Bug 38944: Add new dependency Test::NoWarnings
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 17:25:03 +01:00
Lucas Gass 9580e06e67
Bug 39244: Fix display of change password/duplicate buttons
To test:
1. Make or find some patron categoies that are not adult category type.
2. On patron pages notice that the Change password and duplicate
   buttons are missing from the toolbar.
3. APPLY PATCH
4. Try again, this time the pChange password and duplicate buttons
   should appear.
5. Make sure the 'Add guarantee' buttons still work.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:24 +01:00
Owen Leonard 3054868fc4
Bug 39268: Fix tab switching on lists page
This patch fixes broken tab switching on the staff interface lists page.
It was broken by the upgrade to Bootstrap 5.

To test, apply the patch and go to the Lists page in the staff
interface.

- If necessary, create multiple public and private lists.
- Confirm that switching between the "Your lists" tab and the "Public
  lists" tab works correctly.
- Try using URL parameters to load each tab:
  http://127.0.0.1:8081/cgi-bin/koha/virtualshelves/shelves.pl?op=list&public=0
  http://127.0.0.1:8081/cgi-bin/koha/virtualshelves/shelves.pl?op=list&public=1

Sponsored-by: Athens County Public Libraries
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:23 +01:00
Lisette Scheer 4156022d8a
Bug 39172: Merging records no longer compares side by side
This patch updates the cataloging merge screen to restore side-by-side
comparison.

Both columns had ids added by the patch for formatting purposes.

To test:
1. Go to cataloging module
2. Do a search (in sandboxes/ktd 1 works)
3. Select 2 or more records to merge
4. Click the "merge selected" button
5. Observe there are 2 columns on top of each other instead of side by
   side
6. Apply the patch
7. Restart all & rebuild css
8. Repeat steps 1-4
9. Observe the columns are side by side again.
10. Sign-off

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jason Vasche <jvasche@roundrocktexas.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:23 +01:00
Owen Leonard 9fbbac4402
Bug 38472: (follow-up) Adding and removing a few noExport classes
I think only the "Actions" column on the restrictions page should be
excluded from export. On the acquisitions basket page we need it on the
"Place hold" column.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:22 +01:00
Jonathan Druart 84a923db18
Bug 38472: Remove kohaTable's exportColumns option
We hardcode the id of the columns to export, we should use .noExport
instead on the columns we do not want to export.

Test plan:
Confirm that the columns exported on the acqui/basket, admin/categories
and admin/restrictions pages are the same with and without this patch.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:22 +01:00
Jonathan Druart 742903a419
Bug 39302: Restore item's info
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:21 +01:00
Jonathan Druart d6084a4f58
Bug 39302: Fix logic flaw in the display count of checkins
Checkins can disappear from the checkin list if transfer modal is
triggered.

There is a flaw in the logic of the checkin code: we keep 20 (default
value for numReturnedItemsToShow) checkins in the table, but there can
be shift in the "counter" logic when the transfer modal is triggered.

This patch is removing the different hashes and use a single @checkins
array to pass to the template.
When a item is checked in, it is inserted at the beginning of the list
(unshift). Koha::Objects are passed for patron, item and biblio to
improve the readability (and maintenance cost) of the code.

Test plan:
Generate several checkouts (see below)
Some should generate the transfer modal
Check them in
 => Without this patch notice that at some point there will be a problem
    in the list, some checkins will be missing.
 => With this patch applied the checkin list always contain the last 20
    checkins (or whatever is the value of numReturnedItemsToShow, or "8"
    if pref is empty, don't ask why 8!)

Code to generate 50 checkouts (all overdue):
```
use C4::Circulation qw( AddIssue );
use Koha::Items;
use Koha::Patrons;
use t::lib::Mocks;
use Koha::DateUtils qw(dt_from_string);
my $patron = Koha::Patrons->find(51);
t::lib::Mocks::mock_userenv({patron => $patron});
my $items = Koha::Items->search;
my $patron_unblessed = $patron->unblessed;
my $i;
while ( my $item = $items->next ) {
    my $due = dt_from_string->subtract(days => 45 + rand(45))->set_hour(23)->set_minute(59)->set_second(00);
    AddIssue($patron, $item->barcode, $due);
    last if ++$i >= 50;
}
```
Then retrieve the barcodes:
> SELECT items.barcode FROM issues LEFT JOIN items ON items.itemnumber=issues.itemnumber;

QA:
1. Do not be afraid by the length of this patch, most of the changes are
   variable renames.
2. return_overdue is now only calculated once per checkin (per page
   load, could be improved)
3. date formatting is done template-side

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:21 +01:00
Jonathan Druart ac6c660f27
Bug 39305: Adjust wording
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:20 +01:00
Jonathan Druart 0e4ffd3ae6
Bug 39305: Display a warning on the about page if Plack is not running
CSRF protection is only working if Koha is running under Plack.

The about page is not showing any errors if plack is not running.

Test plan:
0. Do not apply this patch
1. Go to the about page
=> Notice the "PSGI" entry in the "Server information" tab
2. Disable plack
koha-plack --disable kohadev && restart_all
3. Go to the about page
=> Notice that the "PSGI" entry is not displayed, and nothing indicates
that plack is not running
4. Apply this patch
=> "PSGI" now shows "Koha is running in CGI mode. This is a security issue! Use koha-plack --help"

Better wording idea welcome.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:20 +01:00
Katrin Fischer f2163140ac
Bug 39299: (follow-up) Remove additional space between words "No popup"
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:19 +01:00
Martin Renvoize 119eeefe76
Bug 39299: (follow-up) Consistent styling for authorities finder
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:19 +01:00
Julian Maurice 1f0eb3e1dd
Bug 39299: Fix cataloguing plugins in serial item editor
Some CSS classes were missing, causing the corresponding event listener
to not be called.

Adding the missing CSS classes caused the tag editor button to be moved
to the left of the input, because of 'float: left' for .tag_editor
It seems that float:left is useless now, at least in cataloguing where
we use 'display: flex' for those elements, so this patch removes it.

Test plan:
1. Set 'cn_browser.pl' as a plugin for one of the item subfields (e.g.
   952$o)
2. Go to the serial edition page and click on "Add item". This should
   show an item form
3. Click on the tag editor button, the cn_browser.pl popup should appear

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:18 +01:00
Julian Maurice b69492b734
Bug 39299: Fix cataloguing plugins in item editor
Some CSS classes were missing, causing the corresponding event listener
to not be called

Test plan:
1. Set 'cn_browser.pl' as a plugin for one of the item subfields (e.g.
   952$o)
2. Go to the cataloguing module and edit an existing item
3. Click on the tag editor button, the cn_browser.pl popup should appear

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:18 +01:00
Jonathan Druart 73edc6cf38
Bug 39115: get_tt_files should exclude dirs from tt, not js
Silly copy/paste error

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-13 10:29:17 +01:00
Jonathan Druart 10d781c7b9
Bug 38467: (follow-up 2) Update cpanfile - restore Git::Wrapper and Test::PerlTidy
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-12 09:53:58 +01:00
Katrin Fischer cb89b42f81
Bug 38663: DBIC schema update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-11 14:42:04 +01:00
Jonathan Druart 0fb5bc3e04
Bug 35635: Add missing NOT NULL clause in db rev
Jenkins job testing the update DB was failing:

18:11:48 koha_1       | +++ b/Koha/Schema/Result/BorrowerAttributeType.pm
18:11:48 koha_1       | @@ -141,7 +141,7 @@ defines if this field is copied to anonymized_borrower_attributes (1 for yes, 0
18:11:48 koha_1       |
18:11:48 koha_1       |    data_type: 'tinyint'
18:11:48 koha_1       |    default_value: 0
18:11:48 koha_1       | -  is_nullable: 0
18:11:48 koha_1       | +  is_nullable: 1
18:11:48 koha_1       |
18:11:48 koha_1       |  defines if the attribute is mandatory or not in the staff interface
18:11:48 koha_1       |
18:11:48 koha_1       | @@ -149,7 +149,7 @@ defines if the attribute is mandatory or not in the staff interface
18:11:48 koha_1       |
18:11:48 koha_1       |    data_type: 'tinyint'
18:11:48 koha_1       |    default_value: 0
18:11:48 koha_1       | -  is_nullable: 0
18:11:48 koha_1       | +  is_nullable: 1
18:11:48 koha_1       |
18:11:48 koha_1       |  defines if the attribute is mandatory or not in the OPAC
18:11:48 koha_1       |
18:11:48 koha_1       | @@ -185,9 +185,9 @@ __PACKAGE__->add_columns(
18:11:48 koha_1       |    "keep_for_pseudonymization",
18:11:48 koha_1       |    { data_type => "tinyint", default_value => 0, is_nullable => 0 },
18:11:48 koha_1       |    "mandatory",
18:11:48 koha_1       | -  { data_type => "tinyint", default_value => 0, is_nullable => 0 },
18:11:48 koha_1       | +  { data_type => "tinyint", default_value => 0, is_nullable => 1 },
18:11:48 koha_1       |    "opac_mandatory",
18:11:48 koha_1       | -  { data_type => "tinyint", default_value => 0, is_nullable => 0 },
18:11:49 koha_1       | +  { data_type => "tinyint", default_value => 0, is_nullable => 1 },
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-11 14:42:03 +01:00
Jonathan Druart b63388351b
Bug 37273: Fix offset for column filters
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-11 14:42:03 +01:00
Jonathan Druart c73e0b30bd
Bug 28453: Adjust OPAC pagination
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:39 +01:00
Lucas Gass 9c44fe1257
Bug 23674: Add note field the last field in discount modal
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:39 +01:00
Lucas Gass 0e45555302
Bug 23674: Display note of the pay.tt when it exists
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:38 +01:00
Martin Renvoize 3900e22bcb
Bug 23674: (QA follow-up) Re-introduce cud-cancel op
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:38 +01:00
Lucas Gass 41e82c585e
Bug 23674: Account for Bootstrap5 changes
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:37 +01:00
Lucas Gass aeb9bfb269
Bug 23674: Fix duplicate ID's and label
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>
2025-03-10 11:42:37 +01:00
Lucas Gass 994959db48
Bug 23674: Add ability to add note to canceled charge
To test, with this patchset applied:
1) From patron accounting page -> Add a manual invoice
2) Under the transaction tab click 'Cancel charge'
3) You should see a modal that gives you the option to type in a note.
4) Type something in and select submit.
5) Ensure the note shows up in the note column.

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>
2025-03-10 11:42:36 +01:00
Sam Lau 72c60c11b4
Bug 23674: Add ability to add a note to issue refund
To test:
1) Apply patch, restart_all
2) From patron accounting page -> Create manual invoice. Enter some amount and select save and pay. Press confirm.
3) In the transactions tab, for the invoice you just created, under the actions column select issue refund.
4) This should open a modal with the ability to enter a note for the refund. Type in a note and confirm.
5) Ensure the note correctly shows in the table.

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>
2025-03-10 11:42:36 +01:00
Sam Lau c77a3e4da5
Bug 23674: Add ability to add note to void payment
To test:
1) From patron accounting page -> Create manual credit. Put in some amount and press add credit.
2) Under the actions column, select "Void"
3) Notice no option for a note. Press cancel
4) Apply patch, restart_all
5) Press void again. This time, you should see a modal that gives you the option to type in a note.
6) Type something in and select submit.
7) Ensure the note shows up in the note column.

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>
2025-03-10 11:42:35 +01:00
Sam Lau a4d1e9e093
Bug 23674: Add ability to add a note to issue payout
To test:
1) Apply patch, restart_all
2) From patron accounting page -> Create manual credit. Put in some amount and press add credit.
3) Under the actions column, select 'Issue Payout'
4) You can now enter a note. Type something in and press confirm.
5) Ensure the note shows up in the note column.

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>
2025-03-10 11:42:34 +01:00
Sam Lau 2fd4239a10
Bug 23674: Add ability to add a note to pay individual and write-off individual
To test:
1) Apply manual invoice to a patron account
2) Go to the patron record -> accounting -> transaction tab
3) Look for the "Pay" button under the actions column. Click this
4) Notice no place to enter note
5) Click the "Write off" button. Notice there is no place to enter note
6) Apply patch, restart_all
7) Notice that a "Note: " input appears in both the 'Pay' and 'Write off' tabs.
8) Write a not in the pay tab and confirm. Make sure this not shows up in the table.
9) Add another invoice and then test the note functionallity for the write-offs.

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>
2025-03-10 11:42:34 +01:00
Lucas Gass 39ca8feb1a
Bug 23674: Add ability to add a note to APPLY DISCOUNT
To test:
1. APPLY PATCH and restart_all
2. Apply a manual invoice to a patron account.
3. Go to the patron record -> accounting -> transaction tab
4. Look for the 'Apply discount' button.
5. When the 'Apply discount' modal appears notcie the 'Note' field.
6. Add a note, make sure it gets applied to this accountline.

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>
2025-03-10 11:42:33 +01:00
Marcel de Rooy 72d0f23367
Bug 38408: Add parallel exporting in rebuild_zebra.pl
The first part of the Zebra rebuild is the exporting. This part is
made faster. The second part with zebraidx is not changed.

A new commandline parameter -forks is added to the rebuild_zebra.pl
script. A subroutine export_marc_records is added between index_records
and export_marc_records_from_sth. The last routine has a new parameter,
the sequence number of the export file.

NOTE: This report does not touch koha-rebuild-zebra yet! This will be
done on a follow-up.

Test plan:
Note that the number of forks/records below can be adjusted
according to your server and database setup.

[1] Reindex a subset of 100 records without forks:
    su [YOUR_KOHA_USER]
    misc/migration_tools/rebuild_zebra.pl -a -b -r -d /tmp/rebuild01 -k --length 100
    Check if /tmp/rebuild01/biblio contains one export file for auth/bib.
    Verify that max. 100 auth and bib were indexed (check Auth search, Cataloguing)
[2] Reindex an additional subset of 100 recs with forks (remove -r, add -forks):
    su [YOUR_KOHA_USER]
    misc/migration_tools/rebuild_zebra.pl -a -b -d /tmp/rebuild02 -k --length 100 --offset 100 -forks 3
    Check if /tmp/rebuild02/biblio contains 3 export files for auth/bib.
    Verify that max. 200 auth and bib were indexed (check Auth search, Cataloguing)
[3] Run a full reindex with forks:
    su [YOUR_KOHA_USER]
    misc/migration_tools/rebuild_zebra.pl -a -b -d /tmp/rebuild03 -k -forks 3
    Check both searches again.
[4] Bonus: To get a feeling of improved speed, reindex a larger production db with and
    without using -forks. (Use something like above.) You may add -I to skip indexing
    in order to better compare both exports.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Reindexed a prod db in 96 mins instead of 150 mins (3 forks, 4 cores). Main gain in
biblio export; complete export took 35 mins, zebraidx 61 mins.
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:33 +01:00
David Gustafsson 09801ed302
Bug 26744: Cosolidate changes and change log format
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:32 +01:00
Lucas Gass d4c11de65d
Bug 26744: (QA follow up) Tidy
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:32 +01:00
David Gustafsson 6401f56ac6
Bug 26744: Log changes also in modborrowers.pl and when calling add_extended_attribute
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:31 +01:00
Stefan Berndtsson af6f6331c4
Bug 26744: Log changes to extended patron attributes
Log non-repeatable attributes and only log changes and creations, not deletions.
When changed, attributes are first all deleted, then the relevant ones are recreated.
This patch catches all deletions, and checks against them in the creation phase, logging
only the attributes that have changed (with before/after content). This makes it impossible
to log actual deletions.

To test:

1) Ensure tests in  t/db_dependent/Koha/Patron/Attribute.t passes

Sponsored-by: Gothenburg University Library
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu>
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:31 +01:00
Katrin Fischer 046c93d682
Bug 38663: DBRev 24.12.00.018
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:30 +01:00
Katrin Fischer b20074d89b
Bug 38663: (follow-up) Fix heading on additional fields start page
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:30 +01:00
Martin Renvoize a70782ae0a
Bug 38663: (follow-up) Fix new library creation
We were attempting to use the a library method prior to saving the
library for the first time.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:29 +01:00
Martin Renvoize d916e71270
Bug 38663: (QA follow-up) Removed superflous IF
As requested, I've removed the superflous IF statement in the template..
I'll likely be adding it back in as part of the next patch series, but
it makes the history clear this way.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:29 +01:00
David Nind 6f1de6b575
Bug 38663: (follow-up) Heading - Admin to Administration
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:28 +01:00
Martin Renvoize efb19ba778
Bug 38663: (follow-up) Hide additional fields input appropriately
This patch hides the additional fields input on the library add/edit
page when there are no additional fields defined for libraries.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:28 +01:00
Pedro Amorim e501770f92
Bug 38663: Add AdditionalFields to Library
Test plan, k-t-d:
1) Add a new additional field to 'branches':
  <staff_url>/cgi-bin/koha/admin/additional-fields.pl?tablename=branches
2) Click 'New field'. Add a name. Click Save.
3) Repeat step 2 but repeatable. Repeat again for 2 more of AV category
   (one repeatable, one not repeatable)
4) Edit a library:
  <staff_url>/cgi-bin/koha/admin/branches.pl?op=add_form&branchcode=CPL
5) Input various values in the different additional fields. Click
   'Submit'
6) Visit the detail page of the library and verify the additional fields
   data is displayed correctly:
<staff_url>/cgi-bin/koha/admin/branches.pl?op=view&branchcode=CPL

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:27 +01:00
Pedro Amorim 33fb611abd
Bug 38663: DBIC: Add AdditionalFields to Library
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:27 +01:00
Pedro Amorim 03ede9f1fc
Bug 38663: Add libraries table to additional fields admin screen
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-10 11:42:26 +01:00