Commit Graph

31967 Commits

Author SHA1 Message Date
Owen Leonard fe9888e1ab
Bug 19291: Make breadcrumbs for OPAC search history consistent with other patron account pages
This patch adds the logged-in patron's name to the search history page's
breadcrumb navigation.

To test, apply the patch and view the OPAC search history page with no
user logged in. The breadcrumbs should read:

- Home ->  Search history

Log in and return to the search history page. The breadcrumbs should
read:

- Home -> Owen Leonard -> Your search history

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Followed the test plan and it works.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

https://bugs.koha-community.org/show_bug.cgi?id=21137

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit ff3987c023)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-10 08:45:29 +01:00
Jonathan Druart 88a2c8886c
Bug 21056: Add another flush later
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 5abcd3312a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-10 08:44:10 +01:00
Kyle M Hall 0a5dabc271
Bug 21056: Changing the logged in library can fail sporadically
We are getting reports that sometimes changing the logged in library via selectbranchprinter.pl sometimes appears to fail. Flushing the session after updating the branch appears to fix this.

Test Plan:
1) Change your logged in library repeatedly. Hopefully ( sort of ) it will fail to change.
   You may want to try various browsers.
2) Apply this patch
3) Note the change no longer fails

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 76a06a7050)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-10 08:43:50 +01:00
Jonathan Druart 54d960cb86
Bug 21141: Handle non-existent itemnumbers in batch item modification/deletion
The itemnumber list passed from a file in the batch item
modification/deletion tools is not tested.
Like barcodes we should make sure they refer to a valid items in the DB.

Test plan:
- Create a file with barcodes, itemnumbers and random lines
- Use the batch item modification and deletion tools with this file
You should see a table with a list of invalid barcodes and itemnumbers.

Without this patch you got the following error:
Can't call method "title" on an undefined value at
/home/vagrant/kohaclone/tools/batchMod.pl line 580

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit e8e29d3140)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-10 08:42:35 +01:00
Owen Leonard 9bb74effa3
Bug 21148: Dropdowns styled by the Select2 plugin do not highlight missing required fields
This patch adds some CSS to target mandatory fields on the add item
screen which are styled by the Select2 plugin.

To test you must have at least one item field marked mandatory and
linked to an authorized value.

Open the add item form for an existing record. Try to submit the form
without making a selection in the mandatory dropdown. You should get an
alert warning you that you have empty mandatory fields, and the field
should be highlighted in yellow.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 62aacb5865)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-10 08:33:12 +01:00
Josef Moravec b3b976f189
Bug 21154: Remove unused subs from C4::Serials
Test plan:
Run these commands, grep should not return any occurences, prove should
return green:

git grep GetSerialStatusFromSerialId
git grep GetDistributedTo
git grep SetDistributedTo
git grep SetDistributedto
git grep in_array
git grep is_barcode_in_use

kshell
prove t/db_dependent/Serials.t

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

RMaint Comment: I have opted to replace this charry-pick with a
deprecation warning rather than the removal of these routines outright.

(cherry picked from commit 948566e7f3)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 17:06:50 +01:00
Josef Moravec 9ede6f9a0a
Bug 21145: Do not show buttons for datatables on opac detail page
Test plan:
0) Do not apply the patch
1) Go to opac detail page
2) There are up to three datatables
    - items
    - items from other branches (only if there are any and the OpacSeparateHoldings preference is set)
    - subscriptions
3) try to find record with all three tables and confirm, there is button
"Columns visibility" above the table
4) Apply the patch
5) Repeat 1-3 and confirm the button is no more here

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit c0eb67a557)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:24:07 +01:00
Nick Clemens 77f2da8fb2
Bug 21075: Unit tests
prove -v t/db_dependent/Reserves/AutoUnsuspendReserves.t

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 6e5865ee4f)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:23:07 +01:00
Nick Clemens 9e67cff276
Bug 21075: AutoUnsuspendHolds should unsuspend holds <= today
To recreate:
 1 - Place a hold in your system
 2 - Set that hold (or all holds) to expire today
    update reserves set suspend_until=CONCAT( CURDATE()," 00:00:00");
 3 - Run misc/cronjobs/holds/auto_unsuspend_holds.p
 4 - Note the hold is sitll suspended
 5 - Visit /cgi-bin/koha/reserve/request.pl for the book with the hold
 6 - Note the suspend date is tomorrow (and cannot be set to today]
 7 - Click update holds - the date in db is now set to tomorrow
 8 - Reset to today
 9 - Apply patch
