Hammat Wele [Wed, 12 Apr 2023 00:32:02 +0000 (00:32 +0000)]
Bug 25079: Add a 'edit' functionality to the Clubs tool in the staff interface
A club enrollment can be cancel but it can't be edited
This patch add a 'edit' functionality to the Clubs tool in the staff interface
Test plan
1. Create a club template
1.1. Go to Tools > Patron clubs
1.2. Click on 'New Club Template'
1.3. Fill the form
1.4. on the 'Club fields' section, Click on Add new field
1.5. Fill in the form
1.6. on the 'Enrollment fields' section, Click on Add new field
1.7. Fill in the form
1.8. Click on Save button
2. Creation of the club
2.1. Go to Tools > Patron clubs > 'Clubs' section (bottom)
2.2. Click on the 'New Club' button and select the club template create on step 1
2.3. Fill in the form
2.4. Click on Save button
3. Club enrollement
On the intranet
3.1. Search for a pratron and open the patron folder
3.2. Click on the 'Clubs' tab
3.3. Find the name of the club and click on 'Enroll'
3.4. Fill the questionnaire
3.5. Confirm registration
---> Note that the enrollement can be canceled but it cannot be modified
4. Apply the patch
5. Click one more time on the 'Clubs' tab
---> Note that the enrollement can now be modified
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 22 Mar 2023 15:30:31 +0000 (16:30 +0100)]
Bug 30860: Cache CanItemBeReserved return value
This patch caches the return value of CanItemBeReserved that could
be then returned *on
demand*
We don't want to introduce side-effects hard to catch from this simple
change, so let's return the cache value only from the 2 scripts we are
dealing with.
This patch requests all item values from CanBookBeReserved on request.pl
Before this we either:
- Looped every item to find out that book could not be reserved
- Looped until we found an item that could be reserved, then looped all items to get statuses
In the worst case we avoid double processing a single item, in the best case we avoid double
processing all items (if only last on record is holdable)
To test:
1 - Find a record in staff client with several items
2 - Set AllowHoldsOnDamagedItems to 'Dont allow'
3 - Add a damaged item to record
4 - Set a hold rule to only allow holds form homebranch and ensure record has items from other branches
5 - Setup things to prevent more items from being held
6 - Attempt hold for patron
7 - Note item statuses
8 - Apply patch
9 - Confirm statuses are as they were before
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Michael Hafen [Tue, 20 Jul 2021 18:12:42 +0000 (12:12 -0600)]
Bug 28726: Add sort1 and sort2 to patron card creator - patron search.
Also adds a select all / clear all and checkboxes.
Test plan:
1. start a new batch in the patron card creator (Tools -> Patron card creator -> New -> card batch)
2. click the Add patron(s) button. Observe that Category and Library are the only options.
3. Close search for patron window.
4. Apply patch.
5. click the Add patron(s) button. Observe that you can now search for patrons by their sort1 and sort2 values.
6. perform a search and observe the 'Select all | Clear all | Add selected patrons' links and button.
7. use the Select all link to select all the patrons found by the search.
8. use the Add selected patrons button to add the selected patrons to the card batch's Add by borrowernumber(s) text input field.
9. close the search for patron window.
Signed-off-by: Solene Ngamga <solene.ngamga@inLibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Sam Lau [Wed, 21 Jun 2023 17:18:20 +0000 (17:18 +0000)]
Bug 34071: Change the phrasing of 'automatic checkin' to fit consistent terminology
This patch simply changes 'Automatic checkin' to be 'Automatic
check-in'.
Test plan:
1) Go to administration -> item types and click the edit button on an
item.
2) Notice there is a checkbox labeled 'Automatic checkin'.
3) Apply patch.
4) Refresh the page and notice the checkbox now says 'Automatic
check-in'.
5) prove t/db_dependent/Koha/Checkouts.t
6) Sign-off :)
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 10 May 2023 11:53:20 +0000 (13:53 +0200)]
Bug 33578: Fix controller when editing a restriction type
Do not display a warning when we are editing a restriction type and no
other types with this description exists.
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 10 May 2023 09:21:19 +0000 (11:21 +0200)]
Bug 33578: Fix patron restriction types edition
When editing an existing patron restriction type you'll always get an error on saving:
Label is already in use
To test:
* Activate use of patron restriction types
* Edit any of the system types
* Create new ones
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Thu, 1 Jun 2023 13:40:02 +0000 (13:40 +0000)]
Bug 33894: Use template wrapper for tabs: OPAC search history
This patch updates the OPAC search history page so that it uses
the new WRAPPER syntax to generate tabs markup.
To test, apply the patch and view the OPAC search history page. With the
OpacAuthorities system preference enabled you should see two tabs:
Catalog and Authority. Confirm that each tab shows the correct
information.
Deactivate OpacAuthorities and reload the search history page. The
bibliographic search history should display without tabs.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Thu, 1 Jun 2023 13:33:38 +0000 (13:33 +0000)]
Bug 33894: Restructuring: Use BLOCKs for biblio and authority sections
In order to make the conversion to the tab wrapper markup easier I'm
putting the biblio search history and authority search history sections
into blocks. This will make it easier to include or not include the
sections using template logic.
To test, apply the patch and, if necessary, perform some searches for
bibliographic and authority records. The OPAC search history page should
be unchanged, with the correct information showing under each tab and in
each section for current and previous searches.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Wed, 14 Jun 2023 17:23:40 +0000 (17:23 +0000)]
Bug 34013: Recalls awaiting pickup doesn't show count on each tab
This patch modifies recalls_waiting.pl so that it defines template
variables for 'recalls waiting' and 'recalls waiting over x days'
counts in the same way that waitingreserves.pl handles it.
To test you must have UseRecalls enabled, and some recalls data that
will allow you to see content under each tab.
Go to Circulation -> Recalls awaiting pickup and confirm that both tabs
show the correct count.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Wed, 14 Jun 2023 17:09:48 +0000 (17:09 +0000)]
Bug 34012: Use template wrapper for tabs: Recalls awaiting pickup
This patch updates the recalls awaiting pickup template so that it uses
the new WRAPPER directive to build tabbed navigation.
Note: this patch includes indentation changes, so check the diff
accordingly.
To test you must have UseRecalls enabled. Apply the patch and go to
Circulation -> Recalls awaiting pickup.
Both the "Recalls waiting" and "Recalls waiting over X days" tabs should
look correct and work correctly.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Matt Blenkinsop [Mon, 5 Jun 2023 13:08:47 +0000 (13:08 +0000)]
Bug 33896: Check whether index is defined before string match
This patch checks that $indexes[$i] is defined before testing whether the string matches to remove the logged warning when searching
Test plan:
1) In the intranet, search the catalog from the top search bar
2) Check plack-intranet-error.log
3) There should be a warning "[WARN] Use of uninitialized value within @indexes in string eq"
4) Apply patch
5) restart_all and then re-try the search
6) The warning should no longer appear
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Sam Lau [Tue, 13 Jun 2023 15:00:21 +0000 (15:00 +0000)]
Bug 31618: Fix typo in POD for C4::ImportBatch::RecordsFromMARCXMLFile
To test:
1) Apply the patch
2) Visit C4::ImportBatch::RecordsFromMARCXMLFile
3) See that in the POD (mine was somewhere around line 1592) the line starting with '@PARAM1' now says '@PARAM1, String, absolute path to the MARCXML file.'
4) Sign off :)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Wed, 21 Jun 2023 19:20:09 +0000 (16:20 -0300)]
Bug 33169: (QA follow-up) Tidy Vue-related files
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Wed, 21 Jun 2023 19:05:26 +0000 (16:05 -0300)]
Bug 33169: Add support for FA styles
Font awesome now provides a different approach to icon styles so you can
specify things like:
```
<i class="fa fa-camera-retro"></i>
```
but also
```
<i class="fa-solid fa-camera-retro"></i>
```
The original implementation had a hardcoded `fa` and having an extra
parameter for the *style* seemed overkill, as we would need to handle
even a list of styles like on this example:
```
<i class="fa-sharp fa-solid fa-camera-retro"></i>
```
So I chose to just explicitly require the full FA icon class and pass it
thru. With no manipulation on the Vue side.
This patch does that, and adjusts the 'style' for some icons, as
introduced by the FA v6 patchset.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Agustin Moyano [Mon, 6 Mar 2023 19:44:44 +0000 (16:44 -0300)]
Bug 33169: Build breadcrumbs and left-hand side menu from routes definition
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Thu, 22 Jun 2023 19:06:11 +0000 (16:06 -0300)]
Bug 34022: Adjust items data structure
When creating items at receiving, the generated data structure didn't
match what the code expected, so this patch adapts the code to match the
new data structure introduced by bug 8179.
Once I fixed that, I noticed that the $.ajax request payload, when it
contains an array parameter, it renames it like `param[]`. So the
finishreceive.pl controller is adjusted to this behaviour for the 'on
receiving' use case.
To test:
1. Apply this patch
2. Create a basket with 'create items on receive'
3. Create an order line
4. Close basket
5. Receive shipment
6. Enter invoice number
7. Click on Receive link in the table
8. Fill out item form, make sure all mandatory fields are set
9. Save
10. Verify that the order line is marked as 'received'
11. Verify that there item is created on the record
=> SUCCESS: Works as expected
12. Sign off :-D
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Fri, 23 Jun 2023 12:40:08 +0000 (09:40 -0300)]
Bug 33117: DBRev 23.06.00.006
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Thu, 22 Jun 2023 11:38:04 +0000 (12:38 +0100)]
Bug 33117: (follow-up) Rename preference
As it's been requested that we keep the search defaults consistent, I
think this preference is better names DefaultPatronSearchMethod and
appear next to DefaultPatronSearchFields. This patch makes that change,
though actually applying it to the other search area's (outside of
autocomplete) has been left for another bug.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Laura Escamilla [Fri, 26 May 2023 16:19:54 +0000 (16:19 +0000)]
Bug 33117: Adding new PatronAutoCompleteSearchMethod system preference
This patch adds a new system preference called "PatronAutoCompleteSearchMethod"
which allows staff to choose between "Starts with" or "Contains" when
searching for patrons.
The "Contains" option should be useful when searching for patrons that have
multiple surnames or when searching using a patron's middle name.
New Test Plan:
0. Ensure system preference PatronAutoComplete is set to Try
1. Create a patron that has a first name, middle name and two surnames.
(i.e. Adela Maria, Hernandez Acosta).
2. In patron or checkout search, enter their first name and first
surname without submitting.
3. Confirm that a record is found in the autocomplete results
4. In patron or checkout search, enter their first name and second
surname without submitting.
5. Confirm that no record is found.
6. Enter their middle name and first surname. Confirm that no record is
found.
7. Enter their middle name and second surname. Confirm that no record
is found.
8. Apply the patch, update database
9. Under Administration > Global System Preferences > search for
"PatronAutocompleteSearchMethod"
10. Choose "Contains" instead of "Starts with" for the system
preference, reload your search page
11. Repeat steps 2-4. The patron record should appear for all search
methods.
12. Sign off!
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Mon, 19 Jun 2023 04:28:53 +0000 (04:28 +0000)]
Bug 34052: Use root relative URL for subscription-detail.pl
This patch replaces a same directory relative URL with a root
relative URL, so that the navigation to subscription-detail.pl
works correctly after deleting a serial.
To test:
0. Apply patch
1. Go to http://localhost:8081/cgi-bin/koha/serials/serials-home.pl
2. Click "New subscription"
3. Click "Search for a vendor"
4. Click "OK"
5. Click "Choose"
6. Click "Search for record"
7. Type "e" into "Keyword:" box
8. Click "Search"
9. Click "Choose" on top result
10. Click "Next"
11. Fill in "Serials planning" however you like, and click
"Test prediction pattern"
12. Click "Save subscription"
13. Click "Serial collection" in left nav menu
14. Click "Delete selected issues"
15. Click "Yes, delete"
16. Click the link under the "Subscription num." table column
17. Note that you're taken to the subscription detail page
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Wed, 7 Jun 2023 18:03:07 +0000 (18:03 +0000)]
Bug 33944: Don't fetch item object unless using recalls
To test:
1 - Check someitems out to a patron
2 - View thier checkouts
3 - Apply patch, restart_all
4 - Confirm checkouts load as before
5 - Enable recalls
6 - Recall an item checked out to this patron
7 - Confirm recall shows as expected
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Fri, 9 Jun 2023 14:36:43 +0000 (16:36 +0200)]
Bug 33973: Restore sorting on Vue tables
Regression from the KohaTable Vue component added by bug 33066.
_dt_default_ajax expects options.columns to contain the columns.
Test plan:
Add some agreements, go the the agreement list view and confirm that you
can now sort the agreements using the header columns.
Note that the CSS is not correct yet. My understanding is that the
DataTable Vue component keep the 'sorting' class on the th which display
the grey up/down icon over the blue icon which indicate the current sort
column.
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Marcel de Rooy [Thu, 22 Jun 2023 13:30:10 +0000 (13:30 +0000)]
Bug 32245: Fix delete news item from staff home page
Simple fix: op was named incorrectly in URL.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Wed, 14 Jun 2023 15:49:57 +0000 (15:49 +0000)]
Bug 34010: Template corrections to recall pages
This patch makes some corrections to recall pages:
- Update breadcrumbs menu to use wrapper.
- Add <div class="page-section"> where it is missing.
- Use biblio-title include to show links to bibliographic record titles.
- Correct Bootstrap button dropdown markup for consistent style
- Change some submit buttons to <button> elements for consistent style
To test you must have UseRecalls enabled. Having some sample recalls
data will help. Check the following pages to confirm that everything
looks correct:
- Circulation ->
- Recalls queue
- Recalls to pull
- Overdue recalls
- Recalls awaiting pickup
- Old recalls
- Existing recalls: View a bibliographic record with a recall and
click "Recalls" in the sidebar.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Wed, 7 Jun 2023 03:13:24 +0000 (03:13 +0000)]
Bug 24517: Add missing 6th position to date-entered-on-file index
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adding the biblio-zebra-indexdefs.xsl on same patch (as should
be generated with xsltproc).
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jacob O'Mara [Tue, 29 Nov 2022 10:19:24 +0000 (10:19 +0000)]
Bug 31651: Replaced duplicate error message
The duplicated error message on ln119 has now been replaced for clarity.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Lucas Gass [Wed, 14 Jun 2023 17:15:23 +0000 (17:15 +0000)]
Bug 33500: Add tests for RecordLocalUseOnReturn
To test:
1. Turn on RecordLocalUseOnReturn
2. prove -v /kohadevbox/koha/t/db_dependent/Circulation.t
3. Tests fail.
4. Apply patch
5. prove -v /kohadevbox/koha/t/db_dependent/Circulation.t
6. Tests pass.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Tue, 13 Jun 2023 08:45:24 +0000 (09:45 +0100)]
Bug 33993: Add order_receive to GET orders endpoints
This adds order_receive to the list of permissions that allow the
endpoint to return orders.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Sharon Dugdale <Sharon.Dugdale@cumberland.gov.uk>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Thu, 22 Jun 2023 11:02:31 +0000 (11:02 +0000)]
Bug 34093: Fix paths to jQuery for OAI XSLT
To test:
1 - Enable OAI-PMH system preference
2 - Browse to:
http://localhost:8080/cgi-bin/koha/oai.pl?verb=ListRecords&metadataPrefix=marcxml
3 - Click 'Metadata' button for a record
4 - Nothign happens
5 - Check the console:
Loading failed for the <script> with source “http://localhost:8080/opac-tmpl/bootstrap/lib/jquery/jquery-migrate-3.3.2.min.js”.
Loading failed for the <script> with source “http://localhost:8080/opac-tmpl/bootstrap/lib/jquery/jquery-3.6.0.min.js”.
Loading failed for the <script> with source “http://localhost:8080/opac-tmpl/bootstrap/lib/bootstrap/js/bootstrap.bundle.min.js”.
6 - Apply patch
7 - Reload
8 - Console errors are gone
9 - Clicking 'Metadata' expands the record content
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Adolfo Rodríguez [Fri, 5 May 2023 14:11:26 +0000 (16:11 +0200)]
Bug 31185: Link authorities automatically doesn't detect duplicate authorities
Signed-off-by: Rachael Laritz <rachael.laritz@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Wed, 3 May 2023 17:20:51 +0000 (17:20 +0000)]
Bug 31185: Unit test
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Wed, 24 May 2023 15:16:37 +0000 (15:16 +0000)]
Bug 33820: (follow-up) Add hint to member-password.tt
This follow-up makes the same change to the "Change password" template.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 24 May 2023 07:31:05 +0000 (09:31 +0200)]
Bug 33820: Add hints to warn the librarian that they will be logged out if they change their username
This patch adds some JavaScript to the patron entry form which adds a
hint if the logged-in librarian tries to change their own username. It
warns them that they will be logged out.
To test, apply the patch and log into the staff interface.
- Locate and edit your own patron record.
- In the "OPAC/Staff interface login" section, change the value in the
username field. When focus leaves that form field a hint should
appear, "You will be logged out if you modify your username."
- Change the username field back to your original username. The hint
should disappear.
- Confirm that submitting a username change works correctly: You should
be logged out, and when you log in again your username should be
updated.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Mon, 19 Jun 2023 01:26:35 +0000 (01:26 +0000)]
Bug 34051: Cache empty hashref for non-existent authorised values
When fetching authorised value descriptions, we need to handle
scenarios where a value doesn't exist in the cache and doesn't
exist in the database. In this situation, we return an empty
hashref, and this patch makes us cache this empty hashref.
This is important because otherwise the function
Koha::AuthorisedValues->get_description_by_koha_field will
do a database call every time it encounters the same value that
doesn't exist in the authorised values table.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Fri, 16 Jun 2023 06:04:37 +0000 (06:04 +0000)]
Bug 34028: Fix manual entry for two factor authentication
This patch changes the "Account" and "Key" display so that
you can manually enter two factor authentication details into
an authenticator app.
The details are the same as those provided by scanning the QR code.
Test plan:
0. Apply patch
1. Go to
http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=TwoFactorAuthentication
2. Change setting to "Enable"
3. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
4. Click "More" on record toolbar and choose "Manage two-factor authentication"
5. Click "Enable two-factor authentication"
6. Scan the QR code into an authenticator app and note it creates an entry called
"Centerville: Centerville_koha"
7. Manually enter an entry into an authenticator app (like Google Authenticator)
7a. Add the "Account" as shown on the Koha screen
7b. Add the "Key" as shown on the Koha screen
8. Note that the entries added by QR code and manual entry have the same
label and both were accepted by the authenticator app
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Fri, 16 Jun 2023 18:19:45 +0000 (18:19 +0000)]
Bug 34042: Item search broken by FontAwesome upgrade
This patch corrects a small regression in one of the templates for
outputting item search results. The template lost the change made to it
by Bug 33070: "Remove use of can_edit_items."
The error meant that item searching wasn't working at all.
To test, apply the patch and perform an item search in the staff
interface. Results should be returned as expected.
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Fri, 16 Jun 2023 12:15:25 +0000 (12:15 +0000)]
Bug 34033: (bug 30649 follow-up) Fix update typos
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Fri, 16 Jun 2023 13:12:02 +0000 (15:12 +0200)]
Bug 32910: Fix 'Agreements' icon
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Kyle M Hall [Mon, 12 Jun 2023 18:20:53 +0000 (14:20 -0400)]
Bug 33987: Combine multiple db updates one in BatchCommitRecords
When replacing existing records BatchCommitRecords will the table import_records will be updated three times for three different fields by three different queries. Not only is this inefficient ( especially for large batches ), it seems that this is causing the dreaded "Lock wait timeout exceeded; try restarting transaction" error on some mysql/mariadb configurations.
1) Test plan
2) Download a marc record from Koha
3) Modify the title of that same bib in Koha
4) Stage the downloaded record and overlay the existing record
5) Verify the title has reverted to the original title from the
downloaded record!
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 7 Jun 2023 09:07:36 +0000 (11:07 +0200)]
Bug 33885: Prevent JS crash if creator does no longer exist
JS error in the console was
Uncaught TypeError: row.creator is null
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 7 Jun 2023 09:05:18 +0000 (11:05 +0200)]
Bug 33885: Make Koha::Acq::Order->creator return undef if no creator
If the account of the creator of an order has been deleted we should
return undef here, instead of crashing with
GET /api/v1/acquisitions/orders: unhandled exception (Mojo::Exception)<<DBIC result _type isn't of the _type Borrower at /kohadevbox/koha/Koha/Objects.pm line 445.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Wed, 19 Apr 2023 16:53:22 +0000 (16:53 +0000)]
Bug 29691: Unit tests
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Tue, 14 Dec 2021 13:35:45 +0000 (13:35 +0000)]
Bug 29691: Use template to display news on opac homepage
This patch moves the fetching of news to the template and
adds a p[lugin method to get news by id
TO test:
1 - Define some general and library specific news items
2 - Define in various languages
3 - Define some 'Additional contents' as well
4 - Apply patch
5 - Confirm onlly 'all libraries' news show if not loigged in to opac
6 - Confirm correct library news show when logged in
7 - View specific news items:
http://localhost:8080/cgi-bin/koha/opac-main.pl?news_id=12
8 - Confirm that non-existent ids show " This news item does not exist. "
9 - Confirm if you enter ID for additional contents you get 'does not exist'
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Mon, 5 Dec 2022 05:34:12 +0000 (05:34 +0000)]
Bug 32402: Add "Modification date" to OPAC Lists table
This change adds a "Modification date" column to the
OPAC Lists table, so that you can see when a list was last modified.
Test plan:
1. Apply patch
2. Create a public list and a private list
3. Go to http://localhost:8080/cgi-bin/koha/opac-shelves.pl?op=list&public=1
4. Note that "Modification date" appears in the relevant date format
on both the "Your lists" and "Public lists" tabs
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 8 Jun 2023 15:33:10 +0000 (17:33 +0200)]
Bug 33963: Remove leftovers from previous works
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 8 Jun 2023 15:31:28 +0000 (17:31 +0200)]
Bug 33963: Remove C4::BackgroundJob
Finally! No more occurrences of this module, we can happily remove it!
Test plan:
git grep is your friend
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 8 Jun 2023 15:19:55 +0000 (17:19 +0200)]
Bug 33962: Remove background job from process koc
The last occurrence of C4::BackgroundJob is in process_koc.pl that is used to upload a file.
Added by bug 2608 (15 years ago), I think it does not longer make sense as networks are faster, and we should not expect big koc files to be uploaded.
If there are complains we will move it to Koha::BackgroundJob.
Test plan:
Upload a koc file, enqueue the operations and confirm that everything is
working correctly
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Wed, 14 Jun 2023 15:46:45 +0000 (12:46 -0300)]
Bug 33528: Fix basic_workflow.t
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Wed, 31 May 2023 12:08:27 +0000 (12:08 +0000)]
Bug 33868: Upgrade the Multiple Select plugin in the staff interface
This patch upgrades the Multiple Select plugin in the staff interface
and adds some minor adjustments to system preferences CSS to accommodate
the change. The listing on the about page is updated with current
information.
To test, apply the patch and clear your browser cache if necessary.
- Go to Administration -> System preferences.
- Test some preferences which use the plugin, e.g.
- ApplyFrameworkDefaults
- CoceProviders
- OpacHiddenItemsExceptions
- OPACAllowUserToChangeBranch
- Confirm that the menus look correct and work correctly.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Matt Blenkinsop [Wed, 5 Apr 2023 14:02:39 +0000 (14:02 +0000)]
Bug 33417: Fix translation in toolbar
This commit allows the string to be translated - tested using fr-FR and a dummy string in the .po file
Test plan as above
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Matt Blenkinsop [Wed, 5 Apr 2023 12:05:35 +0000 (12:05 +0000)]
Bug 33417: Remove old components
This commit deletes the old toolbar components as they are no longer
necessary
Test plan as above
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Matt Blenkinsop [Wed, 5 Apr 2023 12:04:20 +0000 (12:04 +0000)]
Bug 33417: Add toolbar imports and options
This commit amends the required files to import the toolbar and add the
correct options
Test plan as above
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Matt Blenkinsop [Wed, 5 Apr 2023 12:02:22 +0000 (12:02 +0000)]
Bug 33417: Create standard toolbar component
This commit introduces a standard Toolbar component that can be used
throughout ERM
Test plan:
1) Apply patch
2) Navigate to Agreements and click the "Add agreement" button - this
should work as normal
3) Navigate to Licenses and repeat
4) Navigate to Local packages and repeat
5) Navigate to local titles - there should be two buttons, one to add and
one to import. These should work as normal
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Tue, 13 Jun 2023 11:49:44 +0000 (11:49 +0000)]
Bug 33528: (follow-up) Correct selector for event handler
The event handler for restriction deletion needs to be adjusted
according to the new container ID. Without this change the JavaScript
confirmation message didn't appear and restrictions were deleted without
confirmation.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Tue, 9 May 2023 17:48:53 +0000 (17:48 +0000)]
Bug 33528: Use template wrapper for tabs: Patron details page
This patch updates the checkout and patron details templates so
that they use the new WRAPPER directive to build tabbed navigation.
The markup for the tab navigation and tab panels is moved into its own
include file since the templates were duplicating essentially the same
code.
To fully test you should have patrons with checkouts, fines, holds,
recalls, and article requests.
Apply the patch and go to the checkout page in the staff interface. With
each tab, test as much functionality as you can within that tab.
- Checkouts
- Holds
- Recalls (with UseRecalls enabled)
- Claims (with a LOST value defined in ClaimReturnedLostValue)
- Restrictions
- Article Requests (with ArticleRequests preference enabled)
- Clubs (with at least one club defined)
- Relatives' checkouts (patron must have a guarantee linked to their
account).
Perform the same tests on the patron details page. Note that the
"Charges" tab is shown on the patron details page but not the checkout
page. This is not a change made by this patch.
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Tue, 13 Jun 2023 16:11:53 +0000 (16:11 +0000)]
Bug 33998: Installer and onboarding have incorrect Font Awesome asset links
This patch corrects the Font Awesome asset links in the web installer.
They were not updated during the upgrade to Font Awesome 6.
Unrelated: The patch also removes the inclusion of jQueryUI. It is not
used in the installation or onboarding process.
To test, apply the patch and run the web installer. The display of
installation steps should include square icons indicating which steps
are complete.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Fri, 2 Jun 2023 05:23:53 +0000 (07:23 +0200)]
Bug 26700: Remove occurrences in Makefile.PL
As well as other 2 non existing paths
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Fri, 2 Jun 2023 02:18:45 +0000 (02:18 +0000)]
Bug 26700: Remove unused C4/SIP/t directory
This patch removes the unused C4/SIP/t directory.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Wed, 14 Jun 2023 12:16:48 +0000 (09:16 -0300)]
Bug 32910: (follow-up) Adjust Koha::Template::Plugin::Asset tests
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Mon, 12 Jun 2023 18:45:41 +0000 (15:45 -0300)]
Bug 33961: DBRev 23.06.00.005
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Lucas Gass [Tue, 4 Apr 2023 15:43:41 +0000 (15:43 +0000)]
Bug 33398: Add primary_contact_method to display when triggering a waiting hold
To test:
1. Apply patch, yarn build
2. Trigger a waiting hold for a patron that has a value for primary_contact_method
3. Notice the modal now includes a line indicating the primary_contact_method.
4. Trigger a hold for a patron without a primary_contact_method. Nothing should display.
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 8 Jun 2023 15:00:31 +0000 (17:00 +0200)]
Bug 33961: Remove built-in offline circ tool
The tool has not been updated and is no longer working with modern
browser.
It should either be rewritten/adjusted or removed. Given that we didn't
get complains its non-functional status, bugs related to this tool
didn't get attention, and the community is lacking resources, I am
suggesting to remove it and redirect users to the koct FF plugin that
is known to be working.
Test plan:
See bug 10240 and use `git grep` to confirm that we are removing all
tracks of this feature.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Fri, 9 Jun 2023 17:19:28 +0000 (17:19 +0000)]
Bug 33897: (QA follow-up) Correct code for tab selection
This patch corrects the code for selecting tabs other than the first
tab.
To test, apply the patch and view the bibliographic detail page for a
serial record and with various settings of the opacSerialDefaultTab
system preference.
If you select "subscriptions tab" the subscriptions tab should be active
by default.
You can also enable html5media and view a record with html5media
information and no holdings. The media tab should be displayed by
default.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Thu, 1 Jun 2023 15:32:43 +0000 (15:32 +0000)]
Bug 33897: Use template wrapper for tabs: OPAC bibliographic detail page
This patch updates the OPAC bibliographic detail page so that it uses
the new WRAPPER syntax to generate tabs markup.
To test, apply the patch and locate a bibliographic record. View the
detail page. Verify that tabs are working, including all the options:
- Holdings
- Other holdings (If OpacSeparateHoldings is enabled)
- Descriptions (MARC notes)
- Subscriptions
- Serial collection (UNIMARC, untested)
- Components (If ShowComponentRecords is enabled. See Bug 11175 for
sample record)
- Comments
- Editions (OPACFRBRizeEditions)
- Html5media (If HTML5MediaEnabled is on. See Bug 8377 for sample
records)
- Images (If OPACLocalCoverImages is enabled)
- NovelistSelect
- Author identifiers (Witgh OPACAuthorIdentifiers enabled, see Bug
29897)
Bonus points for testing these tabs for which I don't have credentials:
- Syndetics TOC
- Syndetics Excerpt
- Syndetics Reviews
- Syndetics AuthorNotes
- LibraryThing for Libraries (with LibraryThingForLibrariesTabbedView
set to "in tabs.")
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Lucas Gass [Mon, 12 Jun 2023 17:54:53 +0000 (17:54 +0000)]
Bug 33988: Update gear icon on staff main page
To test.
1. On staff home page notice the gear icon necxt to 'Koha
administration' looks different than the others/
2. Apply patch.
3. It looks better.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Tue, 16 May 2023 14:11:46 +0000 (14:11 +0000)]
Bug 32910: (follow-up) Remove unused Font Awesome assets
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Tue, 2 May 2023 16:27:49 +0000 (16:27 +0000)]
Bug 32910: (follow-up) A few more icon name corrections
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Thu, 9 Feb 2023 13:01:39 +0000 (13:01 +0000)]
Bug 32910: (follow-up) Replace v4 icon names with v6
This patch updates icons which are listed as having changed names in
this document:
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Wed, 8 Feb 2023 19:38:01 +0000 (19:38 +0000)]
Bug 32910: (follow-up) Correct name of font family in CSS
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Fri, 10 Feb 2023 19:40:42 +0000 (19:40 +0000)]
Bug 32910: (follow-up) Make OPAC FA assets match staff interface's
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 8 Feb 2023 14:22:52 +0000 (15:22 +0100)]
Bug 32910: Adjust fontawesome icons ref
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 8 Feb 2023 14:14:49 +0000 (15:14 +0100)]
Bug 32910: Upgrade fontawesome icons to V6
6.3.0
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Lucas Gass [Wed, 7 Jun 2023 18:40:48 +0000 (18:40 +0000)]
Bug 33176: Enforce bad values
1. Turn on RequirePaymentType
2. Create a manual invocie on a patron account
3. Go to pay it, 'Payment type:' is marked as required.
4. In the inscept the select input ( #payment_type ) with your browser's dev tools. Removed the required attribute.
5. You are able to make the payment without a payment type.
6. Apply patch and restart_all
7. Try 4-5 again. This time you should get a 500 error and the payment should not go through.
8. Try a paymnet again this time manipulate the DOM and change the value of 'CASH' to something else like 'SOMETHINGELSE'.
9. Try to submit the payment and again you will get a 500 error. The payment should not go through.
10. Turn RequirePaymentType off. Try a payment with a payment type, you shoud be successful.
11. Make sure tests will pass
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Lucas Gass [Thu, 13 Apr 2023 17:52:58 +0000 (17:52 +0000)]
Bug 33176: Enforce RequirePaymentType with API
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Lucas Gass [Thu, 13 Apr 2023 17:28:24 +0000 (17:28 +0000)]
Bug 33176: Handle RequirePaymentType
Test plan:
1. Turn on RequirePaymentType
2. Create a manual invocie on a patron account
3. Go to pay it, 'Payment type:' is marked as required.
4. In the inscept the select input ( #payment_type ) with your browser's dev tools. Removed the required attribute.
5. You are able to make the payment without a payment type.
6. Apply patch and restart_all
7. Try 4-5 again. This time you should get a 500 error and the payment should not go through.
8. Turn RequirePaymentType off. Try a payment with a payment type, you shoud be successful.
9. Make sure tests will pass:
prove -v t/db_dependent/Koha/Account.t
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Mon, 12 Jun 2023 14:05:19 +0000 (11:05 -0300)]
Update .mailmap
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Tue, 23 May 2023 12:54:34 +0000 (12:54 +0000)]
Bug 33806: Retain specified date when confirming item parts at checkin
This patch simply adds hidden inputs to the item parts confirm form
to ensure specified checkin date is retained
To test:
1 - Find or add an item with subfield 3 - materials specified
2 - Enable system preference CircConfirmItemParts
3 - Go to Circulation->Checkin
4 - Click the settings button in the input box and enter a checkin date and select the remeber check box
5 - Check in some items, confirm date retained
6 - Checkin the item with the materials specified
7 - Confirm checkin
8 - Note that checkin date is cleared
9 - Apply patch
10 - Repeat 3-7
11 - Confirm date is retained
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Fri, 9 Jun 2023 13:35:41 +0000 (15:35 +0200)]
Bug 33966: (bug 23824 follow-up) Fix submit buttons for translated templates
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Andrii Nugged <nugged@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Fri, 9 Jun 2023 18:42:23 +0000 (15:42 -0300)]
Bug 30002: (QA follow-up) Add .perltidyrc to Makefile.PL mapping
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Martin Renvoize [Wed, 7 Jun 2023 11:42:01 +0000 (12:42 +0100)]
Bug 30649: (follow-up) Improve database update
This patch implements the proposed switch to use the standard DB handle
and only require Koha::Encryption if necessary.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Fri, 9 Jun 2023 07:37:39 +0000 (09:37 +0200)]
Bug 32932: Fix resource_id param for EHoldingsLocalResourcesShow
Caught by cypress tests "ReferenceError: resource_id is not defined" in "Show title".
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Laura Escamilla [Tue, 30 May 2023 18:26:21 +0000 (18:26 +0000)]
Bug 33698: Add fields to the verbose output that show the barcode and title of items that cannot be deleted
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Fri, 9 Jun 2023 06:46:43 +0000 (06:46 +0000)]
Bug 33967: Add unit test to ensure SetEnv doesn't compromise $env
This patch includes a unit test which checks the memory address
of the $env hashref in middlewares before and after
Koha::Middleware::Env is applied.
It succeeds when the same $env is maintained before and after
this middleware. It fails if the $env has been overwritten with
a new hashref (as evidenced by the new memory address for the
hash).
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
David Cook [Fri, 9 Jun 2023 03:59:28 +0000 (03:59 +0000)]
Bug 33967: Fix SetEnv middleware to preserve $env integrity
This patch fixes the Koha::Middleware::SetEnv, so that it
preserves the referential integrity of the $env hash
reference as it passes through the pre-process and post-process
stages of middleware wrapped around the core Koha Plack application.
Test plan:
0a. Apply the patch
0b. vi /etc/koha/sites/kohadev/koha-conf.xml
0c. Uncomment "koha_trusted_proxies"
0d. Add "172.0.0.0/8" to the end of the "koha_trusted_proxies"
0e. koha-plack --restart kohadev
1. vi /etc/apache2/sites-enabled/kohadev.conf
2. Add the following to the OPAC virtualhost:
SetEnv OVERRIDE_SYSPREF_LibraryName "The Best, Truly the Best, Koha Library"
RequestHeader add X-Koha-SetEnv "OVERRIDE_SYSPREF_LibraryName The Best\, Truly the Best\, Koha Library"
RequestHeader add X-Forwarded-For "192.168.100.100"
3. service apache2 restart
4. tail -f /var/log/koha/kohadev/plack.log
5. Go to http://localhost:8080/
6. Note that the plack.log lists 192.168.100.100 as the client IP address
7. Note that the title of the OPAC webpage is
"The Best, Truly the Best, Koha Library Library catalog"
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Owen Leonard [Tue, 30 May 2023 13:02:51 +0000 (13:02 +0000)]
Bug 33855: Clean up forms and page sections on 'manage MARC imports' page
This patch makes minor changes to the structure of the "Manage MARC
imports" page so that sections are more clearly delineated and forms
have the correct structure.
The patch also shortens the new framework field labels and adds hints
for clarification.
To test, apply the patch and go to Cataloging -> Stage MARC records for
import.
- Import a batch of MARC records.
- Go to Cataloging -> Manage staged records.
- View the batch you just imported.
- You should see three sections:
- A list of information about the batch
- Options for changing the matching rules
- Options for setting frameworks during import.
- Test that the form for applying different matching rules still works
correctly.
- Import a batch of records which contains matches (by, for example,
exporting MARC records from Koha and then reimporting the same
batch)
- On the manage page for that batch try changing the matching rule
applied, switching between "Do not look for matching records" and a
matching rule which will catch the duplicate records.
- Test that your records are imported correctly according to the
framework settings you select, both for new records and for replaced
records.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 1 Jun 2023 07:08:08 +0000 (09:08 +0200)]
Bug 33798: Improve consistency of the vendor display view
It was not consistent: indentation, bold, etc.
This patch is suggesting a new style using .page-section and .rows
Is it what we want?
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 1 Jun 2023 06:52:55 +0000 (08:52 +0200)]
Bug 33798: Add colons after the labels on the edit form
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nick Clemens [Thu, 8 Jun 2023 11:15:27 +0000 (11:15 +0000)]
Bug 33957: Add normalized_oclc and only fetch when needed
opac-user.tt wants to normalized_oclc number if using syndetics or B&T images
We don't need to fetch it if not, but we need to pass it if so
To test:
1 - Switch all Syndetics prefs to 'Show' or 'Use' except
SyndeticsClientCode = just enter 'test'
2 - Checkout some items to a patron, ensure the records have:
- ISBN
- UPC
- OCLC number
3 - View opac-user.pl (sign in to opac as the user)
4 - View the network console tab (may need to reload)
5 - Note requests like:
https://secure.syndetics.com/index.aspx?isbn=
1780335792/MC.GIF&client=test&type=xw10&upc=&oclc=
6 - Note that oclc parameter is not filled for record with an oclc number
7 - Apply patch
8 - Reload
9 - Confirm the link now has oclc as expected
10 - Disable syndetics, enable google books or another source
11 - Confirm images display as expected
JD amended patch: tidy
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 7 Jun 2023 09:49:41 +0000 (11:49 +0200)]
Bug 33901: (bug 30718 follow-up) Predition pattern - don't set end date to today
If the end date is not set we should not set it to today.
On bug 30718 the following change was wrong:
-$enddate = eval { output_pref( { str => $enddate, dateonly => 1, dateformat => 'iso' } ); };
+$enddate = dt_from_string($enddate)->ymd;
output_pref returns undef if str is empty
After the change we returned today's date.
Test plan:
1. Go to Serials > Manage numbering patterns
2. Click Edit next to one of the existing patterns (e.g. Number)
3. Enter information in the Test prediction pattern section
- Frequency: choose one (e.g. 1/month)
- First issue publication date: enter a date (e.g. 2023-06-01)
- Subscription length: issues + enter a number of issues (e.g. 12)
- Locale: leave empty
- Begins with: enter a number in the X column, e.g. 42
4. Click Test pattern
=> Without this patch only one issue is shown, no matter how many you enter in Subscription length
=> With this patch applied the end date is not set to today and the
prediction pattern list is correct
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Fri, 9 Jun 2023 11:37:25 +0000 (08:37 -0300)]
Bug 33945: DBRev 23.06.00.004
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Kyle M Hall [Thu, 8 Jun 2023 12:32:33 +0000 (12:32 +0000)]
Bug 33945: (QA follow-up) Don't show delay message on patron details page
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Katrin Fischer [Thu, 8 Jun 2023 12:21:18 +0000 (12:21 +0000)]
Bug 33945: (follow-up) Avoid breaking checkouts table when pref is empty
When the pref is empty, the checkouts table would break.
This avoids it.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Kyle M Hall [Thu, 8 Jun 2023 11:55:22 +0000 (07:55 -0400)]
Bug 33945: (QA follow-up) Add delay spinner and message
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Kyle M Hall [Wed, 7 Jun 2023 18:29:05 +0000 (14:29 -0400)]
Bug 33945: Add ability to delay the loading of the current checkouts table on the checkouts page
If a librarian has opted to load the checkouts table automatically on the checkouts page, it will trigger a call to svc/checkouts. If a librarian is checkout out 10 items to a patron, that means svc/checkouts is called uselessly 9 times, with only the 10th time being used to display the checkouts table.
It would be useful to add a delay such that the table only load if the page has been display for a given number of seconds. That way the continuous scanning does not trigger useless svc/checkouts calls, but the librarian also does not need to click the load checkouts button manually.
Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Verify "Always show checkouts immediately" retains its' original
behavior of loading the checkouts table immediately
4) Set LoadCheckoutsTableDelay to a non-zero integer
5) Verify the automatic table loading is delayed by that number of
seconds
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Thu, 8 Jun 2023 12:32:53 +0000 (14:32 +0200)]
Bug 33852: Add one more test
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Tomas Cohen Arazi [Mon, 29 May 2023 13:30:06 +0000 (10:30 -0300)]
Bug 33852: Make jobs.t test the only_current parameter
This trivial patch adds a test to the only_current parameter.
To test:
1. Apply this patch
2. Run:
$ ktd --shell
k$ prove t/db_dependent/api/v1/jobs.t
=> SUCCESS: New tests added, and pass
3. Sign off :-D
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 7 Jun 2023 10:14:53 +0000 (12:14 +0200)]
Bug 33937: Remove incorrect export in C4::Members
Bug 17600 re-add those exports, but the module does no longer have the
subroutines. We should remove these export.
Test plan:
git grep is your friend
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jake Deery [Fri, 2 Jun 2023 13:13:47 +0000 (13:13 +0000)]
Bug 33880: Remove Version param from GB::Barcode->new
Looking at the code here
if (Koha/Auth/TwoFactorAuth.pmoSelf->{Version}){ #--- auto version select
for(->{Version}=1; ->{Version} <= 40; ++->{Version}) {
last if ({->{Ecc}}->[->{Version}]
>= + ->[->{Version}]);
}
}
in https://metacpan.org/release/KWITKNR/GD-Barcode-1.15/source/Barcode/QRcode.pm#L349
It appears the version parameter is not required, and will default to whatever version has the necessary bits for the input words given
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Wed, 7 Jun 2023 08:33:40 +0000 (10:33 +0200)]
Bug 33888: (bug 22375 follow-up) Add missing USE KohaDates
Bug 22375 added use of KohaDates without the USE statement.
Test plan:
Make sure you have overdues and go to circ/branchoverdues.pl
Without this patch you get a 500
Template process failed: undef error - : filter not found at /kohadevbox/koha/C4/Templates.pm line 127
With this patch applied you can see the overdue list
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Jonathan Druart [Tue, 6 Jun 2023 08:42:20 +0000 (10:42 +0200)]
Bug 33904: Fix 2FA registration when library name has non-latin characters
If the library name contains non-latin characters, the 2FA registration
process will fail with a JS alert coming from a 500 server-side.
The problem is that Auth::GoogleAuth is expecting an already UTF8 encoded string.
We should set the encoding correctly to make Auth::GoogleAuth deal with
the URL escaping internally correctly, then decode on our own (in the
REST API controller)
Test plan:
* Modify your logged in library name and add some non-latin characters
(eg. "my ❤ library")
* Turn on TwoFactorAuthentication
* Go to your account > More > Manage 2FA
* Click the enable button
=> Notice that you see the QR code and that both "issuer" and "key id"
entries display the library name correctly.
* Test the whole 2FA process, confirm that the library name is correctly
displayed on the app you are using.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>