]> git.koha-community.org Git - koha.git/log
koha.git
4 years agoBug 25311: (QA follow-up) Add misssing filter
Katrin Fischer [Fri, 1 May 2020 22:04:15 +0000 (22:04 +0000)]
Bug 25311: (QA follow-up) Add misssing filter

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25311: Better error handling when updating a patron
Jonathan Druart [Wed, 29 Apr 2020 12:48:38 +0000 (14:48 +0200)]
Bug 25311: Better error handling when updating a patron

Same as the precedent patch for patron's modification

Test plan is identical but with an existing patron

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25311: Better error handling when creating a patron
Jonathan Druart [Wed, 29 Apr 2020 12:38:41 +0000 (14:38 +0200)]
Bug 25311: Better error handling when creating a patron

This is still not ideal but brings a bit of enhancement.

One possible problem is that the patron creation will fail if the
streetnumber field is too long (borrowers.streetnumber is varchar(10).

Test plan:
0. Don't apply this patch
1. Create a new patron with a streetnumber longer than 10 characters
2. Save
=> The patron has not been created and the app explodes
The error is about extended_attributes and not meaningful
Can't call method "extended_attributes" on an undefined value at /kohadevbox/koha/members/memberentry.pl line 560
3. Apply the patch
4. Repeat 1. and 2
=> You get a warning on the interface and you still see the creation
form
5. Check the logs
=> The error is meaningful
"Data too long for column 'streetnumber'"

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: DBRev 19.12.00.084
Martin Renvoize [Mon, 4 May 2020 07:35:59 +0000 (08:35 +0100)]
Bug 17268: DBRev 19.12.00.084

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: Schema Update
Martin Renvoize [Mon, 4 May 2020 07:33:02 +0000 (08:33 +0100)]
Bug 17268: Schema Update

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: (follow-up) Don't show the macro ID in front of description
Katrin Fischer [Fri, 1 May 2020 21:35:38 +0000 (21:35 +0000)]
Bug 17268: (follow-up) Don't show the macro ID in front of description

I believe it's nicer to allow users to organize the macros as
they want using the descrpitions they prefer.

Submitting as a suggestion.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: (QA follow-up) Make "Convert old browser macros" translatable
Katrin Fischer [Fri, 1 May 2020 21:33:00 +0000 (23:33 +0200)]
Bug 17268: (QA follow-up) Make "Convert old browser macros" translatable

The code was missing the necessary markup to make the string translatable.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: Update patchs per RFC
Nick Clemens [Wed, 22 Apr 2020 21:13:34 +0000 (21:13 +0000)]
Bug 17268: Update patchs per RFC

https://wiki.koha-community.org/wiki/Advanced_editor_macros_endpoint_RFC

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: (follow-up) Fix translatability
Nick Clemens [Fri, 27 Mar 2020 10:38:04 +0000 (10:38 +0000)]
Bug 17268: (follow-up) Fix translatability

This patch moves the error messages to translatable strings

Also includes capitalization fixes and POD adjustment

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17268: Set boolean for shared column in schema
Nick Clemens [Wed, 11 Mar 2020 13:39:25 +0000 (09:39 -0400)]
Bug 17268: Set boolean for shared column in schema

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
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 17268: Schema update
Nick Clemens [Thu, 2 Jan 2020 15:02:04 +0000 (15:02 +0000)]
Bug 17268: Schema update

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
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 17268: (follow-up) Fix licenses
Nick Clemens [Wed, 11 Mar 2020 13:31:39 +0000 (09:31 -0400)]
Bug 17268: (follow-up) Fix licenses

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
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 17268: Use API to store/retrieve values
Nick Clemens [Tue, 3 Mar 2020 13:14:03 +0000 (13:14 +0000)]
Bug 17268: Use API to store/retrieve values

To test:
 1  - Enable AdvancedCatalogingEditor
 2  - Add some macros (they don't need to be valid, just have content)
 3  - Apply patches
 4  - updatedatabase
 5  - Set user to have 'create_shared_macros' and 'delete_shared_macros'
 6  - Load the advanced editor (Cataloging->Advanced editor)
 7  - Click on 'Macros'
 8  - Previous macros should not show, but you should have a 'Convert' button
 9  - Convert old macros and confirm they show
10  - Edit the macros, changing content and the public checkbox, confirm 'Saved' shows in the top right of editor when updating
11  - Have at least on valid macro and run it, e.g.:
    new 100=Testing this out
12  - Run the macro, confirm it runs
13  - Try a macro with gibberish, confirm there is an error when running
14  - Ensure you have a few macros marked public
15  - In a private browser window sign in as a patron with neither shared macro permission
16  - Confirm the public macros load, but cannot be edited
17  - Grant create_shared_macros permission to this patron
18  - Reload editor, they should now be able to edit shared macros
19  - Confirm they cannot delete shared macros
20  - Grant delete_shared_macros permission
21  - Reload editor
22  - Confirm they can now delete shared macros

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
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 17268: Advanced cataloging editor macros - add endpoint
Nick Clemens [Wed, 4 Dec 2019 11:39:41 +0000 (11:39 +0000)]
Bug 17268: Advanced cataloging editor macros - add endpoint

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
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 17268: Add macros table and permissions
Nick [Wed, 2 Oct 2019 13:28:39 +0000 (13:28 +0000)]
Bug 17268: Add macros table and permissions

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
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 24808: enable translation on results.js
Bernardo Gonzalez Kriegel [Tue, 28 Apr 2020 22:37:52 +0000 (19:37 -0300)]
Bug 24808: enable translation on results.js

String sorrounded by "__()"

To test:
1) create translation files for a language
(cd misc/translator; ./translate create xx-YY)

2) Check string
egrep -l "No cover image available" misc/translator/po/xx-YY-*
present in 2 files, opac-bootstrap and staf-prog