10 - Run the cron again
11 - Visit the page and note hold is unsuspended

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit c0f7aed84d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:22:50 +01:00
Jonathan Druart 0d349fba89
Bug 21099: Reposition floating toolbars earlier
To recreate:
- Go to the advanced search form
- scrolldown to position the toolbar on top of the window
- scrollup

https://screenshots.firefox.com/NnkFg3iOXqLPxfkd/pro.kohadev.org

The toolbar should have been repositioned earlier

Test plan:
Edit a patron
- scrolldown
- scrollup
- unfold the form in the header (tab "Search patrons", link "[+]")
- scrolldown
- scrollup
Advanced search
scrolldown
scrollup

You should notice the difference with and without this patch

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 68e735b101)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:21:42 +01:00
Marcel de Rooy f5121183d9
Bug 21048: (QA follow-up) Fix authorized value statuses in filter
If you select an authorized value status in the filter, you want to keep
it too just like normal statuses as CHECKED.
The variable selected_status was not filled. The minimal fix is adding that
template variable in the script. Note that suggestion.STATUS is out of scope
within a loop using suggestion as loop var.

Note: Adding a regular status like CHECKED as an authorized value with
same code but another description works, but is kind of confusing ;) Not
in the scope of this report though.

Test plan:
Select an authval status in the filter. Apply the filter and verify again
that it is still selected under Suggestion information.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b1e8193a84)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:20:29 +01:00
Jonathan Druart e81fdb07c6
Bug 21048: Fix display of suggestion's status (SUGGEST_STATUS)
When a suggestion's status is set to a customized value (AV
SUGGEST_STATUS), the description is not always displayed correctly.

Test plan:
- Create different values for the AV SUGGEST_STATUS
- Create several suggestions
- Change the status using the SUGGEST_STATUS values
- Edit the suggestion and change again the status
- View the suggestions for a given patron
(members/purchase-suggestions.pl?borrowernumber=XX), the statuses must
displayed correctly

Signed-off-by: Lisette Scheer <lisetteslatah@gmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b25c063f95)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:20:08 +01:00
Owen Leonard 8395187a98
Bug 21041: "Merge patrons" button remains disabled with "Select all" option
This patch modifies the JavaScript functions for the select all/clear
all links so that each action triggers the "change" event, required to
enable or disabled the "merge selected patrons" button.

To test, apply the patch and perform a patron search which will return
multiple results.

 - Test the "select all" and "clear all" links, and confirm that the
   "Merge selected patrons" button is enabled and disabled.
 - Test that checking and unchecking multiple checkboxes still works
   correctly to enable and disable the button.

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 4b9021895a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:18:49 +01:00
Katrin Fischer ff6f4f7c88
Bug 21151: Fix SRU search fields mapping pop-up
The SRU search fields mapping pop-up comes up as a blank white
page.

To test:
- Go to Administration > Z39.50/SRU servers
- Modify or create an SRU server
- Click on the 'Modify' button to change mappings
- Verify the new window that opens is blank
- Apply patch
- Verify the pop-up now is no longer blank but works
  correctly.

Bonus: Spottd some HTML errors while looking for the
       problem. Also fixed in the patch.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 039d10044c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:15:59 +01:00
Jonathan Druart 0971fed0b8
Bug 21018: Allow uris defined in the item
We need to search for uri defined for the itemnumber we passed in
parameter.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1d888c8d0e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:08:29 +01:00
Jonathan Druart 20bfb6730f
Bug 21018: Fix TrackClicks for 952$u
Caused by
  commit 51b6cf2aaf
  Bug 19847: Track links within the records and 404 for others

We should also accept uri stored in items.uri (952$u)

