Nick [Mon, 7 Oct 2019 20:09:04 +0000 (20:09 +0000)]
Bug 23771: Don't look for patrons if we don't have a userid
While the code requires external auth to test, the change is simple enough I
think a good read would suffice
To test:
1 - You either need Shib or CAS enabled and setup
2 - Add two users with blank.null cardnumbers
3 - Lock those user accounts
Set failedloginattempts to 1
Try a bad login with the userid
Or set via the DB
4 - Try a good login via the external auth
5 - Note it fails
6 - Apply patch
7 - Login now succeeds
Signed-off-by: Mike Somers - Bridgewater State University <msomers@bridgew.edu> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Nick [Thu, 3 Oct 2019 11:06:47 +0000 (11:06 +0000)]
Bug 17140: Make rounding syspref controlled
Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Blou [Fri, 21 Dec 2018 15:33:29 +0000 (10:33 -0500)]
Bug 17140: fix rounding errors when paying fines
Whenever a fine (accountlines in DB) has a precision longer than two floating points, it becomes very hard for a user to clear it.
Ex: 1.035 will be displayed as 1.04 or 1.03 depending on the screen. But entering any of those value in Pay Fine will not clear it.
The user has no way to know the exact value to enter.
This fix makes sure that the intent of the user is met, by matching the EXACT needed sum when the difference is less than 0.01.
TEST
1) Create a 1.035 fine
- Go to a Patron screen
- Fines tab on the left
- Create manual invoice
2) go to Pay fines, click Pay amount on bottom left.
3) It will show 1.03 as Total, and as Collect from patron. Click confirm.
4) An error message will appear.
5) Apply patch, do again.
Signed-off-by: Hayley Mapley <hayleymapley@catalyst.net.nz> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Colin Campbell [Tue, 16 Oct 2018 15:27:17 +0000 (16:27 +0100)]
Bug 21580: Pass buyer_ean to create_edi_order
create_edi_order requires two parameters to be passed
but if vendor was set to auto_order the subroutine
was called with basketno only resulting in the error
'no basket or ean passed' - pass the buyer_ean as
passed in the quotes message
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Martin Renvoize [Wed, 9 Oct 2019 14:03:06 +0000 (15:03 +0100)]
Bug 20334: (RM follow-up) Fix test for case insensative filesystems
This patch moved the tests created in Elasticsearch/QueryBuilder.t into
ElasticSearch/QueryBuilder.t and thus removes the case directory name
collision introduced.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Correct error whereby object curCursor was invoked as a function.
Added action whereby the most recent entry in the clipboard is
selected after all copy and cut operations.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Nick Clemens [Wed, 20 Feb 2019 17:30:36 +0000 (17:30 +0000)]
Bug 17179: Add keyboard shortcuts to repeat (duplicate) a field, and cut text
This patchset introduces an internal clipboard to the advanced editor
and provides some new functionality to make use of this, default shortcuts are provided
but can be edited per bug 21411
The default shortcuts for new/changed functions are:
Changed:
Ctrl-X: Now cuts a line into the clipboard area
Shift-Ctrl-X: Now cuts current subfield into clipboard area
Added:
Ctrl-C: Copies a line into the clipboard area
Shift-Ctrl-C: Copies current subfield into clipboard area
Ctrl-P: Pastes the selected item from the clipboard at cursor
Ctrl-I: Copies the current line and inserts onto a new line below
To test:
Verify all functionality above and confirm it behaves as expected
Note:
Ctrl-v pastes from the system clipboard - codemirror does not have
access and this is why we use our "Clipboard"
For browser cut/paste please use mouse right click or context menus
Ctrl-P can be accessed as print by focusing outside the editor window
Signed-off-by: Alex Sassmannshausen <alex@komputilo.eu> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Nick [Wed, 2 Oct 2019 09:58:59 +0000 (09:58 +0000)]
Bug 23626: Only fetch full chart data if requested
This patchset prevents the full return of report data unless explicitly requested by the user for charting purposes
Additionally the user is warned if requesting more than 1000 rows of data
To test:
1 - Create a report that returns over 1000 rows of data
2 - Run the report
3 - Note you have two buttons now 'Chart data' and 'Fetch all data for chart'
4 - Click chart data
5 - Note the note that you are only charting visible data
6 - Create the chart and confirm it works
7 - Close the chart
8 - Click 'Fetch all data'
9 - Note the confirm window
10 - Click 'cancel', note there is no change
11 - Repeat and click ok
12 - Fetch all data button is gone
13 - Page to next data, note fetch all does not return
14 - Click 'Chart data'
15 - Note you now have checkbox option to use all data in report
16 - Click it
17 - Create chart
18 - Confirm it works as expected
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Jonathan Druart [Sat, 8 Jun 2019 20:34:24 +0000 (15:34 -0500)]
Bug 22927: Do not check an already lost item when marked as withdrawn or damaged
Due to how moredetail.pl was written it was hard to know which action
was triggered.
Test plan:
- Set MarkLostItemsAsReturned to "from the items tab of the catalog
module."
- Check an item out to a patron
- Use additem.pl to set that item to a lost status without returning it
- go to moredetail.pl for that item
- mark item as either damaged or withdrawn without interacting with the
lost dropdown
- note that item has not been returned
Note for QA: Maybe we could have just tested if exists $item_changes->{'itemlost'}
to call LostItem
Signed-off-by: Claudie Trégouët <claudie.tregouet@biblibre.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Fridolin Somers [Tue, 28 May 2019 13:48:54 +0000 (15:48 +0200)]
Bug 22997: Searching gives no results in auth_finder.pl
During cataloguing of an existing biblio, on an heading field,
the use of tag editor fills authorities finder with existing value :
Search main heading ($a only)
Search main heading
Default operator beeing 'contains'.
Actually with Elasticsearch those search give no results.
Example with heading :
200
$a Casaubon
$b Isaac
$f 1559-1614
Patch adds to "query_string" :
analyze_wildcard : true.
Test plan :
1) Use Elasticsearch
2) Edit an existing biblio record
3) Use tag editor on a heading
4) Click search => You get correct results
5) Check also search in authorities-home.pl
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Martin Renvoize [Wed, 9 Oct 2019 06:28:50 +0000 (07:28 +0100)]
Bug 14669: (RM follow-up) Ensure updated include compiles
The introduction of `options_for_libraries` in the filter-orders include
template requires that we process 'html_helpers' within the file to
ensure it always compiles.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Lucas Gass [Wed, 2 Oct 2019 23:54:21 +0000 (23:54 +0000)]
Bug 23720: Add div wrapper to search results to make moving cover images easier
TEST PLAN:
1. Apply this patch and turn on some cover images.
2. Add this CSS: '.bibliocol {display: flex;}.coverimages
{padding-right:20px;}' to the OPACUserCSS.
3. Notice covers on left.
4. Remove CSS and notice covers should look normal on the right side.
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Lucas Gass [Thu, 3 Oct 2019 06:27:27 +0000 (06:27 +0000)]
Bug 23731: Give staff detail/OPAC detail option to display LOC classification
Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Kyle M Hall [Mon, 26 Aug 2019 18:33:29 +0000 (14:33 -0400)]
Bug 23507: Add ability to show change given on auto-popup fee receipt from FinePaymentAutoPopup
Some libraries would like to show the amount of change given on print reciepts triggered by FinePaymentAutoPopup
so the patron can verify he or she has recieved the correct amount of change.
1) Apply this patch
2) Edit ACCOUNT_CREDIT slip and add "[% IF change_given %]<h1>CHANGE: [% change_given %]</h1>[% END %]" at the top
3) Enable FinePaymentAutoPopup
4) Make a payment
5) Note the change given is shown on the popup receipt
6) Note the change given is *not* shown on subsequent prints of the same receipt using the "print" button for the payment
Signed-off-by: Kyle Hall <kyle@bywatersolutions.com> Signed-off-by: Hasina Akhte <hasinaa@pascolibraries.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
David Kuhn [Thu, 8 Nov 2018 16:58:37 +0000 (08:58 -0800)]
Bug 21701: Have PayPal optionally return to originating OPAC url rather than OPACBaseURL
This enhancement will allow a library to choose whether to use the alias of the
current OPAC or the value of OPACBaseURL as the return url when making payments
via PayPal.
To test:
Note: you need to have PayPal enabled on your system (either Sandbox mode or
Live) and be using an alias URL for your OPAC.
1. Apply the patch.
2. With the option "PayPalReturnURL" set to "OPACBaseURL", log into a card via
the OPAC and start the process to pay in PayPal (you can either complete the
payment or cancel from the PayPal page). When you are returned to the OPAC, the
domain will be the value of OPACBaseURL.
3. With the option "PayPalReturnURL" set to "OPAC's alias", repeat the above
sequence to make a payment in PayPal. When you are returned to the OPAC, the
domain will be your current alias.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Ere Maijala [Tue, 27 Nov 2018 11:40:44 +0000 (13:40 +0200)]
Bug 13937: Add tests for search and retrieval
Sponsored-by: National Library of Finland Signed-off-by: Stefan Berndtsson <stefan.berndtsson@ub.gu.se> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Ere Maijala [Thu, 22 Nov 2018 09:20:01 +0000 (11:20 +0200)]
Bug 13937: Add support for SRU and Elasticsearch
Splits Session to GenericSession and ZebraSession where Generic supports any
search backend via the SearchEngine classes and Zebra maintains the direct
channel to the Zebra server.
Adds config files required for mapping BIB-1 attributes to Koha search fields
and SRU indexes to BIB-1 attributes.
Adds PODs.
Sponsored-by: National Library of Finland Signed-off-by: Stefan Berndtsson <stefan.berndtsson@ub.gu.se> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Nick Clemens [Mon, 12 Dec 2016 14:20:25 +0000 (14:20 +0000)]
Bug 13937: (follow-up) Remove reference to sub _prefetch_records
Remove reference to sub _prefetch_records
It appears this sub is built into fetch and this call is a duplicate
Signed-off-by: George Williams <george@nekls.org> Signed-off-by: Stefan Berndtsson <stefan.berndtsson@ub.gu.se> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Jesse Weaver [Fri, 11 Dec 2015 21:26:20 +0000 (14:26 -0700)]
Bug 13937: Add a Z39.50 daemon that can inject item status MARC subfields
This creates a new daemon, misc/z3950_responder.pl, which can respond to
Z39.50 requests. By default, it just proxies searches to Zebra.
If desired, however, it can also add a subfield to the item tags on
outgoing records with a textual description of the item's status
(checked out, lost, etc.). This is useful for certain ILL systems. These
strings can be translated using the 'Z3950_STATUS' authorized value.
Test plan:
1) Start the Z39.50 server using `perl misc/z3950_responder.pl`.
2) Connect to the server using `yaz-client 127.0.0.1:9999/biblios`.
3) Run a search, such as `find @attr 1=1016 book`.
4) Fetch the results both one at a time with `show 1` and in a batch
using `show 1+5`.
5) Turn on MARCXML using `format xml` and `elements marcxml`, and
verify that the records are still correctly fetched.
6) Enable the item status subfield by restarting the server with the
option `--add-item-status=k`.
7) Search for and fetch records, and verify that a $k subfield is
added to the item tags as appropriate. It should show some
combination of "Checked Out", "Lost", "Not For Loan", "Damaged",
"Withdrawn", "In Transit", or "On Hold" as appropriate, or
"Available".
8) Add an authorized value named "Z3950_STATUS" with any of the keys
"AVAILABLE", "CHECKED_OUT", "LOST", "NOT_FOR_LOAN", "DAMAGED",
"WITHDRAWN", "IN_TRANSIT" or "ON_HOLD", and verify that their
descriptions are used instead of the default values above.
Signed-off-by: George Williams <george@nekls.org> Signed-off-by: Stefan Berndtsson <stefan.berndtsson@ub.gu.se> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Josef Moravec [Wed, 3 Jul 2019 19:58:20 +0000 (19:58 +0000)]
Bug 17005: Fix bad rebase
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Josef Moravec [Thu, 4 Apr 2019 07:42:14 +0000 (07:42 +0000)]
Bug 17005: Add plugin parameters to /checkouts endpoint
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Josef Moravec [Mon, 1 Apr 2019 08:24:23 +0000 (08:24 +0000)]
Bug 17005: Test for checked_in parameter
Test plan:
prove t/db_dependent/api/v1/checkouts.t
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Josef Moravec [Mon, 1 Apr 2019 07:56:39 +0000 (07:56 +0000)]
Bug 17005: Add checked_in checkouts to REST API response
This patch implements parameter 'checked_in' on checkouts endpoint to
enable getting circulation history.
Test plan:
1) Apply the patch and restart plack
2) Use your favorite REST API tester and play with /checkouts endpoint:
- use it without checked_in parameter
- use checked_in=1 for getting returned checkouts
Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Julian Maurice [Thu, 3 Oct 2019 13:04:35 +0000 (15:04 +0200)]
Bug 18309: Add missing fields in biblio framework
018 - [Reserved for other International Standard Numbers]
033 - Other System Persistent Record Identifier
183 - Coded Data Field: Type of Carrier
203 - Content Form and Media Type
231 - Digital File Characteristics
283 - Carrier Type
338 - Funding Information Note
Signed-off-by: Sonia BOUIS <sonia.bouis@univ-lyon3.fr> Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch introduces tests for the GET /biblios/{biblio_id} endpoint.
It tries to cover all the use cases.
To test:
- Apply this patchset
- Run:
$ kshell
k$ prove t/db_dependent/api/v1/biblios.t
=> SUCCESS: Tests pass!
- Use Postman (or your favourite tool) to test the API
=> SUCCESS: Works as expected!
- Sign off :-D
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 23677: Controller method and dependencies tweak
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 23677: OpenAPI spec for GET /biblios/{biblio_id}
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Martin Renvoize [Fri, 8 Feb 2019 10:37:50 +0000 (10:37 +0000)]
Bug 22294: Check return of as_isbn10 before calling methods on it
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Kyle Hall [Wed, 20 Mar 2019 17:37:56 +0000 (17:37 +0000)]
Bug 22540: (QA follow-up) fixes
borrowernumber is not an accessor for C4::SIP::ILS::Patron, access is
via hashref
Add ability to specify the pickup location using a command line
parameter
Signed-off-by: Liz Rea <wizzyrea@gmail.com> Signed-off-by: frederik chenier <frederik.chenier@inlibro.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Kyle M Hall [Tue, 19 Mar 2019 15:22:03 +0000 (11:22 -0400)]
Bug 22540: Add ability to place holds using SIP CLI emulator
Test Plan:
1) Place a hold using the following arguments:
sip_cli_emulator.pl -a <address> -p <port> -su <sip_user> -sp <sip_password> -l <location_code> --patron <cardnumber> --item <barcode> -m hold
2) Note the hold was placed in Koha
Signed-off-by: Liz Rea <wizzyrea@gmail.com> Signed-off-by: frederik chenier <frederik.chenier@inlibro.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Magnus Enger [Mon, 30 Sep 2019 08:03:13 +0000 (10:03 +0200)]
Bug 23400: Add --status to koha-indexer
koha-zebra has a nice, informative --status switch, koha-indexer
does not. This patch adds it.
To test:
- Run "sudo koha-indexer --status kohadev" - you get an error:
"Error: invalid option switch (--status)"
- Apply this patch
- If you are on e.g. kohadevbox you need to copy koha-indexer to
where it is actually run from:
sudo cp debian/scripts/koha-indexer /usr/sbin/koha-indexer
- Run "sudo koha-indexer --status kohadev" again and you should
get a nice status telling if the indexer is running or not
- Toggle the indexer on and off with koha-indexer --start/--stop
and verify the status is telling the truth about the state of
the indexer
- Run "sudo koha-indexer --help" and check there is a description
of the --status option
- Have a look at debian/docs/koha-indexer.xml and verify there is
an adequate description of the --status option.
- Run "prove -v xt/verify-debian-docbook.t" to check the structure
of the man page in DocBook format.
PS: I tried to generate a manpage from the DocBook as described at
https://wiki.koha-community.org/wiki/Testing_man_pages
but the output did not look good for any of our DocBook files.
Not sure why.
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Katrin Fischer [Sun, 28 Oct 2018 23:57:46 +0000 (23:57 +0000)]
Bug 20334: Move new system preference into right spot in alphabet
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
David Gustafsson [Mon, 22 Oct 2018 13:50:07 +0000 (15:50 +0200)]
Bug 20334: Improve syspref description and set more sensible defaults
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 20334: Option for escaping slashes in search queries
Add "QueryRegexEscapeOption" system preference to provide option to escape
Elasticsearch regexp delimiters (/) within queries, or alternativly to
unescape escaped slashes (\/) while escaping unescaped slashes, in
effect making "\/" the new regexp delimiter.
How to test:
1) Run tests in ./t/Koha/SearchEngine/ElasticSearch/QueryBuilder.t
2) All tests should succeed
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr> Signed-off-by: Maksim Sen <maksim.sen@inlibro.com> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>