In the code of the OPAC, the "Lists" dropdown menu is supposed to
display max. 10 lists and display a button "view all" if there are more
than 10 lists.
The button "view all" is always displayed and it is weird when there
are few lists because "Public lists" and "Your lists" do the same.
Test plan:
1 - On an OPAC with less than 10 public lists and 10 private lists,
navigate to /cgi-bin/koha/opac-shelves.pl, click on the dropdown see
there is a view all button for both types of lists
2 - APPLY PATCH
3 - Repeat 1, notice the buttons disappeared
4 - Create lists so there are >10 public and >10 private lists
5 - Repeat 1, notice the buttons reappeared
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 88a292af36)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch adds some variable checks and corrects some others so that
the course reserve detail template doesn't show empty parentheses.
To test, apply the patch and create a course if necessary.
- Add an item to the course.
- After submitting a barcode, check the checkbox next to each option and
select a different value (item type, collection, etc.).
- View the course details and check the columns for the fields you
changed. They should display the correct information:
"Updated field value (Original field value)"
- Add another item but this time don't change any options. The
information should be display as:
"Unchanged (Original field value)"
- There should be no instances where it looks like:
"Field value ()"
Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.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 753659589a)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch splits the CollapseFieldsPatronAddForm system preference
into a list in the template and then uses grep to find exact matches
for each field.
Test plan:
1. Edit CollapseFieldsPatronAddForm system preference and
check the Non-patron guarantor and a few other fields, but
not Guarantor.
2. Go to add a patron that can have a guarantor.
3. Note both guarantor fields are collapsed.
4. Apply patch, reload/
5. Note only expected fields are collapsed.
6. Confirm other fields continue to work as expected.
Signed-off-by: David Nind <david@davidnind.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 c6c36aa870)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Test plan:
==========
1. In Administration > MARC bibliographic, from framework menu on the
right, prepare a csv file with framework export.
2. Try to import the fili into Default framework.
3. This should fail, with a redirect to a strange looking page, and
with lots of errors in the logs.
4. Apply the patch ; restart all.
5. Repeat p. 2. You should succeed and you should be able to see the
differences in the framework (if you exported from a different
framework).
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.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 82707f469e)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch adds a "page-section" wrapping div around reports results
pages where it is missing.
Note: This patch contains indentation changes.
To test, apply the patch and test the following reports, confirming that
the results page looks correct:
- Patrons with the most checkouts
- Acquisitions statistics
- Patrons with no checkouts
- Patrons statistics
- Most-circulated items
- Catalog statistics
- Average loan time
- Circulation statistics
- Lost items
- Catalog by item types
- Holds statistics
Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.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 bf1e45e490)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch makes the `to_api()` method return an proper exception when
the `$self->biblioitem` accessor returns `undef`. This is a bad data
scenario and we could do better in terms of logging the situation.
The new exception will be correctly rendered in the logs by the
`unhandled_exception` Mojolicious helper and no behavior change on the
API.
I wasn't sure to keep the api tests I wrote. I originally added handling
for the specific exception in the controller, but it become obvious it
was not worth: too much code, the `GET /biblios` endpoint would need the
same treatment, etc. And the current `500 Internal server error` is good
enough as a response, and the logs explain the situation correctly.
To test:
1. On a fresh `KTD` pick a biblio (say biblionumber=1)
2. Use your favourite REST tool (Postman?) to access the record with
`Accept: application/json`. i.e.
```
GET kohadev.localhost/api/v1/biblios/1
Accept: application/json
```
=> SUCCESS: All good
3. Delete the related `biblioitems` row:
$ ktd --shell
k$ koha-mysql kohadev
> DELETE FROM biblioitems WHERE biblionumber=1; \q
4. Repeat 2
=> SUCCESS: You get a 500 error
5. Check the logs
=> FAIL: You get a cryptic message about accessing a method on an
undefined object:
```
2025/02/13 13:15:00] [ERROR] GET /api/v1/biblios: unhandled exception (Mojo::Exception)<<Can't call method "to_api" on an undefined value at /usr/share/koha/Koha/Biblio.pm line 1433.>>
```
6. Apply this patch
7. Restart things:
k$ restart_all
8. Repeat 2
=> SUCCESS: You get a 500 error
9. Check the logs
=> SUCCESS: You get a more meaningful exception:
```
[2025/02/13 13:20:00] [ERROR] GET /api/v1/biblios/1: unhandled exception (Koha::Exceptions::RelatedObjectNotFound)<<Exception 'Koha::Exceptions::RelatedObjectNotFound' thrown 'The requested related object does not exist' with accessor => biblioitem, class => Koha::Biblioitem>>
```
10. Run the tests:
k$ prove t/db_dependent/Koha/Biblio.t \
t/db_dependent/api/v1/biblios.t
=> SUCCESS: They pass!
11. Sign off :-D
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 03ae61e9f8)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
There is certainly something better to do as the xsl for the OPACDetail
is calling it only once, but it needs more work.
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.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 ccc66e682b)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
To test:
1/ Turn on POS
2/ Enable Cash registers
3/ Configure some items for sale
4/ Make some POS transactions
5/ Visit pos/register.pl?registerid=x
6/ Notice the problem described
7/ APPLY PATCH and regenerate CSS ( https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface )
8/ Look at the table again. The rows should now be correctly highlighted.
Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
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 3cc9282e7b)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch corrects a syntax error that prevented the string
"Items selected" from being picked up by the translation tool.
To recreate:
1. Go to Item search
2. Click 'Search'
3. Select one or more results
--> In the bar at the top of the results there is a rectangle with "Items selected: N XClear"
4. Install another language (e.g. fr-CA)
4.1. For ktd, do the following commands
ktd --shell
gulp po:update --lang fr-CA
Ctrl+D (exit shell)
ktd --root --shell
koha-translate --install fr-CA --dev kohadev
koha-translate --update fr-CA --dev kohadev
4.2. Go to Administration > System preferences
4.3. Search for StaffInterfaceLanguages
4.4. Check fr-CA
4.5. Click 'Save all I18N/L10N preferences'
5. Redo steps 1-3 in French
--> "Items selected" is not translated
6. Apply patch
7. Update translations
(for ktd)
ktd --shell
gulp po:update --lang fr-CA
8. Open misc/translator/po/fr-CA-staff-prog.po
9. Search for "Items selected"
--> It should be there, with a fuzzy flag
10. Translate the phrase in msgstr and remove the line with the fuzzy flag
11. Apply translations
(for ktd)
ktd --root --shell
koha-translate --update fr-CA --dev kohadev
12. Redo steps 1-3 in French
--> "Items selected" is now translated!
Signed-off-by: David Nind <david@davidnind.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 8ef667a0b4)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch corrects the class of the submit button on the cash register
statistics page. Bug 32091 added the "btn btn-default" class but it
should have been "btn-default."
To test, apply the patch and go to Reports -> Cash register statistics.
The submit button should have the yellow "primary" button color.
Sponsored-by: Athens County Public Libraries
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Button is now yellow.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ab3e951c9c)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch removes duplicate "type" attributes from two inputs in
ill-batch-modal.inc.
I don't know how to test this, but a visual inspection of the changes
should be enough.
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Makes sense
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8d162ec366)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch makes minor markup changes in order for the "Email" menu item
to be styled correctly after the Bootstrap upgrade. The patch also
simplifies the submission of the form by removing unnecessary JS event
handling.
To test, apply the patch and locate a patron record to view.
- Open the "Accounting" tab
- Click "Create manual invoice"
- Put a charge on the patron's account and click "Save and pay"
- Pay the charge
- Click "Transactions"
- In the "Actions" column there should be a "Receipt" menu.
- The "Email" item should be correctly formatted, matching the "Print"
entry.
- Clicking "Email" should result in the page refreshing, with the
message "Receipt sent" at the top.
- If you don't have email set up you can confirm that the message was
queued by creating an SQL report: "SELECT * FROM `message_queue`"
- The report should show the message with the receipt you emailed.
Sponsored-by: Athens County Public Libraries
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>
(cherry picked from commit fbec80904f)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Confirmed that "Reports" is now treated the same way as every
other "title" in the file.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3b207c44cc)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
The FIXME correctly stated that the CheckReserves call and follow-up
only should be executed within the cancel hold scope.
NOTE: Actually, I do not see how to trigger it in current code. Since
checking in a waiting hold triggers the NotIssued error. And the
cancel hold button is not available for holds in queue.
Test plan:
Place a hold on an item.
Checkin at pickup location. Confirm. Hold waiting now?
Try again but checkin at another branch. Transfer triggered?
The hard part (see my note). Try to get at the form where you can
cancel the hold (waiting or first in queue).
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 99b7f5635c)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Test plan:
Enable future holds. Put a positive value in ConfirmFutureHolds.
Add a hold for tomorrow and pickup at B. Check item in at A.
Confirm hold.
Without this patch you should see a warn on L186:
[WARN] Use of uninitialized value in string ne at /usr/share/koha/circ/returns.pl line 186.
With this patch, you should not see it anymore.
NOTE: Before bug 34972 no transfer was created for future holds.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2f0659b1b2)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
The input id was wrong, so instead "else" was handling the flatpickr data
as plain text, which prefilled junk data and therefore resetting value of
"Hard due date" field to "None defined".
To reproduce:
1. Head over to the smart rules admin page and create/use existing rule
for certain item type/category.
2. Set "hard due date" that rule to a certain date and save.
3. Edit that same rule again, but this time save it without any
changes. Do not click or interact with flatpickr field.
Date for hard due date will get lost and will be set as "None defined".
4. Apply the patch.
5. Repeat steps 2 and 3. Ensure that the data loss is not happening
anymore.
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Followed test plan, works as advertised.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9d63fa8130)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch just reverses the order so we display the list, then update it.
To test:
1 - Enable showLastPatron system preference and set showLastPatronCount to 1
2 - Go to a patron, say Ronnie Ballard
3 - Note you have a link to 'Last patron' - hover or click split dropdown and see it is the patron you are viewing
4 - Search for another patron, Edna Acosta
5 - Note the 'Last patron' links point to Edna, and not Ronnie
6 - Apply patch
7 - Reload Edna, note last patron lists Edna
8 - Search for Ronnie
9 - Confirm previous patron is linked to Edna
10 - Click the link to go to Edna
11 - Confirm last patron now links to Ronnie
12 - Instead of following link, click on another tab for patron
13 - Now the link is updated to current patron, this was behaviour before 21246 as well
14 - Sign off.
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 58ec1ed304)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch makes choosing `polling` for the `JobsNotificationMethod`
system preference not be considered problematic or different than
`STOMP`.
To test:
1. In `KTD` make sure you have `STOMP` selected
2. Make sure rabbitmq is running:
$ ktd --shell
k$ sudo -s
$ service rabbitmq-server start
3. Go to the about page, 'Server information'
=> SUCCESS: 'Using RabbitMQ' displayed
4. Stop rabbit
$ service rabbitmq-server stop
5. Repeat 3
=> SUCCESS: Using Rabbit but fallback to polling
6. Go to the 'System information' tab
=> SUCCESS: Error message about the broker not functional
7. Choose 'polling'
8. Repeat 3
=> FAIL: It says 'Using SQL polling' but in bold face <.<
9. Repeat 6
=> FAIL: There's an error about the broker, which we explicitly asked
not to use <.<
10. Apply this patch
11. Repeat 3
=> SUCCESS: Nothing weird, 'Using SQL polling' displayed.
12. Repeat 6
=> SUCCESS: No weird error about the broker.
13. Switch to 'STOMP'
=> SUCCESS: Behavior is the same with/without rabbit running
14. Sign off :-D
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
(cherry picked from commit 9cbc606697)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
In ktd 369 will show the "Encoding error" block:
http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=369
The background color has changed this the bootstrap update and now looks
ugly.
This patch reuse the same color (#f2dede) we had before the upgrade
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>
(cherry picked from commit 6a24b67031)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9a1e7654e5)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Note: there is a minor bug I had to correct, I don't split into two
patches since it is very minor and necessary to test that one.
Patch 1 - (this one) When a user is on serial collection information, the subscription is
not passed to the template, and therefore not passed to serials-toolbar.inc.
This makes sense if collection information is called with a biblionumber
but not if collection information is called with a subscription id.
Consequently, subscription.closed is always false and it is not possible
to reopen a basket.
Patch 2 - User with incorrect permission can close serials, they just
need to access to the page. This is due to serials-toolbar.inc expecting
a variable named "cannotedit", which is provided by
"subscription-details.pl" and not by "serials-collection.pl"
TEST PLAN:
Before applying patches :
1 - log in as a user with only receive_serial permission
2 - Open two pages one on
/serials-collection.pl?subscriptionid=ID_A, another on
/serials-collection.pl?subscriptionid=ID_B
3 - On serial A's collection page, check you can close the serial (wrong
behaviour), note you can close it again but not reopen it
4 - Apply first patch
5 - Check you can reopen the serial (wrong behaviour) keep the page open
6 - On serial B's collection page, close the serial, keep the page open
7 - Apply second patch
8 - On page left open on 3 -, click on close, you are redirected to a
login page.
8 - Go back to serial A's collection page -> there is no close button
anymore
9 - On page left open on 4 -, click on reopen, you are redirected to a
login page
10 - Go back to serial B's collection page -> there is no close button
anymore
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>
(cherry picked from commit 7298dc064f)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Patch 1 - (this one) When a user is on serial collection information, the subscription is
not passed to the template, and therefore not passed to serials-toolbar.inc.
This makes sense if collection information is called with a biblionumber
but not if collection information is called with a subscription id.
Consequently, subscription.closed is always false and it is not possible
to reopen a basket.
Patch 2 - User with incorrect permission can close serials, they just
need to access to the page. This is due to serials-toolbar.inc expecting
a variable named "cannotedit", which is provided by
"subscription-details.pl" and not by "serials-collection.pl"
TEST PLAN:
Before applying patches :
1 - log in as a user with only receive_serial permission
2 - Open two pages one on
/serials-collection.pl?subscriptionid=ID_A, another on
/serials-collection.pl?subscriptionid=ID_B
3 - On serial A's collection page, check you can close the serial (wrong
behaviour), note you can close it again but not reopen it
4 - Apply first patch
5 - Check you can reopen the serial (wrong behaviour) keep the page open
6 - On serial B's collection page, close the serial, keep the page open
7 - Apply second patch
8 - On page left open on 3 -, click on close, you are redirected to a
login page.
8 - Go back to serial A's collection page -> there is no close button
anymore
9 - On page left open on 4 -, click on reopen, you are redirected to a
login page
10 - Go back to serial B's collection page -> there is no close button
anymore
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>
(cherry picked from commit 268d725eab)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Test:
1. Do not apply
2. eslint koha-tmpl/intranet-tmpl/prog/js/ajax.js
3. It should fail
4. ESLINT_USE_FLAT_CONFIG='false' eslint koha-tmpl/intranet-tmpl/prog/js/ajax.js
5. It should work
6. Apply patches
BZ38700 will conflict with BZ38149 on yarn.lock
solve conflict with
sudo yarn install --modules-folder /kohadevbox/node_modules
git bz apply --continue
git will only continue for 38700 and don't actually apply this (38167)
So retry
git bz apply 38167
Don't apply the dependecies are they are already there.
This time you're good :)
(the conflict can't be durably solved because 38770 need to be
applied independently or with BZ38149 depending on what other bug
needs to be tested :/ )
7. Restart KTD to have a clean state of dependencies and check that
provisionning still works.
8. ESLINT_USE_FLAT_CONFIG='false' eslint koha-tmpl/intranet-tmpl/prog/js/ajax.js
9. It should fail
10. eslint koha-tmpl/intranet-tmpl/prog/js/ajax.js
11. It should work
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>
(cherry picked from commit e83a605f25)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
And upgrade eslint-plugin-prettier
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.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 3961a3fa55)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Test plan
1. Apply patch
2. Start KTD (to check that stuff is installed automatically)
3. Run this:
ESLINT_USE_FLAT_CONFIG='false' eslint koha-tmpl/intranet-tmpl/prog/js/ajax.js
4. You should see errors from prettier in addition to others
QA notes:
1. Run this:
yarn why eslint; yarn why prettier; yarn why eslint-config-prettier; yarn why eslint-plugin-prettier
2. See that the version are the latest from NPM website
3. See that they are in devDependencies
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.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 9a40d4418c)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch fixes and incorrect template variable name, making it
possible to see a library's SMTP server when viewing the details of an
individual library.
Test plan copied from the original bug report:
1. Create an SMTP server in Koha (it doesn't need to be valid)
a. Go to Administration -> Additional parameters -> SMTP servers
b. Click "New STP server"
c. Fill all mandatory fields (it doesn't need to be valid
information)
d. Click "Submit"
2. Add the created SMTP server to a library
a. Go to Administration -> Basic parameters -> Libraries
b. Choose a library and click on Edit (in column "Actions")
c. On the line "SMTP server" select the server created
d. Click "Submit"
3. Check the display
a. Go to Administration -> Basic parameters -> Libraries
b. Check that the name of the SMTP server you just selected is
displayed in the column SMTP server
c. Click on the name of the library you modified
d. Check that the line "SMTP server" shows the correct information.
4. Test with different permissions
a. If the logged-in user has both 'manage_libraries' and
'manage_smtp_servers' permissions the SMTP server name should be
liked to the edit form for that server.
b. If the logged-in user has only 'manage_libraries' permission there
should be no link.
Signed-off-by: Bo Gustavsson <bosse@gustavsson.one>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1a71b5f70e)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This change only shows the "Edit" on the smtp_servers.pl page
for the "Current default configuratio" if the default
configuration can be edited. That is, don't show it when
config comes from the code, and do show it when the config
comes from the database.
Test plan:
0. Apply the patch
1. Go to /cgi-bin/koha/admin/smtp_servers.pl
2. Ensure you delete any SMTP servers you've defined
3. Note that there is no "Edit" button at the bottom of
"Current default configuration"
4. Click "New SMTP server" and create a new default server
5. Go to /cgi-bin/koha/admin/smtp_servers.pl
6. Notice how now there is an "Edit" link at the bottom of
"Current default configuration"
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Followed the test plan, works as advertised.
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 322072a4bb)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch prevents the loss of notes in serials when generating next serial
Test plan:
1 Create a subscription, fill the notes field for the serial with Expected status and activate the system preference PreserveSerialNotes
2 Click Generate next
3 Check that the notes from the now Late serial are gone and that the new serial doesn't have notes.
4 Apply patch, restart services
5 Edit the serial with Expected status to fill the notes field.
6 Click Generate next
7 Check that the notes from the now Late serial are kepts and that they have been copied to the new serial.
Signed-off-by: David Nind <david@davidnind.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 117b7eb0eb)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
The translation script explodes without meaningful error when
"incorrect" structure is found (edit)
Found when working on bug 38714, the translation script can break with
an error that does not directly point to the problematic string
[13:00:23] Error: Command failed: misc/translator/xgettext.pl --charset=UTF-8 -F -o /tmp/koha-2rwDEm/Koha-opac-bootstrap.pot -f /tmp/koha-2rwDEm/files
Can't use an undefined value as a HASH reference at misc/translator/xgettext.pl line 131.
at ChildProcess.exithandler (node:child_process:422:12)
at ChildProcess.emit (node:events:517:28)
at ChildProcess.emit (node:domain:552:15)
at maybeClose (node:internal/child_process:1098:16)
at ChildProcess._handle.onexit (node:internal/child_process:303:5)
at Process.callbackTrampoline (node:internal/async_hooks:128:17)
[13:00:23] 'po:update' errored after 992 ms
Test plan:
0. Use main and confirm that `gulp po:update --lang LANG` returns
successfully
1. Apply the first patch
=> The error is
Can't use an undefined value as a HASH reference at misc/translator/xgettext.pl line 131, <$INPUT> line 80.
2. Apply this patch
=> The error is now:
Incorrect structure found at ./koha-tmpl/intranet-tmpl/prog/en/modules/admin/branches.tt:230: '<option value="*" ' at misc/translator/xgettext.pl line 124, <$INPUT> line 100.
Which is way more interesting to fix the problem as we know exactly
where the problem comes from
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3a5d8d51ca)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Starting with Koha 24.11.01, we can no longer link authorities with
other authorities (linking a bibliographic record with an authority
still works fine). This affects both MARC21 and UNIMARC instances,
and is valid on the main branch, too.
This patch fixes that.
Test plan:
1) Navigate to Koha's Authorities module and create a new authority
(using the 'Default' authority type). In tab 5, expand field 500
by clicking on its description.
2) Launch the Authority finder form by clicking on the small 'Tag
editor' button on the far right of subfield 500$a.
3) Click the yellow 'Search' button at the bottom of the page.
When the results appear, click on the '+ Choose' button for
one of the authorities (any authority will do).
Notice that nothing happens and the Authority finder stays open,
whereas normally it should close automatically at this point and
transfer you back to the authority editor, copying the info from
the authority you selected into the subfields of field 500.
Press F12 (works in Chrome and Firefox) to launch the Developer
Tools of your browser and notice that in the JavaScript console
the following error message has been registered:
"Uncaught TypeError: e is null"
4) Apply this patch (and restart_all for good measure), then press
CTRL-F5 to reload all JS assets.
5) Repeat step 3) above; this time, when you click on the '+ Choose'
button the authority finder window will close and the contents of
the authority you selected will be copied into the subfields of
field 500.
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>
(cherry picked from commit 48aad541cc)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch adds a conditional to ensure the biblio object has been retrieved
and assumes no cover images otherwise. This is similar to bug 37425 that
fixed the issue for the staff interface.
Test plan:
1. Enable the OPACLocalCoverImages system preference.
2. Search in the OPAC (for example, attic).
3. Find the biblionumber for one of the results and delete it
from the database using SQL:
DELETE FROM biblio WHERE biblionumber=3;
4. Search again.
NOTE: Steps 3 and 4 need to be done very quickly to generate the error.
I had the terminal open with the SQL already loaded, and the browser
also open.
5. Error trace generated:
Can't call method "cover_images" on an undefined value at /kohadevbox/koha/opac/opac-search.pl line 702.
at /kohadevbox/koha/opac/opac-search.pl line 701
6. Reindex, confirm error is gone: koha-rebuild-zebra -d -f -v kohadev
7. Apply the patch.
8. Repeat steps 2 to 4 - I searched for perl and used biblionumber 13.
9. No error generated
10. Reindex and repeat search and confirm no error.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ed3481786f)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
prepare_cgi_additional_field_values needs to consider a field value as empty, because a MARC get field will always be submitted empty, and then picked up and handled by set_additional_fields accordingly.
But because we don't want to polute the database with tons of empty additional fields if many empty repeatable fields were submitted in the UI, the check for empty value still happens, but only after the MARC get check has happen, not before.
Signed-off-by: Baptiste <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.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 f9561c59c2)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
updates description "PROC: _PERM_ - causes an item that is in the Processing center to be updated to it's permanent location." to "PROC: _PERM_ - causes an item that is in the Processing center to be updated to its permanent location."
to test:
- go to Administration/System preferences
- check descriptionss for system preferences UpdateItemLocationOnCheckout and UpdateItemLocationOnCheckin
- verify descriptions contain "it's" instead of "its" in the place "PROC: _PERM_ ..."
- apply patch
- verify descriptions have changed to "its"
Signed-off-by: Aude <aude.charillon@ptfs-europe.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 489d8a47a3)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This change makes Koha use "notice_email_address" instead of "email" for
SendAlerts with a type of "issue". This brings SendAlerts more in line with
the rest of Koha
Test plan:
0. Apply the patch
1. Create a subscription
- Go to http://localhost:8081/cgi-bin/koha/serials/serials-home.pl
- Click "New subscription" and follow the prompts / fill out
required fields
- On the first screen, ensure "Patron notification" says "New serial issue"
(You can edit this after creating the subscription if necessary)
2. Click "subscribers" next to "Patron notification: SERIAL_ALERT"
3. Log into the OPAC, go to the bib record for that subscription, click "Subscriptions",
and click "Subscribe to email notification on new issues" and click "Yes" on the subsequent
screen
4. Edit your patron record and make sure you have an email in "Secondary email" and not "Primary email"
5. Set up a SMTP server for your Koha or some other email delivery mechanism
6. Go to the "Serial collection" for your subscription
e.g. http://localhost:8081/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=1
7. Click "Receive"
8. Mark the serial as "Arrived"
9. Click "Save"
10. Note that you receive an email using your Koha user's "Secondary Email" address
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e72ee54eb5)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This patch corrects the data attribute on "More" buttons which were
incorrectly updated during the Bootstrap 5 upgrade. "data-bs-target" is
corrected to "data-target."
Also fixed are instances of a misspelled class, "ligth" -> "light"
To test, apply the patch and go to Administration -> Identity providers.
- Click "New identity provider."
- In the "Advanced configuration" section, test the "More" buttons
underneath the textareas. Clicking them should expand the hidden
help text and hide the button.
- Perform the same test when updating an identity provider.
Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.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 b138eb0e83)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Change from: [% last_retruned_by | html %]
To: [% last_returned_by | html %]
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e284f9ddb5)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
To test:
1. Have StoreLastBorrower enabled to store Last Returned By.
2. Create account and leave cardnumber empty.
3. Check out and return item with that account.
4. Go to items detail page.
5. See that Last Returned By and, if return is not anonymized, Last Borrower appears blank (you can inspect the fields and see that borrower information is there but not visible). Previous borrower will similarly be blank if it is from an account with no cardnumber.
6. APPLY PATCH
7. Try the items detail page again. You should see the link for 'Last borrower' and/or 'Previous borrower' now as the borrowernumber.
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Works as advertised, with the tiny followup I am providing.
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 90dce0f0f1)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Update the authorized value description for AggregatedFullText in
the ERM_PACKAGE_CONTENT_TYPE category from "Aggregated full" to
"Aggregated full text".
Test plan:
1. Go to Administration > Authorized values.
2. Check the authorized values for the ERM_PACKAGE_CONTENT_TYPE
category.
3. Note that the description for AggregatedFullText is
"Aggregated full".
4. Apply the patch.
5. Update the database: updatedatabase
(Bonus: To check for new installations: reset_all)
6. Refresh the page and note that the description is
now "Aggregated full text".
Signed-off-by: David Nind <david@davidnind.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 3fb75be0fb)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
When editing a bibliographic record in advanced editor, there are
helpers for fixed data coded fields (like 008). Like in the standard
editor, empty value (space) is represented by a hash sign. But unlike
in the standard editor, the hash sign is not converted into a space but
remains as '#' in the saved record. This is obviously wrong.
Test plan:
==========
1. Ensure to have EnableAdvancedCatalogingEditor set to 'enable'.
2. Create of edit a record, choosing for one of one-letter codes
an empty value (represented by '#' in the helper).
3. Save the record, control in 'MARC preview' that you got a hash sign
in the 008 field instead of a space.
4. Apply the patch ; restart all.
5. Open a record in advanced editor, refresh the page to reload the java
script (Shift+Ctrl+R or another appropriate shortcut). Edit the 008
field again choosing for one of one-letter codes an empty value.
6. Save the record, control in 'MARC preview' that there is a space
and not the hash sign.
Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Esther Melander <esther@bywatersolutions.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 37a7222de0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
If a request has a status_alias and that status_alias does not have a lib_opac defined, it'll show as an empty status on the OPAC.
Staff UI always shows the request's status and adds the status_alias only if that is defined. The same should happen on the OPAC.
To test:
1) Enabled ILLModule
2) Create a new ILL request, visit:
http://localhost:8081/cgi-bin/koha/ill/ill-requests.pl?method=create&backend=Standard
3) Add '42' on the cardnumber. Pick any library. Click 'Create'.
4) Add a new 'status_alias' entry, visit the authorized values page:
http://localhost:8081/cgi-bin/koha/admin/authorised_values.pl
5) Search for 'ill_'. Pick 'ILL_STATUS_ALIAS'. Click 'Add a new authorized value'.
6) Enter the 'Authorized value' of 'test', and 'Description' of 'test'. Click 'Save'.
7) Visit the previously created ILL request:
http://localhost:8081/cgi-bin/koha/ill/ill-requests.pl?op=illview&illrequest_id=1
8) Click 'Edit request' from the top toolbar.
9) On the 'Status' dropdown, pick 'test'. Click 'Submit'.
10) Visit the ILL on the OPAC:
http://localhost:8080/cgi-bin/koha/opac-illrequests.pl
11) Notice the 'status' column is empty. Click the 'View', notice the 'status' entry is empty.
12) Apply patch. Repeat
This patch moves the OPACVirtualCard and OPACVirtualCardBarcode system
preferences from the Suggestions subsection of the OPAC preferences to the
Features subsection.
To test:
1. Apply patch
2. Go to Administration > System preferences > OPAC
3. Search the page (Ctrl + F) for OPACVirtualCard
--> The two preferences (OPACVirtualCard and OPACVirtualCardBarcode)
should be in the Features section
Signed-off-by: Aude Charillon <aude.charillon@openfifth.co.uk>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 68325b37e2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>