Test plan:
- Turn on TrackClicks
- Defined uri for some items
- At the OPAC click on the link (from opac-detail.pl)
=> Without this patch you will get 404 (redirected from tracklinks.pl)
=> With this patch applied you will be redirected correctly and the
linktracker will be filled correctly

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d14ed73744)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:07:20 +01:00
Katrin Fischer b0d692dcaa
Bug 14662: Add empty entries to pull downs in cataloguing form for mandatory subfields
First patch deals with the problem on the item form, this
patch fixes the same problem on catalouging form for the
bibliographic record.

To test:
- Adapt your frameworks:
  - Make sure 942$c is mandatory
  - Link another field to an authorised value, for example: 942$n to YESNO
- Add a new record
  - Verify that the first value of each pull down is preselected,
    there is no way to trigger the 'required' error
- Apply patch
  - Add a record
    - Verify that classification source is preselected according to the
      DefaultClassificationSource system preference
    - Verify that 942$c now defaults to empty
    - Verify all your other mandatory subfields can be set to empty
    - Verify that you can't save before correctly setting them
  - Chane your frameworks
    - Add a default value for 942$c, for example: CF
  - Add another record
    - Verify the itemtype is now preset to your default itemtype
  - Edit an existing record, verify all values show correctly

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 038e4011d4)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:06:21 +01:00
Katrin Fischer f8f6c0490f
Bug 14662: Add empty entries to pull downs on item form for mandatory subfields
The code assumed that if a subfield is marked as mandatory, there should be no
empty entry in the pull downs.

This assumption is not correct, as it leads to the first entry of the
pull down being preselected if there is no default set. Which means you
will never be alerted of any cataloguing errors and errors will be very
hard to find later on.

Correct behaviour would be to preselect the empty value when there is
no default. This means on saving the item an error message is triggered
and the cataloger is forced to set the value.

To test:
- Adapt your frameworks:
  - Make 942$c non-mandatory
  - In 952 make itemtype, classification source and some other pull downs
    like location or collection mandatory
- Add a new item
  - Verify that the first value of each pull down is preselected,
    there is no way to trigger the 'required' error
- Apply patch
  - Add a new item
    - Verify that classification source is preselected according to the
      DefaultClassificationSource system preference
    - Verify that the itemtype is preselected according to 942$c in
      the bibliographic record
    - Verify all mandatory fields can be set to empty
    - Verify that you can't save before correctly setting them
  - Change the 942$c in the record to empty
  - Add another item
    - Verify the itemtype is now empty
  - Change your frameworks and set a default for itemtype (Ex: BK)
  - Repeat default check with another pull down like collection or location

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
We do not want empty values for branches (holdingbranch and homebranch
must be mandatory, see bug 21011)

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 003a443980)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-09 11:05:53 +01:00
Alex Arnaud be781fc30c
Bug 20273: (follow-up) Autocomplete use start instead of contains
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1abee30bb8)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-06 14:01:01 +01:00
Martin Renvoize 3a55fe35d3
Bug 20273: Use compat routines for autocomplete in auth_finder.pl
Test plan:
  - Context: Koha working with elasticsearch,
  - Apply BZ 19582 (that make auth_finder.pl works again),
  - apply this patch,
  - go to cgi-bin/koha/authorities/auth_finder.pl,
  - type at least 3 chararcters in a search field and
    check that the autocomplete returns results

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 96e768eb43)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-06 14:00:54 +01:00
Jonathan Druart 866806997f
Bug 19604: Fix perlcritic "Loop iterator is not lexical"
Loop iterator is not lexical at line 318, column 13.  See page 108 of
PBP.  (Severity: 5)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 4d45bd5755)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-06 13:59:43 +01:00
Nick Clemens 7b8ea20bce
Bug 19604: Elasticsearch Fixes for build_authorities_query for auth searching
To test:
1 - Do some authority searches in Zebra
2 - Switch to ES and repeat, results will vary and some may fail
3 - Apply patch and dependencies
4 - Reindex ES
5 - Repeat searches, they should suceed and results should be similar to
Zebra
6 - Slight differences are okay, but results should (mostly) meet
expectations

