To test:
1 - place a hold for a patron
2 - Get SIP running
https://wiki.koha-community.org/wiki/Koha_SIP2_server_setup
3 - edit the sip_cli_emulator.pl for hold_mode from '+' to '-'
4 - Attempt to cancel hold
5 - It fails
6 - Apply patch
7 - Try again
8 - It succeeds
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Can't call method "lengthunit" on an undefined value at
/usr/share/koha/lib/Koha/Charges/Fees.pm line 101.
Test plan:
1 - Remove all/all rule form circulation rules
2 - Define a rental fee per day for an itemtype
3 - Checkout an item of this type ot patron
4 - Should get note of no circ rule defined
5 - Confirm the checkout
=> item is checked out
Signed-off-by: hc <hc@interleaf.ie>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch "manually" adds the "dataTable" class to the table of search
results in the advanced cataloging editor. This allows the correct
styles to get picked up from existing CSS.
To test, go to Cataloging and open the advanced editor. Perform a search
using the sidebar search form. In the table of results, confirm that
table sorting indicators look correct and that sorting works correctly.
Signed-off-by: Cori Lynn Arnold <carnold@dgiinc.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The script moveitem.pl requires editcatalogue => 'edit_items', the
deletion of a biblio editcatalogue => edit_catalogue. Even if weird I
guess we could have a librarian with edit_items but edit_catalogue.
Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch fixes the required permissions defined on the spec for the
mentioned endpoint.
To test:
1. Apply the tests patch
2. Run:
$ kshell
k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Tests fail due to badly defined permissions
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass! Notice parameters: edit_catelogue didn't exist
5. Sign off :-D
Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch enhances the tests for the DELETE /biblios/:biblio_id
endpoint so more fine grained permissions are tested.
It highlights the fact that the required permissions defined on the spec
are not correcttly defined.
To test:
1. Run:
$ kshell
k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Tests fail because the user (that now has subpermissions only)
does not have enough permissions for a non-existent subpermission
Signed-off-by: Kelly McElligott <kelly@bywatersolutions.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: Liz Rea <wizzyrea@gmail.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: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Test plan:
1) Add some bad data to your borrower_relationships table. ( add or
update a relationship such that the 'relationship' field contains a
value not listed in the corresponding system preference.
2) Go to the about system information page and note the nasty display of
ARRAY(whatever)
3) Apply the patch
4) Repeat step 2 and note that a list of bad values is now displayed
instead.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.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: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
tested using
$ export L=uk-UA (and ru-RU)
$ for o in mandatory optional;
do for a in installer/data/mysql/$L/marcflavour/marc21/$o/*.sql; do
mysql kohatest < $a;
done;
done
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Arbitrary set to -6 when was NULL
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Fixed 991 in uk-UA marc21_bibliographic_DEFAULT_local.sql
All files load without errors, mandatory and optional
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The AllowItemsOnHoldCheckout system preference was renamed to
AllowItemsOnHoldCheckoutSIP to clarify it's use, but one case was missed
in the test suit.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
TEST PLAN:
1. Apply Patch
2. Look at the 5 sysprefs (useDaysMode, OverdueNoticeCalendar, finesCalendar, ExcludeHolidaysFromMaxPickUpDelay, SuspensionsCalendar)
3. Make sure the wording and options all make sense
4. Make sure the options are properly ignoring or using the calendar.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Fixed double 'when' on line 740
No errors
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Create a public list
2 - View the list as a user not signed in
3 - Validate the HTML, note the div closed with open elements, and a form tag unclosed
4 - Apply patch
5 - Those errors are fixed
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Place a hold on an item
2 - Check in the item to trigger the hold
3 - Test both the print and cancel buttons to make sure all looks
correct
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
DUEDGST notice required PREDUEDGST to be on, but both messages have to
be generated independently
Test plan:
0) Do not apply the patch and reproduce the bug
- turn OFF sms PREDUEDGST and turn ON sms DUEDGST for a given borrower
- Sms version of DUEDGST is never generated into the message queue.
1) Apply the patch
2) Ensure that the bug is fixed
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Test plan:
Edit permissions for a patron
Unfold "Manage Koha system settings (Administration panel)"
=> Without this patch a checkbox appears without description
=> With this patch you see the description for manage_accounts
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
AllowItemsOnHoldCheckout is not checked anymore but instead only
whether the tmp_holdsqueue is empty or not.
Signed-off-by: Lari Taskula <lari.taskula@hypernova.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The line
t::lib::Mocks::mock_preference( 'AllowItemsOnHoldCheckout', 0 );
was removed from below this comment line but the comment explaining
what it does was forgotten.
Signed-off-by: Lari Taskula <lari.taskula@hypernova.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The system preference AllowItemsOnHoldCheckout only affects SIP based checkouts. I believe we should rename it AllowItemsOnHoldCheckoutSIP so it matches AllowItemsOnHoldCheckoutSCO. We should also update the description as well.
As far as I know AllowItemsOnHoldCheckout has never affected anything except SIP traffic. That does not preclude the addition of another AllowItemsOnHoldCheckout syspref that would affect the staff interface, but that would be an enhancement and is outside the scope of this bug report.
Test Plan:
1) Test AllowItemsOnHoldCheckout via SIP
2) Apply this patch
3) Test AllowItemsOnHoldCheckoutSIP via SIP
4) Note there is no difference!
5) Note the syspref description has been update to mention SIP
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Test plan:
- Turn off "suggestions"
- Turn on "ILLModule"
=> When logged in you should see the "Make an Interlibrary loan request"
- Turn on "suggestions"
- Turn off "ILLModule"
=> When logged in you should see the "Make a purchase suggestion"
- Turn on "suggestions"
- Turn on "ILLModule"
=> When logged in you should see both links.
- Turn off "suggestions"
- Turn off "ILLModule"
=> You should not see the "Not finding what you're looking for?" block
- Turn on "suggestions"
- Turn on AnonSuggestions
=> You should see the "Make a purchase suggestion" even when logged out
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
When doing OPAC search, at the bottom you have an offer presented with "Not finding what you're looking for" to introduce Suggestions or ILL if enabled.
Bug 7317 modified the if-else and now if you enable ILLModule but not AnonSuggestions and are not logged, you have this little string sitting there, offering nothing to the user.
Just taunting them...
TEST:
0) Set IllModule to true, AnonSuggestions to false.
1) Without login, just to an OPAC search. At the bottom will be a nice string laughing at your failed search
2) Apply the patch.
3) Problem at 1) is fixed.
4) Login to validate that ILL link now appear.
5) Modify combination of IllModule and AnonSuggestions to validate links appearing.
Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>
Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds validation of report group and subgroup inputs so that
the user can't enter data into only one half of the group code/name
pair.
To test, apply the patch and go to Reports -> Use saved.
- Create or edit a report which doesn't have a group or subgroup
assigned.
- Under "Report group," select the "or create" radio button.
- Click the "Update SQL" button to submit the form without entering a
group code or name. The form should require taht you enter data into
both fields.
- Enter data into the report group code and name fields. Add data to
either the code or data field under "Report subgroup." You should
not be able to submit the form without populating both.
- Start over editing a report which doesn't have a group or subgroup
assigned.
- Select an existing group under "Report group."
- Under "Report subgroup," select the "or create" option.
- You should not be able to submit the form without adding data in
both the code and name fields for the report subgroup.
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The plugin hook intranet_js is after body tag in intranet-bottom.inc :
</body>
[% KohaPlugins.get_plugins_intranet_js | $raw %]
</html>
It must be before like in opac-bottom.inc
Test plan :
1) Install a Koha plugin with intranet_js hook, like KitechenSink
2) Go to an intranet page
3) Look at source of the page to see plugin code is before body end tag
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The lines with my @barcodes makes no sense anymore.
Test plan:
Test with a barcode file.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The solution for items does not work, since it compares barcodes.
Instead of a grep in a map, we could do simpler.
Test plan:
Try barcode file, order not by itemnumber. Toggle with case. Add wrong code.
Try same via barcode list text area.
Try an itemnumber file, reorder again. Add wrong number.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
They must be displayed in the same order they have been scanned (or they
appear in the file)
This is an alternative patch. Same behavior for barcodes or itemnumbers,
as well as if a file has been used or items scanned.
Code is duplicated, but refactoring is out of the scope.
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
In biblio or autority record edition, color subfield text in red when mandatory.
Like patron fields in patron edition form.
Test plan :
1) Edit a biblio record
2) See that mandatory subield text is red (#C00)
3) Same in autority record edition
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The same sysprefs search will not always return the results in the same
order.
If you search for 'd' in the "search system preferences" box
/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=d
you will see that the modules are not ordered consistently.
This patch makes them display alphabetically
Test plan:
Search the same string several times in the syspref list.
The search result should always be ordered the same way
Signed-off-by: cori <corilynn.arnold@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
If the search engine index returns a record that is no longer in the DB,
an OPAC search will explode with:
Can't call method "get_coins" on an undefined value at
/usr/share/koha/opac/cgi-bin/opac/opac-search.pl line 692.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
When loading returns.pl, code to check rotating collections fires off an search for items by barcode, but doesn't check for a barcode first. This means the code will search for items where barcode is NULL, which is definitely not the intended function.
Test Plan:
1) Apply this patch
2) Set up a rotating collection with items
3) Transfer the collection
4) Check in a rotating collection item
5) Note no change in functionality
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds some inline CSS to force clearing on some elements in
the forms for batch record modification and deletion. The problem with
selecting the "Authorities" radio button stemmed from the fact that
non-clearing floats caused elements to invisibly overlap in the form.
To test, apply the patch and test both batch record modification and
batch record deletion. Upon selecting the "Authorities" radio button in
each case the "Select a list of records" tab should disappear. Selecting
the "Biblios" option should re-display the tab.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Set or have two patrons with emails - note thier borrowernumber for the report
2 - Create a report - note the report id ($REPORT_ID)
SELECT borrowernumber, surname, firstname, email FROM borrowers WHERE borrowernumber IN (##,##);
3 - Create a notice in circulation with code TESTEMAIL
4 - The content should be "[% surname %]"
5 - perl misc/cronjobs/patron_emailer.pl --report $REPORT_ID --notice TESTEMAIL --module circulation --from anyone@anywhere.com --verbose
6 - Note that the emails both have the same surname
7 - Apply patch
8 - Repeat 5
9 - Emails now have correct content
Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jessica Zairo <jzairo@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch makes objects.search pass the to_mode method reference so it
can be used to map API attributes to column names when building the
sorting portion of the query.
To test:
1. Apply the regression tests on this patchset
2. Run:
$ kshell
k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t
=> FAIL: Tests fail!
3. Apply the rest of the patchset
4. Run:
k$ prove t/Koha/REST/Plugin/Query.t
=> SUCCESS: Tests pass! changes to the methods work as expected!
5. Run:
k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t
=> SUCCESS: Tests pass!
6. Sign off :-D
Sponsored-by: ByWater Solutions
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds a to_model parameter to dbic_merge_sorting so it is
passed when used (for example from objects.search). The to_model param
is passed along to the _build_order_atom method where it is finally
used.
In the process I wrote tests that reflected some problems in the current
code:
- Mojolicious automatically returns a scalar if a query parameter only
happens once on a request. The code expected an arrayref in every case.
- There's a design issue that forced me to use some hacky code in
_build_order_atom.
The first issue is dealth with, by using Scalar::Util::reftype as the
Perl docs recommend.
The second issue, I don't plan to clean it here, as there's ongoing work
on a Koha::Objects->search_from_api method that will obsolete this code
most probably (see bug 23893 for a better picture of where the mappings
will be living soon).
To test:
1. Apply this patch
2. Run:
$ kshell
k$ prove t/Koha/REST/Plugin/Query.t
=> SUCCESS: Tests pass!!
3. Sign off :-D
Sponsored-by: ByWater Solutions
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This patch adds missing tests for calling objects.search with
non-existent column names for sorting, that should be mapped using
to_model for that matter.
Tests should fail as there's no current use of to_model for building the
order_by portion of the query.
Sponsored-by: ByWater Solutions
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
If there is a limit for the number of suspension days
(maxsuspensiondays), the calculation is wrong. We are reducing the
number of days before taking into account the suspension charging
interval.
For instance, a checkin is 1 year late and the circ rules are defined to
charge 7 days every 15 days.
It results in 365 * 7 / 15 days of suspension => 170 days
Before this patch the calculation was:
365 * 7 limited to 333, 333 / 15 => 22 days
Test plan:
Given the examples in the commit messages and the description of the bug
report, setup complex circulation rules and confirm that the debarment
dates are calculated correctly
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
No changes expected here. For the next patch we are going to need to add
test and calculate the new debarment date. To ease the writing of these
tests the calculation is moved out of the existing subroutine.
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>