3) Apply patch

4) Create files again
(cd misc/translator; rm -f po/xx-YY*; ./translate create xx-YY)

5) Check again
egrep -l "No cover image available" misc/translator/po/xx-YY-*
present in 3 files, new in messages-js

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 17355: DBRev 19.12.00.083
Martin Renvoize [Mon, 4 May 2020 06:46:00 +0000 (07:46 +0100)]
Bug 17355: DBRev 19.12.00.083

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: (QA follow-up) Add description to updatedatabase entry
Katrin Fischer [Fri, 1 May 2020 15:47:07 +0000 (17:47 +0200)]
Bug 17355: (QA follow-up) Add description to updatedatabase entry

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: Add the ability to remove authorised value categories
Jonathan Druart [Tue, 28 Apr 2020 09:53:57 +0000 (11:53 +0200)]
Bug 17355: Add the ability to remove authorised value categories

This new patch set is adding a new DB field is_system to distinguish
internal categories.

The list of internal categories is in the patch "DB changes - set
is_system for categories" and can be discussed/extended.

Test plan:
0.
- Apply patch
- updatedabase
1.
- Create a new AV category
- Create an authorised value
- List the AVs for this category
- Remove all the AVs for this category
=> You see 2 buttons "Add a new authorised value" and "Delete category
'XXX'"
- Click the delete button
=> You get a popup
- Accept
=> The category is deleted

2.
- List the AV for Asort1 (internal category)
/cgi-bin/koha/admin/authorised_values.pl?searchfield=Asort1
- Delete the AVs for this category (if there is any)
=> You do not see the "Delete category" button

3.
- Create a new AV category 'foo'
- Create an authorised value
- Hit /admin/authorised_values.pl?op=delete_category&categor_name=foo
=> You get an error message (expected because the category cannot be
deleted if it has AV linked)
=> message text:
=> An error occurred when deleting this authorized value category. Check the logs.