A few notes:
We add a 'normalizer' to ensure we get a single token from the heading
indexes, this makes 'starts with' work as expcted
We switch to 'AND' for fields searched from cataloging editor - this
matches Zebra results
We force the '__sort' fields for sorting - if sorting looks wrong try
reducing the heading field to a single subfield - this will need to be
addressed on a future bug (multiple subfields create an array, ES sorts
        those randomly)

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f983c1e3f7)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-06 13:59:34 +01:00
Nick Clemens 9529ddd29b
Bug 19604: Unit tests
1 - Apply previous patches
2 - prove t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t
3 - Should be green
4 - high fives!

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 7eceade7da)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-06 13:57:52 +01:00
David Cook 11b6ad197a
Bug 21031: Apache Rewrite rules don't work for API when using anything but Debian package Plack configuration
The Rewrite rules for Apache don't work unless you're using
debian/templates/apache-shared-opac-plack.conf or
debian/templates/apache-shared-intranet-plack.conf.

This patch fixes the Rewrite rules for the non-Plack Debian
Apache configuration templates as well as the standard
Apache configuration file that comes with Koha.

__BEFORE APPLYING__
1. Visit /api/v1/app.pl/api/v1/spec on your git dev install
2. This should display a large page of JSON
3. Visit /api/v1/spec on your git dev install
4. This should generate a 404 error

__APPLY PATCH__

__AFTER APPLYING__
5. Visit /api/v1/app.pl/api/v1/spec on your git dev install
6. This should display a large page of JSON
7. Visit /api/v1/spec on your git dev install
8. This should display a large page of JSON (identical to
the one from earlier steps)

Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Passed QA with few notes posted separately to Bugzilla.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c6b50f0bac)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 15:24:41 +01:00
Andrew Isherwood cc81442349
Bug 20770: ILL loans OPAC form notes field allow arbitrary input
This patch addresses the lack of sanitization of the "notes" field on
the OPAC "View Interlibrary loan request" page.

To test:

- Apply the patch
- As an OPAC user, create an ILL request
- Navigate to the request's "View Interlibrary loan request" page
- Add the following note:

  Hello
  <h1>TESTING</h1>
  <script>alert('pwned');</script>

- Click "Submit modifications"
- TEST: Observe, when the page reloads, only the following is preserved in the
"Notes" textarea:

    Hello
    TESTING

- As a staff user, naviate to the ILL requests table
- Select "Manage request" for the request you created
- TEST: Observe that the Notes field only contains:

    Hello
    TESTING

- TEST: Observe that no Javascript alert is displayed

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 552873f7d4)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 15:22:45 +01:00
Liz Rea 1c988ed7fb
Bug 21122: Fix check-url-quick when utf8 characters in URL's
To test:

Make a record with a URL that has a UTF8 character, such as:
http://some.nonexistent.tld/MāoriWomenAotearoa.pdf
Run the check-url-quick.pl job, notice it dies at that URL
Apply this patch
Test again, it should work.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 10720d2a5c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 15:21:35 +01:00
Owen Leonard 40cf253a0d
Bug 21094: Syndetics: always use https instead of http
This patch removes the 'using_https' check in OPAC templates in calls to
Syndetics resources. Instead, https is always used.

To test, apply the patch and enable Syndetics-related preferences. View
the following pages in the OPAC:

- Bibliographic detail page
  - Browse shelf section of the bibliographic detail page
- Search results
- List contents
- Recent comments
  - Recent comments RSS
- User summary page
  - Circulation history

NOTE: I tested with made-up Syndetics credentials. This means my changes
didn't make the template explode, but it doesn't confirm conclusively
that the resources work.

Signed-off-by: John Doe <you@example.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 6e0548cc1a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 15:18:47 +01:00
Katrin Fischer dc490f7d86
Bug 21077: Fix database documentation for statistics.type
There's a typo for 'locause', this should be 'localuse'.
Also, 'Credit*' is never used.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0b89cbf6a4)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 15:13:56 +01:00
Alex Arnaud 8cfacd7e16
Bug 21032: Fix using facet for searches made on specific index
Test plan:

  - Try a simple search (OPAC or staff) like "title:foo",
  - click on a facet: badaboum!
  - apply this patch,
  - retry

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 96f253d5ed)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 15:07:21 +01:00
Jonathan Druart c6133753ed
Bug 21134: Correctly throw the exception in Koha::Patron::Modification->approve
koha_1       |     # Looks like you planned 20 tests but ran 9.
koha_1       |
koha_1       | #   Failed test 'approve tests'
koha_1       | #   at t/db_dependent/Koha/Patron/Modifications.t line
259.
koha_1       | [Something went wrong]# Looks like your test exited with
255 just after 5.
koha_1       | [21:13:47] t/db_dependent/Koha/Patron/Modifications.t
.....................

