]> git.koha-community.org Git - koha.git/log
koha.git
4 years agoBug 25296: Add a way to force an empty Koha::Objects resultset
Tomas Cohen Arazi [Mon, 27 Apr 2020 21:33:05 +0000 (18:33 -0300)]
Bug 25296: Add a way to force an empty Koha::Objects resultset

This patch adds a new ->empty method to Koha::Objects, that can be used
to make the underlying DBIC resultset empty. This way, we can have
consistency in our method's return values without the need to build
a query that we know in advance that will be empty. No need to hit the
DB at all.

To test:
1. Apply this patches
2. Notice the tests cover what is expected
3. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Objects.t
=> SUCCESS: Tests pass! Yay!
4. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25296: Unit tests
Tomas Cohen Arazi [Mon, 27 Apr 2020 21:32:50 +0000 (18:32 -0300)]
Bug 25296: Unit tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 19313: Fix typo in in unimarc_field_130.pl value builder
George Veranis [Wed, 22 Apr 2020 11:53:56 +0000 (13:53 +0200)]
Bug 19313: Fix typo in in unimarc_field_130.pl value builder

This patch fixes a simple typo

Test plan:
1) Go to Administration -> MARC bibliographic framework
2) Select a framework and add plugin unimarc_field_130.pl to 130 field
3) Open cataloguing screen
4) Go to 130 field and check if for subfield a shows value for
   'unknown' select it and close the window, check on value on 130$a at
   position 8 to have the value 'd'.
5) Repeat step 4 and select the value 'mixed emulsion' close the plugin
   window and check at position 8 to have the value 'u'
6) Apply the patch
7) Go to field 130, open the plugin window and select value 'unknown'
   close the window and check at position 8 to have the value 'u'
8) Go to field 130, open the plugin window and select value 'mixed
   emulsion', close the window and check at position 8 to have the
   value 'v'

https://www.ifla.org/files/assets/uca/unimarc_updates/BIBLIOGRAPHIC/b_130_update2017.pdf

Mentored-by: Andreas Roussos
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25271: Compiled CSS
Martin Renvoize [Wed, 29 Apr 2020 17:57:47 +0000 (18:57 +0100)]
Bug 25271: Compiled CSS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25271: Add floating toolbar to OPAC cart
Owen Leonard [Fri, 24 Apr 2020 00:51:35 +0000 (00:51 +0000)]
Bug 25271: Add floating toolbar to OPAC cart

This patch adds JavaScript to the OPAC cart view so that the toolbar at
the top of the display "floats" as you scroll down.

The patch also makes a minor correction to the OPAC SCSS affecting the
display of the buttons in the cart toolbar.

To test, apply the patch and rebuild the OPAC CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).

 - Add some items to a cart in the OPAC.
 - Open the cart and confirm that the toolbar sticks to the top of the
   window as you scroll down.
 - Confirm that it works in the "More details" view.
 - Confirm that other JavaScript-based operations are not affected:
   table sorting and all the various toolbar buttons.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25166: (follow-up) Update icons generated in JS
Owen Leonard [Thu, 23 Apr 2020 11:50:34 +0000 (11:50 +0000)]
Bug 25166: (follow-up) Update icons generated in JS

This patch adds aria attributes to Font Awesome icons generated by
JavaScript. The icons won't appear under normal circumstances because
the code for displaying the modal dialog should replace the icons with a
text label. The icons are a fallback.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25166: Add "aria-hidden = true" to Font Awesome icons in the OPAC
Owen Leonard [Wed, 15 Apr 2020 23:14:15 +0000 (23:14 +0000)]
Bug 25166: Add "aria-hidden = true" to Font Awesome icons in the OPAC

Font Awesome's accessibility guidelines
(https://fontawesome.com/v4.7.0/accessibility/) suggest that we include
'aria-hidden="true"' in the icon markup. This prevents screen
readers from trying to read the icon. This patch adds the attribute.

To test apply the patch and browse the OPAC looking for any problems
with icons: On search results, bibliographic details page, the cart,
lists, etc.

Check the source and verify that Font Awesome icons have the
"aria-hidden" attribute.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Attribute present, all looks good. The 'aria-label' attribute is
not translatable, but it's another problem.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25294: Don't show deletion button if user can't delete suggestions
Owen Leonard [Mon, 27 Apr 2020 15:21:30 +0000 (15:21 +0000)]
Bug 25294: Don't show deletion button if user can't delete suggestions

This patch adds logic to the OPAC suggestions template so that when the
OPACViewOthersSuggestions system preference is enabled and the logged-in
user is viewing other users' suggestions, the "Delete selected" button
is only displayed when there are suggestions the user can delete.

To test you should have suggestions in your system from at least two
users.

- Set the OPACViewOthersSuggestions preference to "Show"
- Log in to the OPAC as a user who hasn't submitted any suggestions
- Go to the suggestions page (with "?suggested_by_anyone=1" appended to
  the URL if necessary, see Bug 22515).
- In the table of suggetions, there should be no titles with a checkbox
  in the first column.
- At the bottom of the table there should be no "Delete selected"
  button.

- Log in to the OPAC as a user with suggestions.
- Return to the suggestions page and view all suggestions.
- There should be titles with corresponding checkboxes and the "Delete
  selected" button should appear at the bottom.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25002: JS Includes should be wrapped with template comments
Owen Leonard [Fri, 27 Mar 2020 23:35:51 +0000 (23:35 +0000)]
Bug 25002: JS Includes should be wrapped with template comments

This patch adds HTML comments to Template::Toolkit include files which
contain <script> tags so that it is clear where the embedded scripts can
be found in the code.

To test, apply the patch and view source on the following pages to
verify the presence of the comments:

Acquisitions home page:
  - acquisitions-toolbar.inc
  - validtor-strings.inc
  - js_includes.inc
  - format-price.inc
Acquisitions -> Add order from new record,
Acquisitions -> Receive order:
  - additem.js.inc
Cataloging -> Add/Edit item:
  - columns_settings.inc
  - strings.inc
  - select2.inc
  - calendar.inc
  - str/cataloging_additem.inc
Authorities home page:
  - authorities_js.inc
Bibliographic detail page:
  - catalog-strings.inc
Cataloging -> Advanced editor:
  - cateditor-ui.inc
  - cateditor-widgets-marc21.inc
Administration -> Item types:
  - greybox.inc
ILL requests:
  - ill-list-table-strings.inc
Web installer
  - installer-intranet-bottom.inc
Web installer -> Onboarding
  - installer-strings.inc
Lists -> List contents -> Merge records
  - merge-record-strings.inc
Patrons -> Patron -> Change password
  - password_check.inc
  - str/members-menu.inc
Patrons -> Patron -> Print summary
  - slip-print.inc
Circulation -> Check out
  - timepicker.inc
Administration -> System preferences:
  - str/tinymce_i18n.inc
  - wysiwyg-systempreferences.inc
Cataloging -> Z39.50 Search:
  - z3950_search.inc

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25149: Fix Zebra language code for Greek
Andreas Roussos [Wed, 15 Apr 2020 07:46:50 +0000 (09:46 +0200)]
Bug 25149: Fix Zebra language code for Greek

According to the list of two-letter language codes found in ISO 639-1
(https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), the correct
Zebra language option for Greek should be 'el', not 'gr'.

This patch fixes that.

Test plan:
0) Apply the patch.
1) Confirm that 'gr' has been changed to 'el' in all relevant files.
2) Create a new Koha instance using `koha-create --zebralang el testinst1`.
3) Edit /etc/koha/koha-sites.conf and set ZEBRA_LANGUAGE to 'el'. Then,
   create another Koha instance with `koha-create testinst2`.