4.
- Hit /admin/authorised_values.pl?op=delete_category&categor_name=Asort1
=> You get an error message (expected because the category Asort1 cannot
be deleted, it's an internal category.
=> message text:
=> An error occurred when deleting this authorized value category. Check the logs.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: DB changes - set is_system for categories
Jonathan Druart [Tue, 28 Apr 2020 09:32:23 +0000 (11:32 +0200)]
Bug 17355: DB changes - set is_system for categories

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: Override delete methods
Jonathan Druart [Tue, 28 Apr 2020 09:23:02 +0000 (11:23 +0200)]
Bug 17355: Override delete methods

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: DBIC changes - boolean flag
Jonathan Druart [Tue, 28 Apr 2020 09:05:46 +0000 (11:05 +0200)]
Bug 17355: DBIC changes - boolean flag

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: DBIC changes
Jonathan Druart [Tue, 28 Apr 2020 09:03:25 +0000 (11:03 +0200)]
Bug 17355: DBIC changes

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 17355: DB changes
Jonathan Druart [Tue, 28 Apr 2020 09:01:19 +0000 (11:01 +0200)]
Bug 17355: DB changes

This patch adds a new authorised_value_category.is_system boolean/tinyint(1)
DB field.

Name 'is_system' is coming from existing tables account_credit_types and
account_debit_types and should not be discussed here (if you disagree
fill a new bug report and deal with naming issue separately)

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23433: (RM follow-up) One last consistency improvement
Martin Renvoize [Mon, 4 May 2020 06:40:21 +0000 (07:40 +0100)]
Bug 23433: (RM follow-up) One last consistency improvement

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23433: Make consistent use of patron-title.inc in hold confirmation dialogs
Owen Leonard [Fri, 6 Mar 2020 15:06:02 +0000 (15:06 +0000)]
Bug 23433: Make consistent use of patron-title.inc in hold confirmation dialogs

Use of patron-title.inc on the checkin page is inconsistent, resulting
in patron names being displayed differently under different
circumstances. This patch makes it more consistent.

To test, apply the patch and check in items with the following statuses:

 - On hold for a patron at your library
 - On hold for a patron not at your library
 - On hold and already marked 'Waiting'
 - On hold while HoldsAutoFill preference is enabled
 - An item which has been marked with a LOST status in the
   'ClaimReturnedLostValue' system preference.
 - An item which was checked out to a manually-restricted patron and
   checked in with a back-dated checkin date. See test plan on Bug
   24776.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 15751: Add ModDateLastSeen to ProcessOfflineReturn
Martin Renvoize [Wed, 11 Dec 2019 11:53:51 +0000 (11:53 +0000)]
Bug 15751: Add ModDateLastSeen to ProcessOfflineReturn

Test plan:
1) Before the patch when one checks in something using the KOCT the last seen
date is not updated.
2) After the patch when one checks in something using the KOCT the last seen
   date is updated.

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23794: (RM follow-up) Make DB update consistent
Martin Renvoize [Fri, 1 May 2020 16:27:52 +0000 (17:27 +0100)]
Bug 23794: (RM follow-up) Make DB update consistent

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24772: Don't revert course item fields when deleting a course item unless it...
Martin Renvoize [Fri, 1 May 2020 15:04:21 +0000 (16:04 +0100)]
Bug 24772: Don't revert course item fields when deleting a course item unless it is enabled

Deactivating a from Course Reserves reverts Item's Shelving Location
correctly, then deleting the same course reverts the Course Reserve
Items to old shelving location values.

Test Plan:
1) Add items to a Course - make sure they all have shelving locations
prior to being added to the course.
2) When adding items change their shelving location to something else.
   See that Shelving Location has changed; permanent location in
parentheses
3) Deactivated course
   See that Shelving Location has changed back to its original location
4) Deleted course
   See that Shelving Location has changed back to what was picked during
adding it to the Course.
5) Apply this patch, restart all the things!
6) Repeat steps 1-4, note the shelvig location is not lost!

NOTE: Empty commit simply to restore the updated test plan and QA signoff

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Hannah Olsen <holsen@duncanville.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24772: Don't revert course item fields when deleting a course item unless it...
Kyle M Hall [Wed, 29 Apr 2020 14:40:21 +0000 (10:40 -0400)]
Bug 24772: Don't revert course item fields when deleting a course item unless it is enabled

Deactivating a from Course Reserves reverts Item's Shelving Location
correctly, then deleting the same course reverts the Course Reserve
Items to old shelving location values.

Test Plan:
1) Add items to a Course - make sure they all have shelving locations
prior to being added to the course.
2) When adding items change their shelving location to something else.
   See that Shelving Location has changed; permanent location in
parentheses
3) Deactivated course
   See that Shelving Location has changed back to its original location
4) Deleted course
   See that Shelving Location has changed back to what was picked during