"Something went wrong" should never been thrown,
Koha::Patron::Modification->approve raises $@, but it's not defined, it
should raise $_ instead

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 6e99cfbca7)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 14:42:50 +01:00
Jonathan Druart 24e4e44c74
Bug 20757: Add pod for ->capture
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 9eec98d318)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 14:33:50 +01:00
Jonathan Druart eb2a2e4de3
Bug 20757: Capture and upload screenshot on selenium errors
It is a real pain to debug selenium errors, especially when it is
not reproducible locally.

This patch capture a screenshot when an error occurred and upload it
using the excellent lut.im service provided by framasoft
(We could host our own later).

Test plan:
Modify a selenium script to make it fails (search for find_element)
You will see a stack trace followed by a link to framapic.org

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 2898b58089)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 14:31:05 +01:00
Martin Renvoize 803eb524c6
Bug 20980: (RMaint follow-up) - Fix for missing use after merge
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-03 14:10:25 +01:00
Tomas Cohen Arazi a73d45534f
Bug 20942: (QA follow-up) Use $lines->total_outstanding
This patch makes the controller code use $lines->total_outstanding
instead of expecting ->outstanding_debits and ->outstanding_credits
return the total.

Tests should pass as before. No behaviour change is expected.

To test:
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests still pass, no behaviour change.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 6672b26d16)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:37 +01:00
Tomas Cohen Arazi 66faf4dd1c
Bug 20942: Split debit and credit lines
This patch splits the balance to match this object schema:

{
    balance             => #,
    outstanding_credits => {
        total => #,
        lines => [ credit_line_1, ..., credit_line_n ]
    },
    outstanding_debits  => {
        total => #,
        lines => [ debit_line_1, ..., debit_line_m ]
    }
}

This change is made to ease usage from the UI. Also because the
outstanding credits need to be applied to outstanding debits in order to
the balance value to make sense. So we still need to have each total.

Tests are added for this change, and the schema files are adjusted as
well.

To test:
- Apply this patch
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests pass!
- Sign off :-D

staff_id is changed into user_id as voted on the dev meeting the RFC got
approved.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit bb7c908dc0)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:36 +01:00
Tomas Cohen Arazi 477cee1ae9
Bug 20942: Add route to get patron's account balance
This patch implements the /patrons/{patron_id}/account endpoint. It can
be used to get the patron's balance information, including outstanding
lines.

To test:
- Apply this patchset
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: tests pass!
- Make your favourite REST testing tool (RESTer on Firefox?) do:
  GET /api/v1/patrons/{patron_id}/account
to a valid patron_id. Play with Koha's UI to add credits/payments and
notice the endpoint returns the right info following the voted RFC. [1]
- Sign off :-D

[1] https://wiki.koha-community.org/wiki/Patrons_account_lines_endpoint_RFC

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d079c80b05)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:36 +01:00
Tomas Cohen Arazi 2dd7b408b3
Bug 20942: Unit tests for /patrons/{patron_id}/account
This patch adds tests for the /patrons/{patron_id}/account endpoint.
To test:

- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> FAIL: Tests should fail because the endpoint is not implemented.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 7cbff1bce1)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:36 +01:00
Tomas Cohen Arazi ac321e17d9
Bug 20942: OpenAPI spec for /patrons/{patron_id}/account
This patch adds the OpenAPI spec for the following paths:
- /patrons/{patron_id}/account

It also adds object definitions for:
- balance
- account line