4) Confirm that both instances created in steps 2) and 3) have picked up
   the Zebra CHR file from the /etc/koha/zebradb/lang_defs/el/ directory.
   This is done by inspecting the value of 'profilePath' in these files:
   /etc/koha/sites/testinst{1,2}/zebra-authorities-dom.cfg
   /etc/koha/sites/testinst{1,2}/zebra-biblios-dom.cfg

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24908: Add text-formatted MARC support in /biblios/{biblio_id}
Tomas Cohen Arazi [Thu, 19 Mar 2020 15:04:39 +0000 (12:04 -0300)]
Bug 24908: Add text-formatted MARC support in /biblios/{biblio_id}

This patch makes the route support requesting (through the Accept
header) the MARC record to be output as formatted text as in
$record->as_formatted.

To test:
1. Apply the unit tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Tests fail
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Try the route with your favourite API testing tool (Postman?)
=> SUCCESS: Accept: text/plain returns the expected results
=> SUCCESS: Wrong Accept header returns a list of valid formats, and
includes 'text/plain'.
6. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24908: Unit tests
Tomas Cohen Arazi [Thu, 19 Mar 2020 15:04:27 +0000 (12:04 -0300)]
Bug 24908: Unit tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22630: Schema Update
Martin Renvoize [Wed, 29 Apr 2020 16:11:35 +0000 (17:11 +0100)]
Bug 22630: Schema Update

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22630: DBRev 19.12.00.081
Martin Renvoize [Wed, 29 Apr 2020 16:11:13 +0000 (17:11 +0100)]
Bug 22630: DBRev 19.12.00.081

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22630: Fix capitalization
Katrin Fischer [Mon, 27 Apr 2020 06:23:59 +0000 (06:23 +0000)]
Bug 22630: Fix capitalization

Home Library -> Home library
Holding Library -> Holding library

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22630: Set is_boolean flag for course_items.homebranch_enabled
Julian Maurice [Fri, 24 Apr 2020 09:01:46 +0000 (11:01 +0200)]
Bug 22630: Set is_boolean flag for course_items.homebranch_enabled

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22630: Update Koha::Schema::Result::CourseItem
Julian Maurice [Fri, 24 Apr 2020 08:58:07 +0000 (10:58 +0200)]
Bug 22630: Update Koha::Schema::Result::CourseItem

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22630: Allow to change homebranch in course reserves
Julian Maurice [Wed, 3 Apr 2019 12:49:00 +0000 (14:49 +0200)]
Bug 22630: Allow to change homebranch in course reserves

Test plan:
1. Create a course (disabled)
2. Add a reserve to this course for an item and set a homebranch
   different from the item's homebranch
3. Enable the course
4. Verify that the item's homebranch has changed
5. Disable the course
6. Verify that the item's homebranch was reset to its initial value
7. prove t/db_dependent/CourseReserves/CourseItems.t

Sponsored-by: Université de Lyon 3
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Sonia Bouis <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25110: (QA follow-up) Add aria-hidden="true" to FA icons
Katrin Fischer [Sat, 25 Apr 2020 23:06:05 +0000 (23:06 +0000)]
Bug 25110: (QA follow-up) Add aria-hidden="true" to FA icons

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25110: Allow patrons to add star ratings to titles on their summary/checkout...
Owen Leonard [Tue, 14 Apr 2020 16:31:28 +0000 (16:31 +0000)]
Bug 25110: Allow patrons to add star ratings to titles on their summary/checkout page

This patch adds the ability for logged-in patrons to add star ratings to
titles in their list of current checkouts and on the reading history
page.

The reading history page previously only showed existing ratings. Now it
will allow the entry of ratings as well.

The JS and markup for the feature are in separate include files to
facilitate re-use. It includes markup for non-js display of ratings and
js-driven ratings controls.

To test, apply the patch and set the OpacStarRatings to all, "results,
details, and user" pages.

 - Log in to the OPAC as a user with checkouts.
 - On the "your summary" page, test the features of setting star
   ratings:
   - Any title with existing ratings should show the rating and the
     average rating number.
   - Set a rating. Confirm that it shows a message with your rating.
   - Click the "cancel rating" link, and confirm that your rating is
     removed.
   - Set a rating and reload the page. Confirm that the rating was
     saved.
   - Test the "cancel rating" link on the title you set before you
     reloaded the page. The rating should be cancelled.
 - Test the same functionality on the "your reading history" page.
 - Test these pages with the  OpacStarRatings preference set to "only
   details" or "no." The pages should function correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25281: Use modal confirmation when deleting a list in the OPAC
Owen Leonard [Fri, 24 Apr 2020 18:29:21 +0000 (18:29 +0000)]
Bug 25281: Use modal confirmation when deleting a list in the OPAC

This patch modifies the process of deleting a list in the OPAC so that
the deletion confirmation alert is replaced with a Bootstrap modal.

In the process, I moved the repeated deletion form markup into a block

To test, apply the patch and log in to the OPAC as a user who has
multiple lists, including some which have been shared with other users.

Go to the list of your lists and click the "Delete" link next to any of
your lists. It should trigger a confirmation modal:

 - The modal should show the title of the list you're deleting.
 - If the list has titles on it, it show how many.
 - If the list has been shared with someone it should say so.

Next, view a list which is not empty.

 - Test the "Delete list" link in the toolbar.
 - You should see the same information in the confirmation message as in
   the previous step.

Do the same with a list which is empty.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25280: Use modal confirmation when removing share from a list in the OPAC
Owen Leonard [Fri, 24 Apr 2020 14:48:21 +0000 (14:48 +0000)]
Bug 25280: Use modal confirmation when removing share from a list in the OPAC

This patch updates the process of removing a share from a list in the
OPAC so that the confirmation request shown to the user is a Bootstrap
modal instead of a plain JavaScript confirm dialog.

To test you should have the OpacAllowSharingPrivateLists enabled.

 - Log in to the OPAC as a user who has multiple private lists.
 - Share two or more lists with another user in the system.
 - Accept the list shares on behalf of the other user and log in to the
   OPAC as that user.
   - In the list of that user's lists, test the process of removing a
     share:
     - Clicking "Remove share" should trigger a modal which asks if you
       want to remove sharing. It should show the name of the list in
       question.
     - Test the funcionality of both the "No" and "Yes" options.
     - Confirm that the "Remove share" button works correctly for any of
       multiple lists.
   - View the contents of a list which has been shared with this user.
     - Test the "Remove share" button at the top of the list's contents.
       - The same confirmation dialog should be triggered.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23137: Move cache flushing to the method
Jonathan Druart [Wed, 15 Apr 2020 14:38:16 +0000 (16:38 +0200)]
Bug 23137: Move cache flushing to the method

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23137: Add documentation
Nick Clemens [Tue, 14 Apr 2020 10:14:00 +0000 (10:14 +0000)]
Bug 23137: Add documentation

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23137: Add reset and delete to koha-elasticsearch
Nick Clemens [Thu, 19 Mar 2020 16:37:24 +0000 (16:37 +0000)]
Bug 23137: Add reset and delete to koha-elasticsearch

