Matt Blenkinsop [Wed, 12 Jun 2024 09:03:38 +0000 (09:03 +0000)]
Bug 14787: Fix tidying issue in circulation.pl
There are large blocks of code in circulation.pl that are incorrectly indented. This means any new code placed within those blocks fails the QA tests as it automatically adds new untidy lines. This patch tidies the file to remove this issue and start from a clean position in terms of tidyness.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Matt Blenkinsop [Wed, 12 Jun 2024 08:59:54 +0000 (08:59 +0000)]
Bug 14787: Remember confirmations for a patron session
This patch adds functionality that will remember whether an action has been confirmed for a particular patron for the session. While carrying out an action on that patron, if the same checkout confirmation message keeps appearing the user can now select to remember their confirmation while they are still working on that patron. When the user moves onto a new patron the confirmations then reset and accumulate again for the new patron.
Test plan:
We're going to use rental fees as the example to prompt the checkout confirmation dialog. If you wish to use something else to test then feel free, it should work the same. Do not use patron debts though, as we already track a confirmation for this elsewhere and the test plan will appear to fail when in fact it is behaving as expected
1) In system preferences set RentalFeesCheckoutConfirmation to 'ask'
2) Choose a patron and checkout an item to that patron that incurrs a rental charge (in KTD this will be any item that does not have an itype of 'BK', 'REF' or 'VM'
3) A dialog should display asking you to confirm the checkout.
4) There should be a checkbox on the dialog to "Remember for the session for this patron"
5) Click Yes, checkout out without checking this checkbox
6) Select another item and checkout - the dialog should display again
7) This time, check the checkbox and click Yes, check out
8) Checkout another item (depending on your fines limit settings, you may need to pay the rental charges before the system will allow you to checkout again so go ahead and do this)
9) This time the dialog should not appear as the system has remembered our confirmation for this patron for the session
10) Choose a new patron
11) Repeat steps 2 - 9
12) It should work as outlined above
13) Sign off!
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Wed, 24 Jul 2024 19:18:15 +0000 (19:18 +0000)]
Bug 37392: Adjust routines
The current code only handled a single layer of groups - top level setting the features, and libraries directly
underneath.
The code, however, was not correctly checking the features, and was limiting to single like when no restrictions found.
This patch gets the root ancestor for a group, checks the desired feature against than group, then fetches all children
of the current group and makes them allowed - i.e. when a library is in a group, all siblings and descendants in that group
or subgroups can be accessed
I adjust some typos in the tests too, this needs more cleanup in the future, but am submitting for any discussion
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu> Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Tue, 23 Jul 2024 13:26:12 +0000 (13:26 +0000)]
Bug 37392: can_see_things_from is always checking patron visibility
When trying to edit items, we are seeing the button visibility affected by a patron's
permission to view patrons form any library.
This is because can_edit_items_from is calling can_see_things_from - which is ultimately calling
libraries_where_can_see_patrons
That last call should be to libraries_where_can_see_things. This patch corrects that, and passes forward the group feature to check against
To test:
Set up library group:
* Create a library group for library A + B
* Action: Limit item editing by group
Set up test user:
* Create a staff patron with these permissions:
* catalogue
* fast_cataloguing
* edit_items
* view_borrower_infos_from_any_libraries
* edit borrowers
* Home library: library A
Set up test items:
* Create a record with 3 items with different home libraries:
* A
* B
* C
We expect the user will be allowed to edit A and B, but not C.
Test:
* Test editing the items with the test user, only A is allowed to be edited.
* Remove the view_borrower_infos_from_any_libraries permission from test user.
* Test editing items now behaves as expected: A + B are allowed, C is not.
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu> Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Janusz Kaczmarek [Tue, 28 May 2024 20:16:09 +0000 (20:16 +0000)]
Bug 36977: Google does not read sitemaps with the name sitemapNNNN.xml
We have experienced problems with Google indexing: it seems (controlled
in Google search console) that Google does not "like" sitemaps
with a name like sitemapNNNN.xml (does not read them). Changing the name
to sitemap_NNNN.xml miraculously resolves the issue: individual pieces of
sitemap are read as they are declared in sitemapindex.xml.
Test plan:
==========
1. Have your site configured to work with Google search console
(cf. https://support.google.com/webmasters/answer/9008080).
2. Generate sitemap with:
misc/cronjobs/sitemap.pl --dir /var/lib/koha/<instance>/sitemap
(create the directory if necessary)
3. Check with you browser that the sitemap is generated:
http://<OPAC-url>/sitemapindex.xml
Check that the individual pieces are readeable:
http://<OPAC-url>/sitemap0001.xml
4. Go to the Google seach console > Sitemaps > Add a new sitemap
Enter sitemapindex.xml
5. Most probably Google won't read your sitemap chunks with the
warning: "Couldn't fetch".
6. Apply the patch. Repeat p. 2, 3, 4, with the difference of the
chunk name:
http://<OPAC-url>/sitemap_0001.xml
7. You should see Google reading your entire sitemap with the info:
"Success".
Signed-off-by: Michael Skarupianski <michael.skarupianski@gmail.com> Signed-off-by: Michał Kula <148193449+mkibp@users.noreply.github.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Fri, 26 Jul 2024 14:48:17 +0000 (10:48 -0400)]
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl
It would be nice to be able to filter the plugins run by plugins
nightly for development and testing, and for added flexibility
as to when to run cronjob_nightly for different plugins if need be.
Test Plan:
1) Apply this patch
2) Check the metadata for an installed plugin, copy the name or another
metadata value.
3) Run plugins_nightly.pl with a filter that does not match
e.g. plugins_nightly.pl -m name="No plugin has this name"
4) Note no plugins cronjob methods are run
5) Run plugins_nightly.pl with a filter that *does* match
e.g. plugins_nightly.pl -m name="Example Kitchen-Sink Plugin"
6) Not only the matching plugin runs!
7) Run plugins_nightly with no filter
e.g. plugins_nightly.pl
8) Note all plugins with nightly cronjobs are run!
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>
Jonathan Druart [Wed, 30 Oct 2024 08:53:44 +0000 (09:53 +0100)]
Bug 38248: Do not deal with return claims if pref is not set
If the pref is not set we don't embed return_claims and so
row.return_claims will never be set.
When the pref is on, row.return_claims should always be an array.
Test plan:
Same as previous patch
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 37511: Location of the currency symbol (before or *after*) the amount
It is customary in non-English-speaking European countries to write the
currency symbol after the amount and separated from it by a space (e.g.
123 €, 54 zł, 38 Kč). This custom should be taken into account
in Koha::Number::Price::_format_params (by proper use the p_cs_precedes
parameter).
The correct display of the currency is particularly important when using
OPACShowSavings system preference.
Test plan:
==========
1. Enable OPACShowSavings, have some items with defined 'v - Cost,
replacement price'. Check out the items to a patron.
2. Log in to OPAC as the patron. See the amount of 'total savings' on
the main page. Note that the currency symbol precedes the amount.
There is no way to configure the position of the currency symbol.
3. Apply the patch ; updatedatabase.pl ; restart_all.
4. Go to Administration > Currencies and exchange rates. Modify the
active currency unchecking the 'Currency symbol precedes value'
checkbox.
5. Refresh the OPAC page. See that the position of the currency symbol
has been changed.
Sponsored-by: Ignatianum University in Cracow 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>
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>
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>
Kyle M Hall [Tue, 17 Sep 2024 13:37:26 +0000 (09:37 -0400)]
Bug 37944: Log object delete as JSON diff, implement for items
We should store deleted objects as diffs just as we do for modification and item created.
This enhancement will store modification diffs if the action is set to DELETE, and an "original" object is passed in.
Test Plan:
1) Enable CataloguingLog
2) Deletee an item
3) Query the database for the newest action log:
select * from action_logs order by action_id desc limit 1\G
4) Note the diff column is NULL
5) Apply this patch
6) Restart all the things!
7) Delete another item
8) Query the database again
9) Note the diff has been created!
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Tue, 17 Sep 2024 13:26:49 +0000 (09:26 -0400)]
Bug 37943: Log object create as JSON diff, implement for items
We should store newly created objects as diffs just as we do for modifications.
This enhancement will store modification diffs if the action is set to ADD or CREATE and an "original" object is passed in.
Test Plan:
1) Enable CataloguingLog
2) Create an item
3) Query the database for the newest action log:
select * from action_logs order by action_id desc limit 1\G
4) Note the diff column is NULL
5) Apply this patch
6) Restart all the things!
7) Create another item
8) Query the database again
9) Note the diff has been created!
Signed-off-by: Sukhmandeep Benipal <sukhmandeep.benipal@inLibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Thu, 24 Oct 2024 18:17:54 +0000 (18:17 +0000)]
Bug 38266: (bug 21083 follow-up) Increment after comparison
To test:
1 - Define a patron attribute as repeatable
2 - Add multiple values to a patron (I used borrowernumber 5)
3 - Tools->Batch patron modification
4 - Modify the patron from step 1, selecting the attribute you created and checking the box to clear
5 - View the patron, they look correct
6 - Check the DB:
SELECT * FROM borrower_attributes WHERE borrowernumber=5;
7 - There is one blank value
8 - Apply patch
9 - Repeat batch modification
10 - Check the DB, no attribute!
11 - Test with multiple attributes in the batch modification and ensure only the correct one is removed
12 - Sign off
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 38158: Typo in inventory 'Items has no "not for loan" status'
This patch corrects a typo in the inventory tool when an inventory
is done against not for loan items and an item has no not for loan
status.
To test:
1. Go to Cataloging > Inventory
2. Enter a barcode for an item that has items.notforloan = 0 in the "Or scan items one by one" text box
3. Check all the boxes EXCEPT "For loan" under "Optional filters for inventory list or comparing barcodes" > "items.notforloan"
4. Click "Submit"
--> In the "Problems" column, it says "Items has no "not for loan" status"
5. Apply patch
6. Reload the page
--> In the "Problems" column, "Item" should now be singular
Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov> Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Fridolin Somers [Fri, 10 Nov 2023 02:05:43 +0000 (16:05 -1000)]
Bug 35305: (follow-up) Fix identing
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>
Fridolin Somers [Thu, 9 Nov 2023 22:11:04 +0000 (12:11 -1000)]
Bug 35305: Add sample XSLT for UNIMARC authorities details page
Also creates UNIMARCauthUtils.xsl to share templates with UNIMARCauthResults.xsl
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>
Fridolin Somers [Thu, 9 Nov 2023 21:20:43 +0000 (11:20 -1000)]
Bug 35305: Add XSLT for authority details page in staff interface
This adds a new system preference 'AuthorityXSLTDetailsDisplay'.
If set, authority MARCXML will be transformed using the XSLT
at the given filename or URL.
The HTML output will be displayed in place of tabs in details page.
The syspref value can contain {langcode} and {authtypecode} which will
be replaced by the appropriate value (resp. current language and
authority type code).
Test plan:
1) Apply patch and run updatedatabase
2) Search for an authority type GEOGR_NAME and view details page
3) Verify that display is not affected yet
4) Create an XSLT file (for example in /home/koha/xslt/en/GEOGR_NAME.xsl)
5) Set 'AuthorityXSLTDetailsDisplay' system preference to :
/home/koha/xslt/{langcode}/{authtypecode}.xsl
6) Refresh details page
7) Verify that display matches what you expect from the XSLT
8) Set 'AuthorityXSLTDetailsDisplay' system preference to :
<path to sources>/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCauthDetails.xsl
8) Refresh details page
9) Verify that display matches what you expect from your XSLT
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>
Johanna Räisä [Tue, 8 Oct 2024 10:46:24 +0000 (13:46 +0300)]
Bug 32413: Fix repeated param names for JSON report
This patch fixes repeated param names for JSON report.
To test:
1) Create a report
SELECT count(*) from items where homebranch = <<Branchcode>>
UNION ALL
SELECT count(*) from deleteditems where homebranch = <<Branchcode>>
2) Run the report as JSON, cgi-bin/koha/svc/report?id=<id>&sql_params=<Branchcode>
3) Check that the second value is 0
4) Apply the patch
5) Run the report as JSON again
6) Check that the second value has the correct value
7) prove t/db_dependent/Koha/Reports.t
Sponsored-by: Koha-Suomi Oy Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
phette23 [Mon, 14 Oct 2024 02:22:05 +0000 (19:22 -0700)]
Bug 38055: Space between label and value for MARC field 530
To test:
- Find a record with a 530 field or add a 530 to an existing record
- View record in OPAC — note no space between label and value
- Apply patch
- Restart Plack
- View record in OPAC — space is present
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Lucas Gass [Fri, 26 Jan 2024 17:35:38 +0000 (17:35 +0000)]
Bug 14180: Add option to always load the issues table
To test:
1. APPLY PATCH, updatedatebase, restart_all
2. Search for the system preference 'AlwaysLoadCheckoutsTable' and set it to 'Do'.
3. Go to 'circ/circulation.pl?borrowernumber=X' for a patron with checkouts. ( Check out tab ).
4. The table should load right away.
5. Go to 'members/moremember.pl?borrowernumber=X' for a patron with checkouts. ( Details tab ).
6. The table should load right way.
7. Set a value in the 'LoadCheckoutsTableDelay' system preference.
8. Back on 'circ/circulation.pl?borrowernumber=X', make sure the delay is honored. You should see a message like "Checkouts table will automatically load in X seconds".
9. The delay should NOT be honored on'members/moremember.pl?borrowernumber=X', that table should load right away/
10. Turn off 'AlwaysLoadCheckoutsTable' and make sure the table does not load, or loads according to the cookie set when checking the 'Always show checkouts automatically' checkbox.
Signed-off-by: Kelly <kelly@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Lucas Gass [Fri, 26 Jan 2024 17:34:40 +0000 (17:34 +0000)]
Bug 14180: Add AlwaysLoadCheckoutsTable system preference
Signed-off-by: Kelly <kelly@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jan Kissig [Wed, 3 Jul 2024 12:48:17 +0000 (14:48 +0200)]
Bug 37209: improve Record overlay rules validation and styling
This patch adds jquery form validation to the input named tag. It also changes the behavior for save and edit actions which now both can be triggered by pressing enter. Batch deletion will be only possible if no edit is taking place.
Test plan:
1)
a) open http://localhost:8081/cgi-bin/koha/admin/marc-overlay-rules.pl
b) just click + Add rule
c) the input 'tag' gets highlighted and the form won't submit
2)
a) edit an existing rule
b) empty input value for tag
c) notice the checkboxes for batch deletion on other rules if existing
d) click Save and check the input 'tag' gets highlighted and the form won't submit
apply patch
1) redo steps and check that form does not get submitted and the input is marked as required via a label that says This field is required.
2) redo steps and check that form does not get submitted and the input is marked as required via a label that says This field is required. Also checkboxes for batchremove actions are gone.
Signed-off-by: Olivier Vezina <olivier.vezina@inLibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Tue, 29 Oct 2024 22:45:23 +0000 (22:45 +0000)]
Bug 37965: (QA follow-up) fix WYSIWYG in sysprefs
Test plan:
1. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?
op=search&searchfield=UseWYSIWYGinSystemPreferences
2. Enable the system preference to show WYSIWYG in HTML system preferences
3. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?
op=search&searchfield=OPACSearchForTitleIn
4. Add a link for "http://localhost:8081/cool.pl"
5. Note in the source code that the URL gets mangled
6. Apply the patch
7. Repeat the above test plan
8. Note that the URL has NOT been mangled and remains
http://localhost:8081/cool.pl
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 37965: Restore Bug 12032 - TinyMCE rewrites urls in a very annoying and unexpected way
To test:
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12032#c3
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Janusz Kaczmarek [Mon, 16 Sep 2024 08:42:11 +0000 (08:42 +0000)]
Bug 37522: Unit tests
NB, since the 6th argument to logaction is now mandatory for logging item
modifications, one had to modify one line from the previous tests by
adding this additional parameter.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Janusz Kaczmarek [Tue, 30 Jul 2024 11:03:54 +0000 (11:03 +0000)]
Bug 37522: Logging item modification should record the original version of the item
When modifying bibliographic record, Koha records in the log the
original version of the record. This allows one to see what has been
changed in the record.
However, in case of item modification Koha records in the log the the
current version of the item (i.e. the version after the edit). This is
inconsistent with the biblio modification behavior and makes it
difficult or even impossible to trace changes (especially in case of the
first modif since the initial version is not being recorded).
This patch makes the item modification logging feature work similarly to
logging modifications in bibliographic records.
Test plan:
==========
1. With CataloguingLog enabled (default in ktd) make a modification of
an item.
2. Check the Modification log. You should see as the recorded version
the version of the item after the modification.
3. Apply the patch; restart_all.
4. Repeat p. 1.
5. In the Modification log you should see now the version of the item
that existed before the recent modification.
Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Tue, 8 Oct 2024 17:39:31 +0000 (13:39 -0400)]
Bug 38125: Add a warning if privacy pulldown is changed to "never"
It is possible to interpret the language on opac-privacy.pl as only
acting on future checkins and not current historical checkouts. We
should add clarifying text to that page
Test plan:
1) Apply this patch
2) Enable opac privacy
3) Change pulldown to "never"
4) Note the warning message appears
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>
Owen Leonard [Tue, 24 Sep 2024 13:49:17 +0000 (13:49 +0000)]
Bug 37988: Use Bootstrap 5 class .visually-hidden-focusable
It looks to me like we can remove the visibility properties from the
home button CSS and wrap the text in a <span> with Bootstrap 5's
"visually-hidden-focusable" class:
David Nind [Fri, 16 Aug 2024 22:05:49 +0000 (22:05 +0000)]
Bug 37662: Improve library information text consistency
This improves the consistency of the text between the staff
interface library information listing page, and the add,
view, and modify library pages. It also improves the text
for some field hints.
Test plan:
1. Go to Koha administration > Basic parameters > Libraries.
2. Note these inconsistencies:
2.1 Library hours - the text if no hours are set:
- For the table, the text is "Library hours not set"
- For the view, add, and modify library pages the text
is "No opening hours have been set."
2.2 The column and field names for library hours:
- For the table, the column name in the list of libraries
is "Library hours".
- For the view, add, and modify library pages the field
label is "Opening hours".
2.3 For the "MARC organization code" field, there is no
colon (:) on the view, add, and modify library pages.
2.4 For the "OPAC info" field name, "info" is not spelt
in full.
2.5 The hints for the Reply-To and Return-Path fields use
this format "Default: <SystemPreferenceName> system
preference" pattern, but the MARC organization code
field doesn't.
3. Leave tabs open for the library listing, view, and modify
library pages.
4. Apply the patch, then duplicate and refresh the tabs for
the library listing, view, and modify library pages (so
you can compare the differences).
5. Note that the inconsistencies in step 2 are now fixed.
6. Note that the hint text for these fields is changed:
6.1 IP field: active voice
6.2 MARC organization code: follows the pattern used for
the Reply-To and Return-Path fields.
6.3 Public: 'yes' to 'Yes'
7. Sign off D:
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Olivier Vezina <olivier.vezina@inLibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Thu, 6 Jun 2024 15:10:21 +0000 (15:10 +0000)]
Bug 33178: Use template wrapper for authority and bibliographic subfield entry form tabs
This patch updates the authority and bibliographic subfield entry
forms to replace tab markup with the use of WRAPPERs. Some JS has been
modified in order to adapt to the changed Bootstrap tab markup.
The patch also updates the WRAPPER code so that a unique ID can be
added to individual tabs. This is necessary as a hook for the Sortable
JavaScript.
To test, apply the patch and go to Administration.
- Go to MARC bibliographic frameworks -> Actions -> MARC structure.
- Click Actions -> View subfields for a tag with more than one
subfield.
- Click the "Edit" button for one of the subfields, not the first
one in the list.
- The tab for the subfield you chose should be active.
- Confirm that all the tabs look correct and work correctly.
- Try dragging one of the tabs into a new position. Save your
changes and confirm that the subfield was saved in that new
position.
- Go to Administration -> Authority types -> Actions -> MARC structure
and repeat the same steps above with the authority record subfields.
Sponsored-By: Athens County Public Libraries Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Wed, 23 Oct 2024 14:51:00 +0000 (16:51 +0200)]
Bug 38243: Remove options.query_parameters
This is never passed: `git grep query_parameters`
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>
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>
Jonathan Druart [Wed, 23 Oct 2024 10:12:13 +0000 (12:12 +0200)]
Bug 38234: Remove unused jszip.min.js file
This specific file is not used since Bug 23013 ("Upgrade DataTables in the staff client")
This version is vulnerable and should not be used in the future anyway.
There is a version embedded in our DataTables bundle, which is jszip-3.10.1.
Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Tue, 8 Oct 2024 13:16:44 +0000 (15:16 +0200)]
Bug 38120: Also remove 'Remember me' - who wants to remember?
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Tue, 8 Oct 2024 13:14:14 +0000 (15:14 +0200)]
Bug 38120: Remove commented lines in auth.tt
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Fridolin Somers [Wed, 9 Oct 2024 12:35:11 +0000 (14:35 +0200)]
Bug 38131: ILS-DI doc must show renewals_count
Since Bug 30275 renamed issues.renewals to issues.renewals_count, the ILS-DI doc needs to be updated in :
koha-tmpl/opac-tmpl/bootstrap/en/modules/ilsdi.tt
Note that service 'RenewLoan' returns 'renewals' this has not changed.
Test plan :
1) Enable ILS-DI webservice
2) Go to opac : /cgi-bin/koha/ilsdi.pl
3) Click on 'GetRecords'
4) Check you see 'renewals_count' in 'Example response'
5) Click on 'GetPatronInfo'
6) Check you see 'renewals_count' in 'Example response'
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Lucas Gass [Tue, 13 Aug 2024 21:01:51 +0000 (21:01 +0000)]
Bug 37639: Add items.stack to items endpoint
To test:
1. Apply patch and restart_all, and yarn api:bundle
2. Check the items endpoint for items.stack ( http://localhost:8081/api/v1/items/144 )
3. The data is there, and correct.
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
David Cook [Tue, 22 Oct 2024 23:57:57 +0000 (23:57 +0000)]
Bug 38233: respect OPAC visibility for ILS-DI GetRecords
This change makes the ILS-DI GetRecords service use the OPAC
version of the MARCXML and filters items based on their OPAC visibility
Test plan:
1. Apply the patch
2. koha-plack --restart kohadev
3. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ILS-DI
and enable syspref
4. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OpacHiddenItems
and add the following:
withdrawn: [1]
5. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=hidelostitems
Change syspref to "Don't show"
6. Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=29
7. Add a withdrawn item and a lost item with barcodes of "test1" and "test2" respectively
8. Go to http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=GetRecords&id=29
9. Note the items with barcodes test1 and test2 do not appear in the "items" tree and they don't
appear in the "marcxml" tree.
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Tue, 22 Oct 2024 17:16:07 +0000 (17:16 +0000)]
Bug 38231: Adjust CSS for search result controls in the OPAC
This patch makes some markup and CSS changes to the OPAC so that
controls are aligned correctly in the "mobile" view's catalog search
results. The patch also removes the border from the controls... I think
the borders looks out of place.
To test apply the patch and rebuild the OPAC CSS.
- Perform a catalog search.
- Check the styling of the controls shown for each search result, e.g.
Place hold, Add tg, Save to lists, etc.
- Make sure the controls work well when the browser window is various
widths, from ~600px and up.
Sponsored-by: Athens County Public Libraries Signed-off-by: Yanjun Li <yanjun.li@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This patch adds a test to make sure the same object is returned. A code
change is also added to make sure the tests pass.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Mon, 28 Oct 2024 10:49:13 +0000 (11:49 +0100)]
Bug 38273: Make Koha::Object->discard_changes chainable
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Hammat Wele [Mon, 26 Aug 2024 21:21:50 +0000 (21:21 +0000)]
Bug 37184: Special character encoding problem when importing MARC file from the Acquisitions module
1. Go to Cataloging > "Stage records for import".
2. Upload the file "ExportMemento2024061010532869Marc8.mrc" or a MARC8 encoded file.
3. In the form, select the options :
- Record type: Bibliographic
- Character encoding: MARC8
- Format: MARC
4. Click "Stage for import".
5. Find or create an open basket in the Acquisitions module.
6. Click "add to basket".
7. Select "From a staged file" and select the previous staged file.
9. Click "Select all" to check all records.
10. In the item information tab, choose the Document type.
11. Verify the titles of the records in the basket:
--> Koha replaces accents with symbols �
12. Apply the patch.
13. Do the same from step 1 and notice there is no more encoding issues.
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Tue, 29 Oct 2024 09:42:22 +0000 (10:42 +0100)]
Bug 33484: checkouts - Move visibility handling to table_settings
We need to set is_hidden for the column we want to force hide (depending
on system config)
This patch fixes t/db_dependent/selenium/regressions.t
Obviously there will be incorrect behaviours if we restore from a state
and that the settings have been modified in the meanwhile.
Not sure we can deal with that properly.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
To test:
1 - enable FineNotifyAtCheckin
2 - enable AllowCheckoutNotes
3 - check out an item to a patron with fines on their account
4 - check out an item and place a checkout note on it
5 - check each item in, confirm each produces a message with the classes alert, alert-info, and alert-warning
6 - apply patch, restart_all
7 - repeat steps 3 and 4
8 - check items in, confirm messages now include issue-note and patron-fines classes
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Lucas Gass [Mon, 30 Sep 2024 19:54:30 +0000 (19:54 +0000)]
Bug 38041: Pass hide_main for all needsconfirm warnings in SCO
To test:
1. APPLY PATCH and restart_all
2. Make sure the following errors when issuing in SCO show just the error, no other info. on screen:
DEBT
RENEW_ISSUE
ISSUED_TO_ANOTHER
RESERVED
TRANSFERRED
INVALID_DATE ( cant test in SCO )
TOO_MANY
RECALLED
Signed-off-by: CJ Lynce <cj.lynce@westlakelibrary.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Wed, 9 Oct 2024 07:29:47 +0000 (09:29 +0200)]
Bug 38128: (Bug 35329 follow-up) Filter ERM users to users with erm permission
There was a silly mistake, we passed the TT var erm_users instead of the
string "erm_users".
It should also be passed to patron_search_modal to display the note.
Test plan:
Confirm that with this patch a patron search in the ERM module returns
only patrons with the erm permission.
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Mon, 7 Oct 2024 17:56:45 +0000 (17:56 +0000)]
Bug 37980: Style corrections for installer and onboarding following Bootstrap 5 update
This patch makes a couple of CSS updates to the installer and and
onboarding pages:
1. Add more Bootstrap imports to the installer SCSS. I included a
pared-down selection of components to save file size. I should have
included more.
2. Add a temporary fix for the fact that the Font Awesome checkbox icons
aren't working correctly. According to the docs the "empty check box"
icons should look like a square border, not a solid square. They
don't, and I've included a temporary fix for it.
To test apply the patch and rebuild the staff interface CSS.
- Drop and recreate the Koha database. Run 'restart_all' if necessary.
- Navigate to the staff interface. You should be presented with the
installer login. The form should be centered on the page.
- Log in. In the list of steps displayed on the "Choose your language"
page you should see square icons resembling empty checkboxes (not
solid black squares).
- Select your language and proceed to the next step. The "Choose your
language" line should now have a green icon of a checked checkbox.
- Follow the rest of the installer and onboarding steps to confirm that
there aren't other unreported style issues.
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
We have several choices for "primary_contact_method", we don't want to
display the code but the label
phone => Primary phone
phonepro => Secondary phone
mobile => Other phone
email => Primary email
emailpro => Secondary email
fax => Fax
Bonus: it will make it translatable.
Test plan:
1. Edit a patron record to add a Main contact method
2. Place a hold for this patron
3. Check the item in
--> Pop up says "Main contact method:" followed by the choice.
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Johanna Räisä [Thu, 17 Oct 2024 06:15:32 +0000 (09:15 +0300)]
Bug 38188: fix populating the borrowenumberlist from patron_search_selections
This patch fixes the issue of populating the borrowernumberlist from patron_search_selections.
Adding borrowernumbers to the textarea randomly fails because the textarea is populated with the html() function.
To test:
1) Go to the patron search
2) Select a few patrons
3) Click on the "Batch patron modification" button
4) Use browsers back button to go back to the patron search
5) Find patron_batchmod_form from browser inspector, open it.
6) Check that between the <textarea> tags, there are the borrowernumbers of the selected patrons.
7) Apply the patch
8) Repeat steps 1-6
9) Check that <textarea> tags are not populated with the borrowernumbers of the selected patrons.
10) Remove the display:none from the textarea and check that the borrowernumbers are populated there.
Sponsored-by: Koha-Suomi Oy Signed-off-by: Michelle Spinney <mspinney@clamsnet.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Wed, 16 Oct 2024 17:24:55 +0000 (17:24 +0000)]
Bug 36320: Clicking Edit items from catalogue/detail.pl leads to 'Add item' screen
This patch updates the catalog toolbar so that the "Edit items"
choice under the "Edit" menu is replaced with a new option: "Manage
items," which takes you to the top of the add/edit items page. The "New
item" menu item has been modified to add the anchor so that the link
jumps the user directly to add item form (past the existing items).
The patch also adds a "Jump to add item form" link at the top of the
add/edit items page.
To test, apply the patch and search for a bibliographic record in the
staff interface.
- View the detail page for the record.
- Click the "Edit" menu button in the toolbar.
- You should see the new menu item, "Manage items."
- Clicking the "Manage items" button should take you to the top
of the add/edit items page in cataloging.
- You should see a "Jump to add item form" limk under the page
heading.
- Clicking it should jump you to the "Add item" form.
- Clicking the "New item" menu item from the bibliographic detail "New"
menu should take you directly to the add item form, scrolling down
past the existing items.
Sponsored-by: Athens County Public Libraries Signed-off-by: Kristi Krueger <kkrueger@cuyahogalibrary.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Mon, 21 Oct 2024 18:19:07 +0000 (18:19 +0000)]
Bug 38066: Pop-up window footers can block page content
The staff interface's default <body> padding is enough to accommmodate
the langugage-selection footer but not the taller fixed footer on pop-up
window pages. This patch adds some CSS to increase the padding on those
pages to prevent page content from being obscured by the footer
navigation.
The patch also adjusts the CSS of the "Back to top" arrow so that it
isn't hidden by fixed footer.
To test, apply the patch and rebuild the staff interface CSS.
- In the staff client, go to Cataloging -> New record.
- In tab one, click the plugin button on tag 100 subfield a.
- Perform an authority search which will return results.
- Scroll down to the bottom of the window and confirm that the last
lines of the search results are not obscured by the footer.
This change should apply to all pop-up windows which include the same
fixed footer markup, e.g. any cataloging plugin; the transfer order
window; vendor search when adding a subscription, etc.
Sponsored-by: Athens County Public Libraries 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>
Kyle M Hall [Tue, 17 Sep 2024 18:28:11 +0000 (18:28 +0000)]
Bug 37582: Add ability to for SIP to convert control and separator characters to spaces
This came up with a SIP vendor recently - when reading responses they were only getting part of a patron's information.
It seemed to have been caused by patrons with multiple restrictions and a new line in the response
This patch also does minor refactoring to write_msg to pass the server variable that contains
all the previously passed parameters, and removes the never used "file" parameter.
Test Plan:
1) Add multiple debarments to a patron
2) Run a sip patron information response, note the presence of newlines
3) Apply this patch
4) Add the new option convert_control_characters to your SIP account,
set the value to " -- "
5) Restart all the things!
7) Run a sip patron information response, note the newlines have been replaced!
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Emily Lamancusa [Wed, 23 Oct 2024 19:59:39 +0000 (15:59 -0400)]
Bug 38246: Perltidy
QA tool failed because the previous patch added one line to a large
block of code that was incorrectly indented. Fixed the indentation
separately on this patch.
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Emily Lamancusa [Wed, 23 Oct 2024 19:33:51 +0000 (15:33 -0400)]
Bug 38246: Only check unresolved claims
To test:
1. Set up sysprefs:
- Set any non-empty value for ClaimReturnedLostValue
- Set AutoClaimReturnStatusOnCheckout to "found in library"
- Set AutoClaimReturnStatusOnCheckin to "returned by patron"
2. Check out an item to a patron
3. On the patron's account page, click the "Claim Return" button next to
that checkout
4. Check the item in. Note the message that the claim was auto-resolved.
5. Return to the patron's account page and open the Claims Returned tab
--> Note that the claim is resolved and hidden
6. Click the "Show all 1 claims" link to view the hidden claim. Make a
note of the resolution code and timestamp.
7. Check the item out again
--> Note the message saying that the claim was resolved, even though it
was already resolved previously
8. View the return claim again
--> Note that the timestamp and resolution code have changed
9. Apply patch and restart_all
10. Repeat steps 2-8 with a new item
--> Note you do not get a claim resolved message on checkout this time
--> Note that the timestamp and resolution code remain the same before
and after the checkout
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Fri, 11 Oct 2024 12:28:48 +0000 (12:28 +0000)]
Bug 30648: Record deleted_biblionumber in holds
This patch ensures the deleted biblionumber is recorded in current and previous holds
before the record is deleted
To test:
1 - Place and fill a few holds on a biblio, completing checkout to patron
2 - Place a few holds on the biblio and do not fulfill them
3 - Delete the items from the biblio via the DB (otherwise you cannot delete last item when there are holds)
DELETE FROM items WHERE biblionumber={biblionumber}
4 - Delete the biblio
5 - Check the DB and confirm the deleted_biblionumber column has been filled
SELECT reserve_id,deleted_biblionumber,biblionumber FROM old_reserves WHERE deleted_biblionumber = {biblionumber};
6 - Sign off!
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Fridolin Somers [Fri, 25 Oct 2024 14:25:10 +0000 (16:25 +0200)]
Bug 38274: Fix typo in arabic language description
In installer/data/mysql/mandatory/subtag_registry.sql we see a missing
char in arabic language description.
Wee see this was correct before Bug 12250 :
العربية
Test plan :
1) Install a fresh Koha with this patch
2) Look in database :
SELECT * FROM language_descriptions WHERE subtag='ar' AND type='language' AND lang='ar'
=> Check description is correct
3) On a old existing Koha
4) Install patch and run update database
=> Look in database and check description is correct
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>
Phil Ringnalda [Fri, 11 Oct 2024 22:54:50 +0000 (15:54 -0700)]
Bug 37795: Adjust job-progress.inc for Bootstrap 5 changes
Four main changes:
The color classes progress-bar-success and progress-bar-danger are now named
bg-success and bg-danger.
The aria attributes have moved from the progress-bar to the progress wrapper.
Having them on the progress-bar is still supported for BS5, but won't be in
BS6, so we might as well move them now rather than forgetting to move them
later.
Having the percentage number in a span, the % symbol in text, and the label
for "Not started" "Started" "Finished" "Failed" in another span no longer
works because the progress-bar content is in a column flexbox. Just setting
all of it at once in the content of the progress-bar works fine.
Before, overflow from the label being longer than the progress-bar happened
by wrapping the "%" and "Started" invisibly down below the progress-bar.
Now it is cropped off by overflow: hidden, so we have to deal with showing
"2% Star" rather than showing "2%" and dropping the whole "Started" like
we did before. The best solution seems to be making the background of the
progress div, which is what shows to the right of the filled part of the
progress-bar, a little darker grey so white text is readable if you squint.
Test plan:
1. You need enough records to import so that you can at least see a bit of
progress before it finishes. Ideally, you would have a file of 10K or
so bibs, but with ktd, you can have 400-odd: Cataloging - Export catalog
data, change the Output format to XML and the filename to koha.marcxml
and export.
2. Cataloging - Stage records for import, Browse to your file, Upload file.
Since you named it koha.marcxml, it's recognized as MARCXML and you can
just click Stage for import
3. Without the patch, at this point you get an orange full-width bar, with
a white "%" in the middle, which doesn't change even after the "View
batch" link appears signalling it's done. With the patch, you start with
an orange bar labelled "0% Not started" which changes to a green "0.00%
Started" that animates too quickly to read to "100% Finished". Right
click the bar, Inspect, double-click the "width: 100%" to edit it, click
past the 100 and delete the 00 and press Enter to see a static 1%. You
should be able to read the "100% Finished" even spread across the green
and dark gray, at least by selecting the text if no other way.
Sponsored-by: Chetco Community Public Library 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>
Phil Ringnalda [Thu, 24 Oct 2024 21:16:45 +0000 (14:16 -0700)]
Bug 38251: Make 'Remove selected items' button work when there is one item
There are two ways to remove items from a list: you can remove a single item
by clicking a 'Remove from this list' button below the item, or you can
remove one or more items by checking the checkboxes for them and clicking the
'Remove selected items' button.
Bug 37150 needed to fix 'Remove from this list' for CSRF, because in the wild
old days it just triggered a GET to delete, and instead it needed to POST.
The first patch to do that defined the JS var single_bib, checked the
checkbox for that bib and submitted the form, as though you had used the
checkbox yourself. But if you cancelled the confirmation prompt, it would
need to uncheck the checkbox it checked, so it added a function to do that
if (single_bib). That patch didn't land.
What landed instead was a patch with a separate hidden form that could be
populated with the single biblionumber from 'Remove from this list', but
without single_bib to define that state, it used selected_titles.size() == 1
as the condition to use the hidden form, forgetting that when the user checks
a single checkbox, selected_titles.size() is also 1. The right condition is
the same one used to tell where to get the titles for the confirmation dialog:
if the click event passed along a biblionumber, it's 'Remove from this list.'
Since checking that sets var biblionumber, we can just use that being truthy
as the condition.
Test plan:
1. Without the patch, open the OPAC and log in
2. Add any two biblios to a new list
3. Lists - {your list name}
4. Click the checkbox for one of the items, click 'Remove selected items'
and click 'Yes, remove from list' in the confirmation dialog
5. Note that it wasn't removed
6. Click the checkboxes for both items, click 'Remove selected items' and
click 'Yes, remove from list' in the confirmation dialog
7. Note that both were removed
8. Apply patch, restart_all
9. Add any four items to your list
10. Lists - {your list name}
11. For the first item, click the 'Remove from this list' button below the
details for the item, confirm, make sure it was deleted
12. Click the checkbox for what's now the first item, click 'Remove from
this list,' confirm, make sure it was deleted
13. Click the checkboxes for what are now the first two items, click 'Remove
from this list,' confirm, make sure both were deleted
Sponsored-by: Chetco Community Public Library 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>