adding it to the Course.
5) Apply this patch, restart all the things!
6) Repeat steps 1-4, note the shelvig location is not lost!

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Hannah Olsen <holsen@duncanville.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25127: Use Koha::Number::Price->round for comparison
Martin Renvoize [Mon, 20 Apr 2020 11:09:27 +0000 (12:09 +0100)]
Bug 25127: Use Koha::Number::Price->round for comparison

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25127: Correction to tests
Martin Renvoize [Mon, 20 Apr 2020 08:34:19 +0000 (09:34 +0100)]
Bug 25127: Correction to tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25127: Unit tests
Nick Clemens [Mon, 13 Apr 2020 12:47:03 +0000 (12:47 +0000)]
Bug 25127: Unit tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25119: Fix account type and description for individual writeoffs/payments
Katrin Fischer [Sat, 11 Apr 2020 12:02:03 +0000 (12:02 +0000)]
Bug 25119: Fix account type and description for individual writeoffs/payments

When paying or writing off a single line from the list of pending charges,
the account type displayed the code instead of the description.

And when bug 23483 fixed the display of the description, 2 variables where
missed. This change is only visible when looking at the page source:

<input type="hidden" name="description" id="description" value="" />

With the patch applied, the value will be filled with the description.

To test:
- Create one or more manual invoices of different types
- Try to pay/write off using the buttons within the table
- Verify the account type shows as code, not description
- Apply patch
- Repeat
- Bonus points: Check the source code for the hidden input with description.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23794: DBRev 19.12.082
Martin Renvoize [Fri, 1 May 2020 07:19:27 +0000 (08:19 +0100)]
Bug 23794: DBRev 19.12.082

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23794: Convert OpacMainUserBlock system preference to news block
Owen Leonard [Wed, 11 Dec 2019 16:24:50 +0000 (16:24 +0000)]
Bug 23794: Convert OpacMainUserBlock system preference to news block

This patch builds on Bug 22318 to move the OpacMainUserBlock system
preference into the Koha news system, making it possible to have
language- and library-specific content.

To test you should have some content in the OpacMainUserBlock system
preference. Apply the patch and run the database update process.

 - Go to the OPAC and confirm that the content which was previously in
   the OpacMainUserBlock system preference now displays correctly where
   it was before.
 - In the staff client, go to Tools -> News and verify that the content
   from OpacMainUserBlock is now stored in news items. There should be
   one entry for each of the enabled translations in your system, for
   instance 'opacmainuserblock_en', 'opacmainuserblock_fr-FR',
   'opacmainuserblock_cs-CZ'
 - Go to Administration -> System preferences and confirm that the
   OpacMainUserBlock preference has been removed.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25297: Consistent return value in K::A::Order->current_item_level_holds
Tomas Cohen Arazi [Mon, 27 Apr 2020 21:55:59 +0000 (18:55 -0300)]
Bug 25297: Consistent return value in K::A::Order->current_item_level_holds

This patch makes the return values for 'current_item_level_holds'
consistent: they will always be a Koha::Holds iterator.

To test:
1. Apply the regression tests
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Acquisition/Order.t
=> FAIL: It doesn't work as expected, cannot call ->count on undef, etc
3. Apply this patch
4. Repeat 2.
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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 25297: Regression tests
Tomas Cohen Arazi [Mon, 27 Apr 2020 21:55:32 +0000 (18:55 -0300)]
Bug 25297: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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 24980: (follow-up) return '' when date is null
Agustin Moyano [Tue, 31 Mar 2020 20:56:22 +0000 (17:56 -0300)]
Bug 24980: (follow-up) return '' when date is null

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24980: Only add timezone if passed a date-time
Martin Renvoize [Wed, 25 Mar 2020 20:41:45 +0000 (20:41 +0000)]
Bug 24980: Only add timezone if passed a date-time

This patch prevents a timezone from being assigned to the js moment if
the input string is only at the full-date and not date-time resolution

To test:
1. Do not apply this patch
2. Set your system time zone to CET
3. Apply previous patch (It's just for test)
4. In your browser go to koha main page, open a console and type $date('2020-03-25', {tz:
   'UTC'})
CHECK => you sould get '03/24/2020' (notice day is 24 instead of 25)
5. Apply this patch and reload the browser
6. repeat step 4
SUCCESS => now you get '03/25/2020' (day is correct)
7. Sing off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Agustin Moyano <agustinmoyano@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 24043: (QA follow-up) Fix another TypeError when retrieving status name
Josef Moravec [Thu, 30 Apr 2020 11:29:56 +0000 (11:29 +0000)]
Bug 24043: (QA follow-up) Fix another TypeError when retrieving status name

Test plan:
1) Apply first patch, and have the same requests as in previous patch
test plan
2) Load ill requests list
2a) You can see another TypeError in console
2b) You can notice, the Placed on and Updated on columns have prepended
another columns with unformatted dates and without header label
3) Apply this patch
4) Reload page (be sure it is not loaded from cache - Ctrl+F5)
5) Errors from 2a and 2b are gone

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24043: Fix retrieval of of status name
Andrew Isherwood [Mon, 13 Jan 2020 10:18:19 +0000 (10:18 +0000)]
Bug 24043: Fix retrieval of of status name