Same as previous test, but use the script to run the reindex
reset_all to update the scripts or use
misc4dev/cp_debian_files.pl

sudo koha-elasticsearch --rebuild -r -v

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23137: Add reset option to rebuild_elasticsearch.pl
Nick Clemens [Thu, 19 Mar 2020 16:30:29 +0000 (16:30 +0000)]
Bug 23137: Add reset option to rebuild_elasticsearch.pl

Setup:
1 - Be using Elasticsearch
2 - Reload mappings from the db
    Admin->Search configuration
    Reset Mappings
3 - Reindex ES and confirm searching is working

To test:
1 - Apply patch
2 - Alter your mappings file for elastic (just change a description for a field)
3 - perl misc/search_tools/rebuild_elasticsearch.pl -r -v
    Verbose not necessary, but good for letting you know things are progressing
4 - Confirm the mapping change shows in the interface
5 - Confirm reindex worked and searching is working

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21294: Replace BOOLEAN with TINYINT(1) in our DB structure
Jonathan Druart [Wed, 15 Apr 2020 14:15:33 +0000 (16:15 +0200)]
Bug 21294: Replace BOOLEAN with TINYINT(1) in our DB structure

To match the coding guideline SQL12.
We do this for consistency.
Note that we do not need an update DB as BOOLEAN is an alias for
TINYINT(1).

The is_boolean flags have been added to the schema.

Test plan:
1. `dbic` should run correctly
2. kohastructure.sql should be syntaxicaly correct
3. `git grep -i boolean installer/data/mysql/kohastructure.sql`
should not return relevant occurrences.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22828: Add tests
Jonathan Druart [Fri, 21 Feb 2020 15:07:23 +0000 (16:07 +0100)]
Bug 22828: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22828: Elasticsearch - display errors encountered during indexing on the command...
Nick Clemens [Thu, 2 May 2019 11:27:27 +0000 (11:27 +0000)]
Bug 22828: Elasticsearch - display errors encountered during indexing on the command line

To test:
 1 - Use the Koha sample data, or insert a blank 245$b into a record (easiest way is using advanced cataloging editor
 2 - Reindex elasticsearch
 3 - Check the ES count on the about page
 4 - Check the count in the DB (SELECT count(*) FROM biblio)
 5 - They don't match!
 6 - perl misc/search_tools/rebuild_elastic_search.pl -v -v
 7 - No errors indicated
 8 - Apply patch
 9 - perl misc/search_tools/rebuild_elastic_search.pl -v
10 - You should be notified of an error
11 - perl misc/search_tools/rebuild_elastic_search.pl -v -v
12 - You should be notified of the specific biblio with an error and a (somewhat) readable reason
13 - perl misc/search_tools/rebuild_elastic_search.pl
14 - No output

Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Bouzid Fergani <bouzid.fergani@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23495: Fix if no sms provider defined
Jonathan Druart [Fri, 24 Apr 2020 10:45:04 +0000 (12:45 +0200)]
Bug 23495: Fix if no sms provider defined

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23495: Add SMS provider to moremember.tt
Nick Clemens [Thu, 23 Apr 2020 18:50:18 +0000 (18:50 +0000)]
Bug 23495: Add SMS provider to moremember.tt

To test:
1 - Enable SMS using the Email driver
2 - Add an SMS provider under admimistration
3 - Add an SMS number and provider to a patron
4 - Note on the patron details you don't see the provider :-(
5 - Apply patch
6 - Reload
7 - Note you do see the provider :-)
8 - prove t/db_dependent/Koha/Patrons.t
9 - Sign off!

Signed-off-by: Lisette <lisetteslatah@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25234: Update OPAC search results pagination with aria labels
Owen Leonard [Tue, 21 Apr 2020 21:19:49 +0000 (21:19 +0000)]
Bug 25234: Update OPAC search results pagination with aria labels

This patch updates the include file which generates OPAC search results
pagination so that it has better semantic markup and correct aria
labels.

To test, apply the patch and do a search in the OPAC which will return
multiple pages of search results.

View the source to confirm the markup changes:

 - <nav> instead of <div> surrounding the list of links, with a
   corresponding aria label
 - Navigation links should have labels indicating which page in the
   results they point to.
 - The current link should have "aria-disabled," and "aria-current" set.
 - Numbered links should have aria labels that indicate their number.

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>
4 years agoBug 25231: Rename button instead of alert/confirm when replacing record
Nick Clemens [Tue, 21 Apr 2020 17:30:00 +0000 (17:30 +0000)]
Bug 25231: Rename button instead of alert/confirm when replacing record

This test plan applies to the basic editor only

To test:
1 - Edit an existing record
2 - Click 'Z3950 Search'
3 - Note the confirmation box
4 - Add a new record
5 - Click 'Z3950 Search'
6 - Note no popup
7 - Apply patch
8 - Edit existing record
9 - Note button now says 'Replace record via Z3950 search'
10 - Add a new blank record
11 - Note the button says 'Z3950 search'
12 - Confirm editing/saving/replacing works as in the past

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25048: Make successful resource deletion return 204
Tomas Cohen Arazi [Thu, 2 Apr 2020 21:40:49 +0000 (18:40 -0300)]
Bug 25048: Make successful resource deletion return 204

This patch adapts the spec and the controllers so existing routes return
204 and an empty response body when a successful deletion happens.