Account line is to be used on both /account/lines (when implemented)
and for embeding the outstanding lines in the balance endpoint
(/patrons/{patron_id}/account).

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d383b49987)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:36 +01:00
Tomas Cohen Arazi 6ee9d8a888
Bug 20990: (QA follow-up) make outstanding_credits return the account lines only
This patch was discussed with Jonathan on a QA conversation. It is
better to keep this simpler and more reusable. And is the right approach
in this case.

This patch makes Koha::Account::outstanding_credits return the account
lines, code that used the $total value, will just use

    $lines->total_outstanding;

Tests are adjusted accordingly.

To test:
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Test pass.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 9bfb3bc378)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:35 +01:00
Kyle M Hall d5ab20c1c9
Bug 20990: Make same changes that were made to outstanding_debits
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3e0aa0f319)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:35 +01:00
Josef Moravec 1739fbf44b
Bug 20990: (follow-up) Fix test description
Test plan:
prove -v t/db_dependent/Koha/Account.t
--> Test message of first test of subtest outtanding_credits correctly says
"Outstanding credits total..."

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 9d59655336)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:35 +01:00
Tomas Cohen Arazi 3e1519becc
Bug 20990: Add Koha::Account->outstanding_credits
This patch adds a method that retrieves (for a patron's account) the
outstanding credits (i.e. those that haven't been applied to any debit.

To test:
- Apply this patches
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 4ee390cbb7)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:35 +01:00
Tomas Cohen Arazi 266f6f55bf
Bug 20990: Unit tests for Koha::Account->outstanding_credits
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 0fb5019b71)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:34 +01:00
Nick Clemens 2105982b1a
Bug 20980: DBRev 18.05.02.001
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 64761e56cc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 18:03:25 +01:00
Tomas Cohen Arazi 8063bec2a8
Bug 20980: (QA follow-up) Do not delete existing data on tests fix
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 8a83f1e1a9)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 16:33:11 +01:00
Tomas Cohen Arazi 450a2e7592
Bug 20980: (follow-up) Offset name consistency
This patch makes 'credit' account types generate 'Manual Credit' offset.
The original patch used 'Payment' but I think the code wants to
distinguish between payments and manually added credits (otherwise they
would've picked the same accounttype value, and they don't.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 65aacc1b1d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 16:33:08 +01:00
Tomas Cohen Arazi 3572fd1404
Bug 20980: (follow-up) Only use UpdateStats for 'payment' and 'writeoff'
This patch makes Koha::Account::add_credit record statistics logs
(through C4::Stats::UpdateStats) only for the 'payment' and 'writeoff'
credit types.

Both credit types are whitelisted in UpdateStats, so we keep the current
behaviour. Another option would've been to add new account types to the
white list, but with the account offsets it seems that using the
statistics table for account changes won't be useful for too long, as
offsets contain the same (and more) information.

To test:
- Apply the patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 7b6c242d97)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 16:32:30 +01:00
Tomas Cohen Arazi 665faa45e7
Bug 20980: Make mancredit.pl use Koha::Account::add_credit
This patch makes creating a manual credit from the UI record the account
offset as 'Manual Credit', and properly set account_offsets.credit_id
instead of account_offsets.debit_id.

To test:
- Create a manual credit (of 'Credit' type) for a known patron (acevedo?)
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM account_offsets;
=> FAIL: The account offset for the manual credit has type=Manual Debit,
    credit_id=NULL and debit_id=accountlines_id
- Run the atomic update:
  $ updatedatabase
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM account_offsets;
=> SUCCESS: The account offset has been corrected and now has
type=Manual Credit, credit_id=accountlines_id and debit_id=NULL
- Create a new manual credit (of 'Forgiven' type) for a known patron
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM account_offsets;
=> SUCCESS: The account offset has been stored correctly as a credit!
- Sign off :-D

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit cc30dc39bf)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 16:29:54 +01:00
Tomas Cohen Arazi 359a045cfc
Bug 20980: Add 'Manual Credit' and fix existing offsets
This patch adds a new offset type 'Manual Credit'. And adds an atomic
update for fixing existing offsets.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f7ed22d253)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 16:29:54 +01:00
Martin Renvoize 9bbc1fc7b1
Bug 20942: Revert - Too many missing dependancies
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-08-02 16:23:29 +01:00