This patch modifies the way in which a request's status name is
retrieved. I think the previous way it was done (which can never have
worked properly) must have come from a time when we weren't embedding
the request's backend capabilities in each request. So now we can just use
the current row.

Test plan:

1. *Before applying the patch*:
2. Ensure you have at least two requests, from two different backends.
One of the backends you are using must have a possible status that
doesn't exist in the other. For example, the BLDSS backend has a status
of STAT, that doesn't not exist in any other backends.
3. Ensure that the request who's backend has the unique status is *not*
the first request in the returned list.
4. Load the "View ILL requests" page
5. Observe that the page JS fails with a "Cannot read property 'name' of
undefined" error
6. Apply the patch
7. Reload the page (maybe doing a hard reload to ensure the JS is not
cached)
8. TEST: Observe that the error no longer occurs and the requests all
have their statuses displayed correctly.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25303: Add a test for ->reset
Jonathan Druart [Thu, 30 Apr 2020 12:15:28 +0000 (14:15 +0200)]
Bug 25303: Add a test for ->reset

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25303: Call ->reset before iterate on the set
Jonathan Druart [Thu, 30 Apr 2020 11:24:30 +0000 (13:24 +0200)]
Bug 25303: Call ->reset before iterate on the set

In case we already started to iterate.

This fixes a failing tests in t/db_dependent/Koha/Biblios.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25131: (follow-up) Make sure plugin data is fresh
Tomas Cohen Arazi [Wed, 29 Apr 2020 22:12:09 +0000 (19:12 -0300)]
Bug 25131: (follow-up) Make sure plugin data is fresh

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25303: Effectively delete the city to avoid endless loop
Jonathan Druart [Wed, 29 Apr 2020 13:47:27 +0000 (15:47 +0200)]
Bug 25303: Effectively delete the city to avoid endless loop

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25303: Make Koha::Objects->delete loop on the object set
Jonathan Druart [Tue, 28 Apr 2020 12:37:43 +0000 (14:37 +0200)]
Bug 25303: Make Koha::Objects->delete loop on the object set

If we call Koha::Libraries->delete but Koha::Library->delete exists
(ie. Koha::Object->delete is overridden), then we Koha::Objects->delete
will be called and the overridden will not be executed.

This patch suggests to test if the method is overridden (using
Class::Inspector->function_exists). If so we loop on the different
objects of the set in a transaction and call the overridden ->delete method.

Existing tests widely cover this change.
t/db_dependent/Koha/Objects.t
    subtest 'Return same values as DBIx::Class' => sub {

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25303: Unit tests
Tomas Cohen Arazi [Tue, 28 Apr 2020 14:31:28 +0000 (11:31 -0300)]
Bug 25303: Unit tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25296: Make ->empty work for uninstantiated calls
Tomas Cohen Arazi [Wed, 29 Apr 2020 12:28:04 +0000 (09:28 -0300)]
Bug 25296: Make ->empty work for uninstantiated calls

In OO we would usually instantiate the class and then interact with it
like in:
    my $rs = Koha::Patrons->new;
    $rs->empty;

Koha's practice is to call things like Koha::Patrons->search without
instantiating the Koha::Patrons class. To keep consistency, this patch
instantiates the resultset object on behalf of the caller if required.

To test:
1. Apply the tests patch
2. Run:
   $ kshell
  $k prove t/db_dependent/Koha/Objects.t
=> FAIL: Tests fail because it is expected to have the class
instantiated
3. Apply this patch
4. Repeat 2.
=> SUCCESS: Tests pass, instantiation happens implicitly.
5. 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: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 25296: Tests for uninstantiated behaviour
Tomas Cohen Arazi [Wed, 29 Apr 2020 12:27:22 +0000 (09:27 -0300)]
Bug 25296: Tests for uninstantiated behaviour

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 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>