Right now we have a coding guideline but haven't adapted the existing
routes.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/*.t
=> FAIL: Some tests fail
3. Apply this patch
4. Repeat 2.
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25048: Regression tests
Tomas Cohen Arazi [Thu, 2 Apr 2020 21:38:33 +0000 (18:38 -0300)]
Bug 25048: Regression tests

This patch adds regression tests for the response bodies and statuses on
DELETE actions against existing API routes. This is just enforcing the
existing (voted) Coding guidelines for the API (tm).

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/*.t
=> FAIL: Several routes have problems

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25032: Add missing utf8 flag in koha-common.postinst
Jonathan Druart [Wed, 15 Apr 2020 09:02:39 +0000 (11:02 +0200)]
Bug 25032: Add missing utf8 flag in koha-common.postinst

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25032: Chomp stringified exception
Tomas Cohen Arazi [Tue, 14 Apr 2020 20:50:58 +0000 (17:50 -0300)]
Bug 25032: Chomp stringified exception

If we catch a Koha::Exception-derived exception, the log is put in a
single line. If the code 'dies' then a newline character is appended to
the string. This patch chomps it so it displays in a single line.

To test:
1. Tweak Koha::REST::V1::Cities::list in the try block so it dies before
   render
2. Restart plack and try the original test plan
=> FAIL: Notice two lines are logged
3. Apply this patch
4. Repeat 2
=> SUCCESS: Only one line in the logs
5. Verify rendering a Koha::Exception works as well:
   Koha::Exceptions::Exception->throw("Nada!");

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25032: Make existing controllers use unhandled_exception
Tomas Cohen Arazi [Thu, 2 Apr 2020 17:43:27 +0000 (14:43 -0300)]
Bug 25032: Make existing controllers use unhandled_exception

This simple patch removes 'just in case' handling of specific exceptions
and makes the current routes controllers use the unhandled_exception helper.

Most possible exceptions are already catch by our tools (Koha::Object,
etc) and the existing code is not looking for known possible exceptions
but has just been copied and pasted since our beginings.

Anytime a situation in which an unhandled exception is caught, we (the
devs) should report it and specific exception handling discussed and
solved. But this has just been useless scaffolding so far.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/*.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat 1.
=> SUCCESS: Tests still pass
4. Sign off :-D

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25032: Generic unhandled exception handling on API
Tomas Cohen Arazi [Tue, 31 Mar 2020 21:43:02 +0000 (18:43 -0300)]
Bug 25032: Generic unhandled exception handling on API

This patch adds Koha::Logger as the default logger for the API, and
introduces a new helper plugin that takes care of handling the unhandled
exceptions. Basically, with this we would write something like this in
our controller methods:

    try {
        ...
    }
    catch {
        if ( know_exception ) {
            handle_known_exception($_);
        }

        $c->unhandled_exception($_);
    }

Without this, we end up adding more and more handling 'just in case'.

To test:
1. Edit the Koha/REST/V1/Cities.pm 'list' method adding
   die("Nada"); before the render step.
2. Restart plack and try the endpoint
=> FAIL: A generic error is displayed, and no traces of the original
problem are found on the logs.
3. Apply this patches, make sure your instance's log4perl has the
   introduced lines for API with the right path.
4. Repeat 2
=> SUCCESS: The message is still generic, but you see something is
logged in /var/log/koha/kohadev/api-error.log
5. Change die("Nada"); for a real exception like:

    use Koha::Exceptions;
    Koha::Exceptions::DuplicateObject->throw("Nada");
6. Repeat 2.
=> SUCCESS: The message is generic, but a meaningful text is added to
the logs.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25032: Add 'api' target to log4perl.conf
Tomas Cohen Arazi [Tue, 31 Mar 2020 21:42:25 +0000 (18:42 -0300)]
Bug 25032: Add 'api' target to log4perl.conf

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25072: Fix details.tt print CSS
Lucas Gass [Wed, 15 Apr 2020 21:42:36 +0000 (21:42 +0000)]
Bug 25072: Fix details.tt print CSS

TO TEST:
-Search for something in the catalog and go to the details page.
-Try to print either for the Print button in Koha or File->Print...
-Notice the large amount of whitespace on the left
-Apply patch
-Reload detaials page and attempt to print again.
-No whitespace on left side

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25299: Show soon to expire patron date
David Cook [Tue, 28 Apr 2020 01:40:23 +0000 (11:40 +1000)]
Bug 25299: Show soon to expire patron date

This patch fixes the call to show the patron expiry date
on the Details page when the patron is soon to expire.

Test plan:
0. Do not apply patch yet
1. Create a patron
2. Set patron's date expiry to 3 days from today
3. Go to Details tab
4. Note message "Expiration: Patron's card will expire soon.
Patron's card expires on Renew or Edit details"
5. Apply patch
4. Note message pattern "Expiration: Patron's card will expire soon.
Patron's card expires on XX/XX/XXXX Renew or Edit details"

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25300: Fix typo in "Edit details" for expiring/expired patron
David Cook [Tue, 28 Apr 2020 02:00:15 +0000 (12:00 +1000)]
Bug 25300: Fix typo in "Edit details" for expiring/expired patron

This patch removes a typo in the argument to the "op" parameter
for the "Edit details" link when editing an expiring/expired patron
on the Details page.

Test plan:
0. Do not apply patch yet
1. Create patron
2. Set expiry date to 3 days from now
3. Go to Details tab in patron record
4. Click "Edit details" in "Library use" section
5. Note the form is blank and has no patron data in it
6. Apply the patch
7. Reload the Details page in patron record
8. Click "Edit details" in "Library use" section
9. Note the form now contains your patron data and will
work for editing the details

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25282: (follow-up) More corrections
Owen Leonard [Tue, 28 Apr 2020 11:25:22 +0000 (11:25 +0000)]
Bug 25282: (follow-up) More corrections

This patch adds more corrections missed in the first patch:

- Tools -> Patron clubs (in the Clubs table)
- Circulation -> Article requests (removed a couple of divs made
  redundant by the re-used BLOCK)
- Tools -> Plugins home

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25282: Correct Bootstrap dropdown button markup
Owen Leonard [Mon, 27 Apr 2020 21:41:08 +0000 (21:41 +0000)]
Bug 25282: Correct Bootstrap dropdown button markup

Incorrect markup surrounding Bootstrap dropdown buttons causes display
problems with the buttons are in a DataTable. Dropdown wrapper <div>s
must have a "btn-group" class.

To reproduce the problem, look at the MARC bibliographic frameworks
page. The "Actions" menu when triggered will not line up with the
button.

In almost all cases, dropdown buttons inside tables should also have the
"dropup" class on their wrapper so that the menu appears above the
button. This prevents the menu from disappearing off the bottom of the
window when the button is positioned low in the viewport.

To test, apply the patch and test the button menus in tables on the
following pages:

- Acquisitions -> Invoices
- Acquisitions -> Add to order -> From external source -> Results
- Acquisitions -> Suggestions
- Administration -> Budgets
- Administration -> Funds
- Administration -> Authority types
- Administration -> Authority types -> MARC structure
- Administration -> MARC bibliographic frameworks
- Administration -> MARC bibliographic frameworks -> MARC structure
- Administration -> OAI sets configuration
- Administration -> Z39.50/SRU servers
- Authorities -> Authority search results
- Authorities -> New from Z39.50/SRU -> Search results
- Cataloging -> Edit items
- Cataloging -> New from Z39.50/SRU -> Search results
- Circulation -> Article requests
- Reports -> Saved reports
- Tools -> Patron lists
- Tools -> Rotating collections
- Serials -> Serials search results

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25291: Escape barcode in ReturnClaims table display
Didier Gautheron [Mon, 27 Apr 2020 12:42:49 +0000 (14:42 +0200)]
Bug 25291: Escape barcode in ReturnClaims table display

Test Plan:

1) Set ClaimReturnedLostValue
2) Create a checkout
3) Claim a return
4) Change the barcode to something with html inside, </a> will do

Without this patch cgi-bin/koha/members/moremember.pl claim tab barcode link is broken.

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>
4 years agoBug 24815: Add additional tests
Martin Renvoize [Fri, 6 Mar 2020 09:00:08 +0000 (09:00 +0000)]
Bug 24815: Add additional tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24815: Correct return values of Koha::Cash::Register relations
Martin Renvoize [Thu, 5 Mar 2020 16:11:33 +0000 (16:11 +0000)]
Bug 24815: Correct return values of Koha::Cash::Register relations

This patch correct all cases of return undef to instead return an empty
resultset.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25229: (follow-up) Move QueryBuilder test to Elasticsearch dir
Nick Clemens [Mon, 27 Apr 2020 11:37:13 +0000 (11:37 +0000)]
Bug 25229: (follow-up) Move QueryBuilder test to Elasticsearch dir

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25229: Return authid of record rather than 001
Nick Clemens [Tue, 21 Apr 2020 13:47:59 +0000 (13:47 +0000)]
Bug 25229: Return authid of record rather than 001

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25229: Unit test
Nick Clemens [Mon, 27 Apr 2020 11:28:51 +0000 (11:28 +0000)]
Bug 25229: Unit test

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25227: Display correct message if item is withdrawn and withdrawn returns are...
Kyle M Hall [Mon, 27 Apr 2020 11:07:12 +0000 (07:07 -0400)]
Bug 25227: Display correct message if item is withdrawn and withdrawn returns are allowed

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25227: Display correct message if item is lost and lost returns are allowed
Kyle M Hall [Tue, 21 Apr 2020 11:11:08 +0000 (07:11 -0400)]
Bug 25227: Display correct message if item is lost and lost returns are allowed

Even if a library allows returns of lost items, the SIP server returns the error message "Item lost, return not allowed" if the checkin was not ok for any reason other than it being withdrawn ( and withdrawn items not being returnable ).

The most clear example of this is that when a lost item is not checked out to a patron and is returned. SIP returns that message even though lost items *can* be returned. The actual problem being that the item was not checked out.

Test Plan:
1) Ensure you can return lost items
2) Mark an item as lost
3) Check it in via SIP
4) Note the message you get back is "Item lost, return not allowed"
5) Apply this patch
6) Restart your SIP server
7) Repeat steps 2 and 3
8) Note you no longer get the incorrect message!

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25227: Add unit tests
Kyle M Hall [Mon, 27 Apr 2020 12:04:07 +0000 (08:04 -0400)]
Bug 25227: Add unit tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24897: (RM follow-up) Drop tests for es-ES notices
Martin Renvoize [Tue, 28 Apr 2020 05:55:56 +0000 (06:55 +0100)]
Bug 24897: (RM follow-up) Drop tests for es-ES notices

This follow-up removes the tests for the presence and validity of the
spanish translated notices.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24298: (RM follow-up) Re-introduce TransferTrigger drop through
Martin Renvoize [Mon, 27 Apr 2020 13:22:21 +0000 (14:22 +0100)]
Bug 24298: (RM follow-up) Re-introduce TransferTrigger drop through

A rebase lost the fall through for TransferTrigger as a message. This
patch simply adds back in the dropped elsif statement.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25045: (RM follow-up) Correction to updatedatebase.pl
Martin Renvoize [Mon, 27 Apr 2020 12:42:11 +0000 (13:42 +0100)]
Bug 25045: (RM follow-up) Correction to updatedatebase.pl

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25235: Rename the button instead of alerting when replacing an existing record
Phil Ringnalda [Wed, 22 Apr 2020 04:34:33 +0000 (21:34 -0700)]
Bug 25235: Rename the button instead of alerting when replacing an existing record

Test plan:

Pre-patch
1 - Go to the main Authorities page, search for any authority, click
    the Actions menubutton and choose Edit
2 - Note the button saying Z39.50 search
3 - Note the modal alert forcing you to click it
4 - Cancel and cancel again, and in the New authority menubutton choose
    Default
5 - Click the button saying Z39.50 search again, note that it warns you
    about replacing your totally blank record

Apply this patch
6 - Edit an existing authority, note the button says "Replace record via
    Z39.50/SRU search"
2 - Click the button, verify it still opens the search window with the
    main entry of the record filled in without an alert
3 - Create a new authority, note the button says "Z39.50/SRU search"
4 - Click the button, verify it still opens the search window but
    without an alert

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>
4 years agoBug 25045: (RM follow-up) Add the RESTPublicAnonymousRequests syspref
Martin Renvoize [Mon, 27 Apr 2020 10:51:08 +0000 (11:51 +0100)]
Bug 25045: (RM follow-up) Add the RESTPublicAnonymousRequests syspref

The atomic update alos included a quoting mistake

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25045: (follow-up) Add the RESTPublicAnonymousRequests syspref
Jonathan Druart [Mon, 27 Apr 2020 10:47:08 +0000 (12:47 +0200)]
Bug 25045: (follow-up) Add the RESTPublicAnonymousRequests syspref

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17232: Make sure all fields are copies when creating a new framework from another
Katrin Fischer [Tue, 14 Apr 2020 10:45:01 +0000 (10:45 +0000)]
Bug 17232: Make sure all fields are copies when creating a new framework from another

Some digging revealed that when you create a new framework
and use an old framework as the base, some information would
not be copied to the new framework as they were missing from
the SQL command used here.

- Tag: Important
- Subfield:
  - Important
  - Default value
  - Max length
  - Is a URL
  - Link

To test:
- Pick one of the existing frameworks and change the
  fields listed above. Take note of what you changed.
- Create a new framework
- Go to "Marc structure" of the new framework
- You are offered the option to copy an existing framework
- Use your prepared framework
- Verify the fields weren't copied - your config was lost
- Apply patch
- Create another new framework
- Repeat the duplication and tests
- Verify that now all fields have been copied correctly

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25249: (bug 19791 follow-up) Display Circulation log when showing patron's log
Jonathan Druart [Wed, 22 Apr 2020 13:54:29 +0000 (15:54 +0200)]
Bug 25249: (bug 19791 follow-up) Display Circulation log when showing patron's log

When viewing a patron if you click the 'Modification log' tab you are presetned with both their circulation and members logs:
https://staff.arcadiapl.bywatersolutions.com/cgi-bin/koha/tools/viewlog.pl?do_it=1&modules=MEMBERS&modules=CIRCULATION&object=152309&src=circ

However, in bug 19791 the modules were locked to 'MEMBERS' if the src=circ

We need to add CIRCULATION in as well

Test plan:
For master follow the test plan on bug 25250.

Bug 24982 is not in stable branch, so test plan for stable branches:
1. Modify a patron, add them a fine, and do a checkout
2. Click the "Modification logs"
=> You see the Patrons and Circulation logs
3. Click submit
=> You see all patron logs only
4. Apply this patch
5. Click the "Modification logs"
=> You see the Patrons and Circulation logs
6. Click submit
=> You see the Patrons and Circulation logs

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25250: (bug 24982 follow-up) Don't disable checkboxes if modification log
Nick Clemens [Wed, 22 Apr 2020 14:40:17 +0000 (14:40 +0000)]
Bug 25250: (bug 24982 follow-up) Don't disable checkboxes if modification log

If we are coming from the "Modification logs" of the patron module we
should not disable the checkboxes (that are not visible).
Otherwise the logs are not longer filtered and all are visible.

Test plan:
0. Don't apply this patch
1. Modify a patron, add them a fine, and do a checkout
2. Click the "Modification logs"
=> You see the Patrons and Circulation logs
3. Click submit
=> You see all the logs (KO)
4. Apply this patch
5. Click the "Modification logs"
=> You see the Patrons and Circulation logs
6. Click submit
=> You see the Patrons only (KO)
7. Apply the patch from bug 25249
8. Click the "Modification logs"
=> You see the Patrons and Circulation logs
9. Click submit
=> You see the Patrons and Circulation logs (OK!)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23081: DBIC Update
Martin Renvoize [Mon, 27 Apr 2020 10:39:19 +0000 (11:39 +0100)]
Bug 23081: DBIC Update

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23081: DBRev 19.12.00.080
Martin Renvoize [Mon, 27 Apr 2020 10:34:29 +0000 (11:34 +0100)]
Bug 23081: DBRev 19.12.00.080

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23081: Adjust tests
Jonathan Druart [Mon, 27 Apr 2020 09:55:15 +0000 (11:55 +0200)]
Bug 23081: Adjust tests

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>
4 years agoBug 23081: Revert "Bug 24443: Consider NULL as 0 for issues in items search"
Jonathan Druart [Mon, 27 Apr 2020 09:51:35 +0000 (11:51 +0200)]
Bug 23081: Revert "Bug 24443: Consider NULL as 0 for issues in items search"

This reverts commit 80f1374f262544a750b5d81a7d9605c8708c53b1.

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>
4 years agoBug 23081: atomicupdate for change to existing installs
Andrew Fuerste-Henry [Sun, 26 Apr 2020 23:53:26 +0000 (23:53 +0000)]
Bug 23081: atomicupdate for change to existing installs

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>
4 years agoBug 23081: set default to 0 for items.issues and deleteditems.issues
Andrew Fuerste-Henry [Sun, 26 Apr 2020 23:51:25 +0000 (23:51 +0000)]
Bug 23081: set default to 0 for items.issues and deleteditems.issues

To test:
- save and run this sql query in reports: select sum(if(issues is null,1,0)),sum(if(issues=0,1,0)) from items
- you should see a lot of nulls and no zeros
- apply patch
- updatedatabase
- re-run your query and see that your nulls have changed to zeros
- create a new item
- rerun your query and see your new item is counted in the zeros, not the nulls

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>
4 years agoBug 24750: Instructor Search Results
Joseph Sikowitz [Sat, 18 Apr 2020 20:06:05 +0000 (16:06 -0400)]
Bug 24750: Instructor Search Results

Adds regex to the split() of the passed parameters to improve searching.

Test plan
1. Go to Course Reserves module.
2. Press New course button.
3. Make active the instructor search box.
4. Start typing the last name of a patron that exists in your database.
5. At the end of the last name type ", " and try to add a first name.
6. The search should fail.
7. Apply the patch.
8. Follow steps 1-5 again.
9. You should now be able to search using the following methods
9a. surname, firstname
9b. firstname surname

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 5161: Keep patron's attributes on warning/duplicate
Jonathan Druart [Tue, 21 Apr 2020 12:30:19 +0000 (14:30 +0200)]
Bug 5161: Keep patron's attributes on warning/duplicate

When a patron is added or modified and a warning appears (duplicate,
inconsistent data, etc.) the form lost the patron's attributes.

Test plan:
Create some attribute types for patrons
Create a new patron, use an userid that already exists and fill the attributes
=> You get a warning and the attributes are kept
Modify the userid and save again
Edit the same patron
Modify the attributes, as well as the userid (to get the duplicate warning)
=> You get a warning and the attributes are kept with the modified
values
Modify the userid and save again
=> The new values are saved
Edit the attributes from the detail page (so not with the full edit form)
Modify them and save
=> The new values are saved

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25233: Staff XSLT material type label "Book" should be "Text"
Lucas Gass [Tue, 21 Apr 2020 21:33:03 +0000 (21:33 +0000)]
Bug 25233: Staff XSLT material type label "Book" should be "Text"

This patch makes the staff client XSLT stylesheets consistent with the
ones for the OPAC, it also makes consitent the use of 'Text' when the leader6 = 't'

TO TEST:
1. Have a record with leader06 = 'a' and leader07 = 'c' 'd' or 'm'.
2. Check the staff client results and details page. See that the
   material type label says "Book"
3. Check the OPAC client results and details page. See that the
   materila type label says "Text"
4. Apply patch.
5. See that both staff client and OPAC results/details all now say
   "Text"
6. Set the leader6 = 't' and make sure that is says 'Text' on both the
   staff client and OPAC

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>
4 years agoBug 25276: Compiled CSS
Martin Renvoize [Mon, 27 Apr 2020 10:26:22 +0000 (11:26 +0100)]
Bug 25276: Compiled CSS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25276: Correct hover style of list share button in the OPAC
Owen Leonard [Fri, 24 Apr 2020 14:24:07 +0000 (14:24 +0000)]
Bug 25276: Correct hover style of list share button in the OPAC

This patch adds missing "btn" classes to the OPAC share button so that
its style is consistent with similar controls.

The patch also makes some general changes to the OPAC CSS to make sure
link color and hover color are applied with enough specificity. This
corrects the hover color of the share button but should not change any
other existing style.

To test you should have the OpacAllowSharingPrivateLists preference
enabled.
 - Rebuild the OPAC CSS
   (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).
 - Log in to the OPAC as a user with one or more private lists.
 - Go to Lists -> Your lists.
 - In the list of lists there should be a "Share" link for each list.
   Hovering your mouse pointer over the link should change the style in
   the same way the "Edit" link does.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25211: Add missing share icon to OPAC lists page
Owen Leonard [Mon, 20 Apr 2020 11:38:41 +0000 (11:38 +0000)]
Bug 25211: Add missing share icon to OPAC lists page

This patch adds a Font Awesome icon to the "Share" links on the list of
lists in the OPAC.

To test, apply the patch and log in to the OPAC as a user who has one
or more private lists.

  - Go to Lists -> Your lists
  - In the table of your lists, each list should have a "Share" link
    with an icon.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24957: OpenLibrarySearch shouldnt display if nothing is returned
Lucas Gass [Tue, 21 Apr 2020 20:11:17 +0000 (20:11 +0000)]
Bug 24957: OpenLibrarySearch shouldnt display if nothing is returned

TO TEST:
1. Turn on OpenLibrarySearch
2. Do an OPAC search that returns results that have results with Open Library results and some that do not.
3. Notice results that return nothing simpliy say "Open Library:" with nothing afterwards.
4. Some results return a png from OpenLibrary or "Not found"
5. Apply patch and look at records again.
6. The results that return nothing for OpenLibrary API should now to hidden.

Signed-off-by: Heather Hernandez <heather_hernandez@nps.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25045: DBRev 19.12.00.079
Martin Renvoize [Mon, 27 Apr 2020 10:17:33 +0000 (11:17 +0100)]
Bug 25045: DBRev 19.12.00.079

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25045: (follow-up) Add a note to OpacPublic
Tomas Cohen Arazi [Mon, 13 Apr 2020 14:47:30 +0000 (11:47 -0300)]
Bug 25045: (follow-up) Add a note to OpacPublic

This patch tweaks the OpacPublic system preference description so users
don't expect, incorrectly, this syspref to disable the public API
anonymous access.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25045: Allow restricting anonymous requests on the public API
Tomas Cohen Arazi [Mon, 13 Apr 2020 14:40:48 +0000 (11:40 -0300)]
Bug 25045: Allow restricting anonymous requests on the public API

This patch introduces a check on the authenticate_api_request method for
the RESTPublicAnonymousRequests system preference. If disabled,
anonymous  requests get rejected.

The idea is to replicate the homologous OpacPublic system preference
behaviour.

To test:
1. Apply the Unit tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/auth_authenticate_api_request.t
=> FAIL: Tests fail, 200 is answered instead of 401 on the route.
3. Apply this patch
4. Repeat 2.
=> SUCCESS: Tests pass!
5. Sign off :-D

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>
4 years agoBug 25045: Unit tests
Tomas Cohen Arazi [Mon, 13 Apr 2020 14:40:44 +0000 (11:40 -0300)]
Bug 25045: Unit tests

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>
4 years agoBug 25045: Add the RESTPublicAnonymousRequests syspref
Tomas Cohen Arazi [Mon, 13 Apr 2020 14:36:12 +0000 (11:36 -0300)]
Bug 25045: Add the RESTPublicAnonymousRequests syspref

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>
4 years agoBug 24909: Add unprivileged route to get a bibliographic record
Tomas Cohen Arazi [Thu, 19 Mar 2020 20:04:31 +0000 (17:04 -0300)]
Bug 24909: Add unprivileged route to get a bibliographic record

This patch adds a route to get bibliographic records without privileged
access. This needs to match the OPAC expected behaviour.

Some things were considered on the implementation:
- The ViewPolicy filter that hides/shows things based on the frameworks
  needded to be used, as in the OPAC.
- OpacHiddenItems and OpacHiddenItemsExceptions need to be considered
  for hiding records the same way the OPAC is expected to.
- Avoid using OpacHiddenItemsExceptions, but rely on the patron category
  instead (use Koha::Patron::Category->override_hidden_items abstraction
  is used instead so it should keep working once 22547 is moved
  forward).
- Tests should cover all the use cases:
  * logged in user
  * anonymous user
  * logged in with category that overrides
  * logged in with category that doesn't override

This is all implemented on the tests.

To test:
1. Apply the tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Route not implemented
3. Apply the rest of the patches
4. Repeat 2
=> SUCCESS: Tests pass!
5. Try it with your favourite API tool (Postman?)
6. Sign off :-D

Note: please notice there isn't a default fallback behaviour for when
you don't specify the Accept header, so testing this on a regular
browser will just print the accepted mime types instead of the record
itself.

To test this with a tool (like Postman) you should enable
RESTBasicAuthe and make the tool use Basic authentication with valid
credentials. And you need to specify any of the following strings on the
Accept header:
- application/marcxml+xml
- application/marc-in-json
- application/marc
- text/plain

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24909: Route spec
Tomas Cohen Arazi [Thu, 19 Mar 2020 20:03:53 +0000 (17:03 -0300)]
Bug 24909: Route spec

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24909: Unit tests
Tomas Cohen Arazi [Thu, 19 Mar 2020 20:03:23 +0000 (17:03 -0300)]
Bug 24909: Unit tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21927: Acq - Add blank values in pull downs of mandatory item subfields
Katrin Fischer [Sun, 12 Apr 2020 03:19:03 +0000 (03:19 +0000)]
Bug 21927: Acq - Add blank values in pull downs of mandatory item subfields

This is the same fix as on bug 14662, which fixed the behaviour in
cataloguing, but for the item form in acquisitions.

The code assumes 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. As the field
can never be 'unset', there will never be a 'required' warning.
Furthermore, it might be counterproductive to use mandatory fields,
as it might be easily forgotten to change the preselected value and
those mistakes will be hard to find.

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:
- This is best tested with an ACQ framework, but default can be used
  when no ACQ framework was created.
- In your MARC bibliographic framework:
  - In 952 make itemtype, classification source and some other pull downs
    like location or collection mandatory and set them to visibel if needed
- Create a new basket with 'items created while ordering'
- Add a new order, an existing record with 942$c set will work best
- Add items for your order line
  - 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 order line
    - Verify that classification source is preselected according to the
      DefaultClassificationSource system preference (try unsetting it later)
    - Verify all mandatory fields can be set to empty
    - Verify that you can't save before correctly setting them
  - Change your frameworks and set a default for itemtype (Ex: BK) and
    another mandatory and non-mandatory field of your choice
  - Add a new order line and item and verify the defaults are selected

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25274: Don't initialize DataTable if table isn't present
Owen Leonard [Fri, 24 Apr 2020 11:49:21 +0000 (11:49 +0000)]
Bug 25274: Don't initialize DataTable if table isn't present

This patch modifies the OPAC basket JavaScript so that a check is added
for the existence of the "itemst" table. This avoids an error if the
"More details" view is selected and hte "itemst" table isn't present.

To reproduce the error, add some items to the OPAC cart and open the
cart window. Open the JavaScript console in your browser and click the
"More details" link. You'll see an error.

To test, apply the patch and perform the same test as above. The error
should not be present. Test that table sorting in the "brief" view words
correctly.

Signed-off-by: David Roberts <david@koha-ptfs.co.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24897: Remove es-ES installer data
Bernardo Gonzalez Kriegel [Thu, 19 Mar 2020 10:12:51 +0000 (07:12 -0300)]
Bug 24897: Remove es-ES installer data

With installer data in YAML format and it's translations,
there are no need for localized installer files.

This patch removes es-ES installer files.

To test on top of Bug 24871
1) Apply the patch
2) Translate to spanish
   cd misc/translator
   ./translate update es-ES
   -/translate install es-ES
3) Do a clean install using es-ES,
   check no problems during install
4) Verify MARC21 frameworks, they must
   be translated

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24871: Add new *-installer*.po translation files
Bernardo Gonzalez Kriegel [Sun, 15 Mar 2020 21:15:32 +0000 (18:15 -0300)]
Bug 24871: Add new *-installer*.po translation files

This patch simply adds new po files for each supported
language.

The are not created on update, so the need to add this files.

To test:
1) Update your preferred language
2) Check missing *installer*po files
3) Create new translation files:
   cd /misc/translation
   ./translate create xx-YY

   check *installer*po files
4) Apply patch
5) Repeat 1, verify installer files are updated
   see last modification time

Pre-filled translations for some languages
(https://translate.koha-community.org/projects/marc21/)

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25257: Preserve prolog on translated XML files
Bernardo Gonzalez Kriegel [Thu, 5 Dec 2019 00:51:16 +0000 (21:51 -0300)]
Bug 25257: Preserve prolog on translated XML files

This patch fix the missing xml prolog in translated
files, XML or TT.

Is fixed teaching C4::TTParse not to ignore <?..?> constructs,
then teaching xgettext.pl to ignore those strings. Net result is
that they are copied in the translated file.

To test:
1) Update & install your preferred language,
(cd misc/translator/; perl translate update xx-YY; perl translate install xx-YY )

2) Compare the first lines (head -2) of:
koha-tmpl/opac-tmpl/bootstrap/en/xslt/compact.xsl
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt
koha-tmpl/intranet-tmpl/prog/en/xslt/plainMARC.xsl
and
koha-tmpl/opac-tmpl/bootstrap/xx-YY/xslt/compact.xsl
koha-tmpl/opac-tmpl/bootstrap/xx-YY/modules/opac-opensearch.tt
koha-tmpl/intranet-tmpl/prog/xx-YY/xslt/plainMARC.xsl

Check the missing prolog

3) Install this patch, repeat 1 and 2, now the prolog is present
on translated files.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25118: Return claims has some translation issues
Owen Leonard [Tue, 14 Apr 2020 11:52:17 +0000 (11:52 +0000)]
Bug 25118: Return claims has some translation issues

This patch adds the right function calls to checkouts.js so that English
strings can be picked up by the translator. The resolution message has
been reformatted so that it can be clear without including "on" and
"by" in the middle of the string.

To test you should have a patron with at least one return claim. Open
the checkout page for that patron and open the "Claims" tab. Test the
process of editing, deleting, and resolving claims.

TESTING TRANSLATABILITY

- Update a translation:

> cd misc/translator
> perl translate update fr-FR

- Open the corresponding .po file for the staff
  client: misc/translator/po/fr-FR-messages-js.po
- Locate strings pulled from checkouts.js for translation, e.g.:

  #: koha-tmpl/intranet-tmpl/prog/js/checkouts.js:920
  msgid "Double click to edit"
  msgstr ""

- Edit the "msgstr" string however you want (it's just for testing).
- Install the updated translation:

> perl translate install fr-FR

Switch to the udpated translation and test the functionality under the
"Claims" tab again to confirm that your translated strings appear.

Note that "untranslatable string" failures reported by the QA script are
false positives.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25224: Show large print format in search results XSLT
Andrew Fuerste-Henry [Tue, 21 Apr 2020 17:41:29 +0000 (17:41 +0000)]
Bug 25224: Show large print format in search results XSLT

To test:
1: find a bib with 008 type Book
(Leader position 6 = 'a' and leader position 7 = 'm' -- use bib number 1 in master data)
2: set 008 position 23 to 'd' for large print
3: check your book record in opac and intranet search results, note that your change is not reflected in the "format" note in line with material type
4: find a bib with 008 type Continuing Resource
(Leader position 6 = 'a' and leader position 7 = 's' -- use bib number 44 in master data)
5: set 008 position 23 to 'd' for large print
6: check your continuing resource record in opac and intranet search results, note that your change is not reflected in the "format" note in line with material type
7: apply patch, restart_all
8: reload search results from steps 3 and 6, confirm they now say "format: large print"

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25248: (bug 23463 follow-up) Item is returned if deletion successful, not 1
Nick Clemens [Wed, 22 Apr 2020 13:30:06 +0000 (13:30 +0000)]
Bug 25248: (bug 23463 follow-up) Item is returned if deletion successful, not 1

To test:
1 - Have a record with some items
2 - Click 'Delete all' under 'Edit'
3 - Confirm deletion
4 - Note you are redirected to additem.pl
5 - Add an item
6 - Apply patch
7 - Delete all items again
8 - Note you are redirected to detail.pl

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25142: Fix wrong grep logical test
Jonathan Druart [Tue, 14 Apr 2020 11:22:44 +0000 (13:22 +0200)]
Bug 25142: Fix wrong grep logical test

To test and understand what's going on, you can try that bit of code:
my @a = qw( a b c a);
my @b = qw( b c d );
my @c;
@c = grep { 'a' eq $_ } @a ? 'ok' : ();
say @c;
@c = ( grep { 'a' eq $_ } @a ) ? 'ok' : ();
say @c;
@c = grep { 'a' eq $_ } @a ? ('ok') : (undef);
say @c;

The problem here:
Have patrons in 3 branches CPL, MPL, SPL
Have a non superlibrarian with edit_borrowers permission but
without view_borrower_infos_from_any_libraries, from CPL
Create a library group with CPL, MPL
Use that non superlibrarian to search for patrons
You can search for patrons fro CPL and MPL
BUT, edit the value for CPL, use SPL (edit the DOM)
Search and... oops

Apply this patch, try again

Also use a superlibrarian patron (and/or with view_borrower_infos_from_any_libraries)
and confirm that they can see all patrons

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25009: Avoid leakages in opac-showmarc.pl
Tomas Cohen Arazi [Fri, 27 Mar 2020 21:16:58 +0000 (18:16 -0300)]
Bug 25009: Avoid leakages in opac-showmarc.pl

This patch cleans opac-showmarc.pl so it doesn't allow retrieving
records from import batches without requiring any permissions in the
OPAC.

it does so by just removing the code portion that does that.

It also cleans the record fetch operation and how the record processor
is initialized to it actually works :-D

To test:
1. Perform a successful Z39.50 search in cataloguing (this fetches 20
   records usually)
2. Query your DB for a valid import_record_id:
  $ koha-mysql kohadev
  > SELECT * FROM import_records LIMIT 1;
3. Notice some of the MARCXML details (title, author, etc), and the
   import_record_id
4. Point your browser to the opac-showmarc.pl URL like this:
   http://kohadev.mydnsname.org:8080/cgi-bin/koha/opac-showmarc.pl?importid=20
=> FAIL: You get the record! (Bonus: no field/subfield takes place)
5. Hide some obvious subfield on the framework for a known (to you)
   biblionumber
6. Point your browser to:
   http://kohadev.mydnsname.org:8080/cgi-bin/koha/opac-showmarc.pl?id=<biblionumber_here>
=> FAIL: No filtering takes place
7. Apply this patch
8. Repeat 4
=> SUCCESS: You get an error because you did a bad request (no id param)
9. Repeat 6
=> SUCCESS: Subfield filtering actually works!
10. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 16922: Add RewriteRule to apache-shared-intranet for dev package installs
Marcel de Rooy [Thu, 14 Jul 2016 11:51:21 +0000 (13:51 +0200)]
Bug 16922: Add RewriteRule to apache-shared-intranet for dev package installs

As a simple alternative to the solution in bug 9949 or just as an
additional measure, this patch adds a rewrite rule for intranet
in order to intercept potential misuse of perl scripts that could be
reached on a dev package install via the cgi-bin/koha scriptalias.

It simply rewrites them to the nonexistent "notfound", resulting in a
regular 404 error.

The rewrite rule does not harm regular installs and is just a little extra
step in securing a dev install. You should have more security measures in
place to secure your staff client.

QA Note: Although a rewrite rule may not be our first choice, this one
rule is more elegant and easier to maintain than e.g. a whole bunch of
aliases.

Note: This patch should have a regular and a dev install signoff.

Test plan:
[1] Make sure that this rewrite rule is inserted in your actual apache
    config via /etc/koha/apache-shared-intranet.conf. Restart Apache.
[2] For regular package installs:
    Try one of the URLs in step 3.
    Verify that your staff client still operates as usual. Test a few
    URLs inside some modules.
[3] For dev installs:
    Try some URLs like below.
    Expect 404 errors only, not 500s. If you do not see a 404, go back!
    /misc/stage_file.pl
    /t/db_dependent/default_search_class.pl
    /installer/data/mysql/updatedatabase.pl
    /Makefile.PL
[4] Do you see an additional directory to add to the regex? Please report.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25172: Fix Auth_with_ldap.t
Jonathan Druart [Wed, 22 Apr 2020 14:40:08 +0000 (16:40 +0200)]
Bug 25172: Fix Auth_with_ldap.t

  #   Failed test 'checkpw_ldap tests'
  #   at t/db_dependent/Auth_with_ldap.t line 324.
  {UNKNOWN}: Configuration not defined at /usr/share/perl5/Log/Log4perl/Config.pm line 579. at /kohadevbox/koha/Koha/Patron.pm line 395

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25172: Add missing filter
Kyle M Hall [Mon, 20 Apr 2020 17:16:11 +0000 (13:16 -0400)]
Bug 25172: Add missing filter

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25172: Identify and display possible problems on the about page
Jonathan Druart [Thu, 16 Apr 2020 15:16:59 +0000 (17:16 +0200)]
Bug 25172: Identify and display possible problems on the about page

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25172: Adjust tests
Jonathan Druart [Thu, 16 Apr 2020 14:50:50 +0000 (16:50 +0200)]
Bug 25172: Adjust tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25172: Remove _recheck_logfile
Jonathan Druart [Thu, 16 Apr 2020 14:12:32 +0000 (16:12 +0200)]
Bug 25172: Remove _recheck_logfile

I don't understand how that could be useful. We do not want to test if
the logfile is writable every time we log something!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>