]> git.koha-community.org Git - koha.git/log
koha.git
6 years agoBug 21597: Incorrect date value: '0' for column 'onloan'
Jonathan Druart [Wed, 17 Oct 2018 22:21:56 +0000 (19:21 -0300)]
Bug 21597: Incorrect date value: '0' for column 'onloan'

Fix t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t

items.onloan
  `onloan` date DEFAULT NULL,

DBIx::Class::Storage::DBI::_dbh_execute(): Incorrect date value: '0' for
column 'onloan' at row 1 at /home/vagrant/kohaclone/t/lib/TestBuilder.pm
line 288

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 489c636316209d4f4e7d8648cc5832347e792076)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21597: Data too long for column 'invitekey'
Jonathan Druart [Wed, 17 Oct 2018 22:18:58 +0000 (19:18 -0300)]
Bug 21597: Data too long for column 'invitekey'

Fix t/db_dependent/Virtualshelves.t

virtualshelfshares.invitekey
  `invitekey` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,

We should not insert a longer string!

DBIx::Class::Storage::DBI::_dbh_execute(): Data too long for column
'invitekey' at row 1 at /home/vagrant/kohaclone/Koha/Object.pm line 125

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f19a99209528e85003cd56104640effe75e4f126)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21597: Field 'amount' doesn't have a default value
Jonathan Druart [Wed, 17 Oct 2018 22:11:29 +0000 (19:11 -0300)]
Bug 21597: Field 'amount' doesn't have a default value

Fix t/db_dependent/Accounts.t

Default value could be 0, or left as it.
It seems that the different initialisation we have in the code pass a
value for 'amount'

account_offsets.amount
  `amount` decimal(26,6) NOT NULL,

DBIx::Class::Storage::DBI::_dbh_execute(): Field 'amount' doesn't
have a default value at /home/vagrant/kohaclone/Koha/Object.pm line 125

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 82884b0bd81a79c9a0c700463f1fcc632314863c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21597: Column 'notforloan' cannot be null
Jonathan Druart [Wed, 17 Oct 2018 22:07:20 +0000 (19:07 -0300)]
Bug 21597: Column 'notforloan' cannot be null

Fix t/db_dependent/Circulation.t

items.notforloan:
  `notforloan` tinyint(1) NOT NULL DEFAULT '0',

t/db_dependent/Circulation.t .. 115/119 DBD::mysql::st execute failed: Column 'notforloan' cannot be null [for Statement "UPDATE `items` SET `notforloan` = ? WHERE ( `itemnumber` = ? )" with ParamValues: 0=undef, 1='1046'] at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1832.
        # No tests run!

    #   Failed test 'No tests run for subtest "item-level_itypes = 0"'
    #   at t/db_dependent/Circulation.t line 2356.
    # Looks like you failed 1 test of 2.

 #   Failed test 'CanBookBeIssued | notforloan'
 #   at t/db_dependent/Circulation.t line 2359.
Can't locate object method "rethrow" via package "DBD::mysql::st execute failed: Column 'notforloan' cannot be null [for Statement "UPDATE `items` SET `notforloan` = ? WHERE ( `itemnumber` = ? )" with ParamValues: 0=undef, 1='1046'] at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1832.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit a40b8ebde788ac4082670e30b03fcbade2cc5544)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21599: Fix item type creation by defining default values
Jonathan Druart [Thu, 18 Oct 2018 11:32:59 +0000 (08:32 -0300)]
Bug 21599: Fix item type creation by defining default values

Same as what we have in Koha::Patron->new, empty strings should not be
inserted in integer or date column type

DBD::mysql::st execute failed: Incorrect decimal value: '' for column 'defaultreplacecost' at row 1 [for Statement "INSERT INTO `itemtypes` ( `checkinmsg`, `checkinmsgtype`, `defaultreplacecost`, `description`, `hideinopac`, `imageurl`, `itemtype`, `notforloan`, `processfee`, `rentalcharge`, `searchcategory`, `sip_media_type`, `summary`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" with ParamValues: 0="", 1="message", 2="", 3="xx", 4=0, 5='', 6="XX", 7=0, 8="", 9="", 10="", 11=undef, 12=""] at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1832.

Test plan:
Create a new itemtype

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 33c142ba3b7cfd37dd90569de2a5802849b09ef5)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21598: 'koha_kohadev.aqbudgets.budget_parent_id' isn't in GROUP BY
Jonathan Druart [Wed, 17 Oct 2018 22:31:14 +0000 (19:31 -0300)]
Bug 21598: 'koha_kohadev.aqbudgets.budget_parent_id' isn't in GROUP BY

DBD::mysql::db selectall_hashref failed:
'koha_kohadev.aqbudgets.budget_parent_id' isn't in GROUP BY [for
Statement "

    at /home/vagrant/kohaclone/C4/Budgets.pm line 558.
and
    at /home/vagrant/kohaclone/C4/Budgets.pm line 565.

Test plan:
hit /cgi-bin/koha/admin/aqbudgets.pl

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 60e00a332e2a500746f12908042dd61250d1f79a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21593: Remove GROUP BY from GetAuthValueDropbox
Nick Clemens [Thu, 18 Oct 2018 10:05:38 +0000 (10:05 +0000)]
Bug 21593: Remove GROUP BY from GetAuthValueDropbox

With new MYSQL modes we are permitted only full group by.

In this case I don't think we need a GROUP BY at all

To test:
1 - Try to pay a fine or create a borrower
2 - Internal server error
3 - Apply patch
4 - Page should load
5 - Test various authorised values ot ensure they work
   e.g. Set bsort1 and bsort2 to have some authorised values with and
   without branch limits
   set PAYMENT_TYPE to have some values with and without branch limits

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 87c7e534f15aff14d6e82cbb67ecbb8e8715c2b7)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20351: Shortcut serials scripts if a blocking error appeared
Jonathan Druart [Tue, 8 May 2018 17:25:57 +0000 (14:25 -0300)]
Bug 20351: Shortcut serials scripts if a blocking error appeared

The idea of output_and_exit_if_error (added by bug 18403) is to make sure
parameters are valid before executing the script.
If not (old or broken URLs), we shortcut everything coming next to display a
generic error ("object does not exist", "you do not have permission to do that", etc.)

This bug report fixes the scripts under serials/*.

Test plan:
Hit the script under the serials directory with an invalid subscriptionid parameter
and confirm you get an error instead of the normal view with empty values.

The goal is not to be exhaustive during the first iteration, but at least to fix
the most common views.

For instance:
/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=XXX
/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=XXX
/cgi-bin/koha/serials/routing.pl?subscriptionid=XXX&op=new
/cgi-bin/koha/serials/subscription-add.pl?op=modify&subscriptionid=XXx
/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=XXX

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 62285d2de463811380262e4cc65c82937145d477)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21513: Add a 'Cancel' button to the authority editor and remove duplicate 'Save...
Andreas Roussos [Sun, 7 Oct 2018 18:00:09 +0000 (21:00 +0300)]
Bug 21513: Add a 'Cancel' button to the authority editor and remove duplicate 'Save' button

The authority editor (authorities/authorities.pl) does not have
a 'Cancel' button. Also, it has two 'Save' buttons.

This patch fixes that by:
a) adding a 'Cancel' button to the floating toolbar at the top
b) removing the 'Save' button from the bottom of the page

Test plan:
1) Go to Home > Authorities and launch the authority editor by
   clicking on 'New authority'. Notice how the editor doesn't
   have a 'Cancel' button. Also notice the two 'Save' buttons.
2) Apply the patch.
3) Re-launch the authority editor, and hit cancel; you should
   be taken back to Home > Authorities.
4) Edit an existing authority, and hit cancel; you should be
   taken back to the details page for the authority you chose.
5) Edit an authority as new (duplicate), and hit cancel; you
   should be taken back to Home > Authorities (this behaviour
   is mimicking the bibliographic editor: when duplicating a
   biblio the 'Cancel' button will take you back to Home >
   Cataloging).

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 2cffe3a574e14d5f35ce7b1d9ffe28a153dcb37e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 14786: Use MARC istead of ISO2709 everywhere
Katrin Fischer [Sun, 12 Aug 2018 15:08:57 +0000 (17:08 +0200)]
Bug 14786: Use MARC istead of ISO2709 everywhere

This patch changes the term ISO2709 in the templates to use
MARC instead.

Test plan:
- The term was changed on the following pages in staff:
  - Advanced catalouging editor > Save to catalog
  - Patron account > Check out (Activate ExportCircHistory) > Format
  - Patron account > Check out > Help page
  - Lists > Download list
  - Acquisitions > Add order to basket > From a staged file (breadcrumbs)
  - Administration > System preferences > ExportRemoveFields
  - Cart > Download
  - Tools > Export data > Output format

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 81875ab282c1daa98dec2e0f5f20ba74f411ac32)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21456: (QA follow-up) Catch missed case in authorities merge
Martin Renvoize [Mon, 8 Oct 2018 14:25:50 +0000 (15:25 +0100)]
Bug 21456: (QA follow-up) Catch missed case in authorities merge

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 796e4e5d2be5ec87970f8b586f940e4abddb687d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21456: The 'New authority' button lists authority types inconsistently
Andreas Roussos [Sun, 30 Sep 2018 10:06:28 +0000 (13:06 +0300)]
Bug 21456: The 'New authority' button lists authority types inconsistently

The 'New authority' button does not always list the available
authority types in A-Z order based on their description.

This patch fixes that.

Test plan:
1) Go to Home > Authorities in the staff client; notice how the
   'New authority' button lists auth types sorted by description.
2) Go to an authority's detail page; notice how the same 'New
   authority' button will list auth types sorted by their code.
3) Apply the patch.
4) In an authority's detail page, the 'New authority' button will
   now list the available authority types sorted by description.

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit bf7c8303ca7f9e4955f25fc4d1f30d65d8c52dc9)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21490: Disambiguation of 'Order' part 2
Caroline Cyr La Rose [Thu, 4 Oct 2018 18:52:53 +0000 (14:52 -0400)]
Bug 21490: Disambiguation of 'Order' part 2

This patch changes the 'Order' term in neworderbiblio.tt,
newordersubscription.tt, newordersuggestion.tt, and
z3950_search.tt for 'Place order'.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 706d21ee53dd5072eec2234415fc5c8ff4b1ea17)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21490: Disambiguation of 'Order'
Caroline Cyr La Rose [Thu, 4 Oct 2018 18:38:25 +0000 (14:38 -0400)]
Bug 21490: Disambiguation of 'Order'

This patch changes the 'Order' term in marc_modification_template.tt
for 'Rank'.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 5ca776d6e171de1b093163ab83ba589d5ae4d7cc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 16754: Use validation plugin in budgets, planning, and contracts
Owen Leonard [Thu, 16 Jun 2016 13:28:01 +0000 (09:28 -0400)]
Bug 16754: Use validation plugin in budgets, planning, and contracts

This patch removes the custom javascript form validation from three
templates: Budgets, budget planning, and contracts. Validation via the
validation plugin is done instead.

This patch also removes use of event attributes like onclick and
onchange. Also changed: I added the "Required" text next to required
fields as necessary.

To test, apply the patch and go to Administration -> Budgets.

- Test the budget creation process for adding, editing, and duplicating
  budgets. In all cases:
  - The start date and end date should be required
  - You should be warned if you enter an end date which falls before the
    start date.
  - The description should be required
  - The budget amount should be required to be a number

To test the budget planning page:

Note that much of the JS removed from this template was unused. It
looked for inputs by the name 'est_total' which don't exist.

- When viewing the table of funds for a budget, select a choice from the
  'planning' toolbar menu.
  - Verify that after entering a numeric value in any cell, the
    'remaning' value at the end of the row is correctly updated.
  - Verify that after entering non-numeric data an error is displayed.
  - Verify that clicking the 'auto-fill' button at the end of the row
    works to fill any empty or zero-value fields with the remaning funds
    available.

To test the vendor contracts page:

- Go to Acquisitions -> Vendor -> Contracts
- Add or edit a contract
  - Confirm that name, start date, and end date are required.
  - Confirm that you are warned if you enter an end date which falls
    before the start date.

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 23265158fcab25f8f5188cea6f07af46812d41cc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21583: Don't use Asset.js for external script files
Nick Clemens [Tue, 16 Oct 2018 17:09:29 +0000 (17:09 +0000)]
Bug 21583: Don't use Asset.js for external script files

To test:
1 - Enable Novelist in staff client:
    NovelistSelectStaffEnabled: Add
    NovelistSelectStaffProfile: anything
    NovelistSelectPassword: anything
    ( these don't need to be valid, just not blank )
2 - Pull up a record detail page in staff client
3 - View page source - search for ns2init.js
4 - You won't find it
5 - Apply patch
6 - Reload details
7 - Search page source for ns2init.js
8 - It loaded! Huzzah!

Signed-off-by: George Williams <george@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 55225ba10b824f7e881738a20c751200843d3ec9)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21579: Make showdiffmarc.pl work for authorities and biblios
Nick Clemens [Tue, 16 Oct 2018 14:00:59 +0000 (14:00 +0000)]
Bug 21579: Make showdiffmarc.pl work for authorities and biblios

To test:
 1 - Have or make some authority records
 2 - Have or make an authority matching rule
 3 - Export your authrotities
 4 - Import them using the matching rule
 5 - On the 'Manage staged records' page view some diffs
 6 - The import record is correct, but the existing records pull form
 bibs
 7 - Apply patch
 8 - Repeat
 9 - Confirm you see the expected authority matches

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marjorie Vila <marjorie.barry-vila@collecto.ca>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 7f0207d2ad162a86cf5e09e437565b66b91c5004)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21155: Prevent SwitchOnSiteCheckouts.t to fail randomly
Jonathan Druart [Tue, 16 Oct 2018 13:27:37 +0000 (10:27 -0300)]
Bug 21155: Prevent SwitchOnSiteCheckouts.t to fail randomly

 #   Failed test 'The date_due should have been set depending on the circ
 rules when the on-site checkout has been switched'
 #   at t/db_dependent/Circulation/SwitchOnSiteCheckouts.t line 126.
 #          got: '2018-10-16T23:59:00'
 #     expected: '2018-10-21T23:59:00'

TestBuilder set date to today, so issuingrules.harduedate will be set to
today.
issuingrules.hardduedatecompare will be set to an integer.
If set to 0, $datedue will be reset to the hard due date

The call stack is: AddIssue > CalcDateDue > GetHardDueDate

In GetHardDueDate:
3509         if ( $hardduedatecompare == 0 || $hardduedatecompare == $cmp ) {
3510             $datedue = $hardduedate->clone;
3511         }

To fix this random failure we need to set issuingrules.harduedate to undef.

Test plan:
0. Do not apply this patch
1. Modify the test to set hardduedatecompare to 0 (search 'my $issuingrule = ')
2. Execute the test and confirm the failure
3. Apply this patch
4. Execute the test and confirm the it is no longer failing

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 4e6d9defc180204461f80477be287ade7fcfc11b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21552: Use raw filter for displaying RoutingListNote
Katrin Fischer [Tue, 9 Oct 2018 12:22:35 +0000 (12:22 +0000)]
Bug 21552: Use raw filter for displaying RoutingListNote

The RoutingListNote system preference works like other prefs
allowing you to insert your own content on the routling list
template using HTML. The default text even uses HTML, so it
looks broken without this patch.

To test:
- Add a subscription
- Add a new routing list to it
- Add some patrons to it
- Save
- preview routing list
- Verify that the note shows and is formatted correctly.

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f902041e244cc35ecc99e3ca256ff24c843a8b04)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21351: Rename the Taiwanese language pack to use correct file name
Martin Renvoize [Fri, 26 Oct 2018 11:32:20 +0000 (12:32 +0100)]
Bug 21351: Rename the Taiwanese language pack to use correct file name

The words "Han (Simplified variant)" is appearing in the language name
because the file is titled "zh-Hans-TW" when it should be titled
"zh-Hant-TW". The database is set up to use "Hant" but it just
incorrectly named.

Test plan
1. Apply patch.
2. Install zh-Hant-TW on your Koha server.
3. Navagate to I18N/L10N preferences and confirm that the english text description states (Traditional variant).

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Files on translate.kc.org have already been fixed by Bernardo.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit fd0df2ad55f9a5ff180dc0dfa22fede5f0ad37cd)
Converted to removal of files rather than rename as translation merges
had already created the new files as expected.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21082: (RMaint follow-up) remove $raw filters
Martin Renvoize [Fri, 26 Oct 2018 11:27:15 +0000 (12:27 +0100)]
Bug 21082: (RMaint follow-up) remove $raw filters

The $raw filter plugin is not available in 18.05.x series

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21542: Use modal and password field for overdrive password
Nick Clemens [Wed, 10 Oct 2018 15:53:13 +0000 (15:53 +0000)]
Bug 21542: Use modal and password field for overdrive password

To test:
 1 - Enabled Overdrive and fill all preferences
 2 - Make sure OverDrivePasswordRequired is true
 3 - Go to opac account
 4 - Log in to overdrive
 5 - Note the input is shown
 6 - Apply patch
 7 - Repeat
 8 - Note popup is now a modal
 9 - Note password is now hidden
10 - Confirm overdrive integration works as before

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 32dc4a7bfaeebcff2be739fdf5f15e0f8bad4faa)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21082: (RM follow-up) address QA issues
Nick Clemens [Tue, 9 Oct 2018 10:56:43 +0000 (10:56 +0000)]
Bug 21082: (RM follow-up) address QA issues

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d83d5ec5a4edfc4927a5f8e5ca3d1cde2942f5fe)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21082: DBRev 18.05.05.001
Nick Clemens [Tue, 9 Oct 2018 10:41:03 +0000 (10:41 +0000)]
Bug 21082: DBRev 18.05.05.001

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 91790fdd90c8dc59b70f6defd63b088febf5b39d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21082: Update OverDrive authentication method
Nick Clemens [Tue, 17 Jul 2018 14:16:33 +0000 (14:16 +0000)]
Bug 21082: Update OverDrive authentication method

Testing will require an OverDrive account, you should be able to obtain a
developer account here:
https://developer.overdrive.com/

You will need to register a SIP connection for patron authentication

To test authentication:
 1 - Set authname default in OD prefs
 2 - Sign in as a patron whose branch matches authname
 3 - Verify the patron can sign into OverDrive
 4 - Set the patrons branch authname to be incorrect
 5 - Verify branch specific authname is used and patron cannot sign in
 6 - Set the default authname to be incorrect and patron's branch
 authname to be correct
 7 - Verofy patron can sign in

To test circulation:
 1 - Fill out all OD prefs and enable circulation
 2 - Sign in to opac
 3 - Verify you have an OverDrive tab
 4 - Click 'Login to Overdrive'
 5 - If password required you shoudl be prompted, otherwise you should be
signed in and see account info
 6 - Test logging out and in
 7 - Log-in, perform a search on the opac - you should see hold/checkout
buttons
 8 - Test the buttons
 9 - After holding/checking out items, check your account page
10 - Verify info is correct
11 - Log out of overdrive
12 - Search catalog click overdrive results
13 - Test "Login to Overdrive" link on OD results
14 - Verify page is reloaded, buttons show and work

Signed-off-by: Sandy Allgood <sandy.allgood@citruslibraries.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit e762bdb9b2243070fd33e9aeb1bdfb88f2af2193)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21082: Add new admin page for overdrive
Nick Clemens [Tue, 17 Jul 2018 14:08:13 +0000 (14:08 +0000)]
Bug 21082: Add new admin page for overdrive

The 'authname' field required for OverDrive can differ per branch.
This patch adds Koha Objects for dealing with OD info and submitting
authnames per branch. The description is left open so future branch info
can be added.

To test:
1 - prove -v t/db_dependent/Koha/Library/OverDriveInfos.t
2 - visit cgi-bin/koha/admin/overdrive.pl
3 - Add some authnames for various branches
4 - Verify data saves correctly

Signed-off-by: Sandy Allgood <sandy.allgood@citruslibraries.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit df339d0372c633635bc63d87d7caa7807a540aed)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21082: Database updates
Nick Clemens [Tue, 17 Jul 2018 13:50:43 +0000 (13:50 +0000)]
Bug 21082: Database updates

Signed-off-by: Sandy Allgood <sandy.allgood@citruslibraries.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 67d13dc5867e813efad430c6352657e459259bab)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoUpdate release notes for 18.05.08 release v18.05.05
Martin Renvoize [Tue, 23 Oct 2018 15:04:20 +0000 (16:04 +0100)]
Update release notes for 18.05.08 release

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoIncrement version for 18.05.05 release
Martin Renvoize [Tue, 23 Oct 2018 14:59:24 +0000 (15:59 +0100)]
Increment version for 18.05.05 release

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoTranslation updates RMaint followup for Koha 18.05.05
Martin Renvoize [Tue, 23 Oct 2018 14:54:38 +0000 (15:54 +0100)]
Translation updates RMaint followup for Koha 18.05.05

Fixed a couple of C string errors

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoTranslation updates for Koha 18.05.05
Koha translators [Tue, 23 Oct 2018 13:52:34 +0000 (10:52 -0300)]
Translation updates for Koha 18.05.05

(cherry picked from commit 7b88a34178075def11d13efaaeef1d0e16cc2c64)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21352: (rmaint followup) Remove superflous html filters
Martin Renvoize [Fri, 19 Oct 2018 08:50:32 +0000 (09:50 +0100)]
Bug 21352: (rmaint followup) Remove superflous html filters

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21550: DataTables four button pagination uses the wrong icon for disabled buttons
Owen Leonard [Thu, 11 Oct 2018 15:59:13 +0000 (15:59 +0000)]
Bug 21550: DataTables four button pagination uses the wrong icon for disabled buttons

This patch modifies the DataTables CSS which styles "full_nubmers"
controls which are disabled: First and Previous buttons on the first
page of results, Next and Last buttons on the last page of results.
These buttons should have gray icons instead of blue.

To test, apply the patch and clear your browser cache if necessary. View
a page which uses a "full_numbers" DataTables configuration, e.g.

- Administration -> Cities
- ILL requests -> List requests
- Circulation -> Holds to pull

Confirm that buttons in their disabled state have a gray icon and text
instead of blue.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d9b922f46f8d551949f337f29edef6985130c8ba)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21115: Add multi_param call and add divider in cache key in svc/report and opac...
Marcel de Rooy [Wed, 25 Jul 2018 12:37:59 +0000 (14:37 +0200)]
Bug 21115: Add multi_param call and add divider in cache key in svc/report and opac counterpart

Resolve things like:
CGI::param called in list context from package CGI::Compile::ROOT::usr_share_koha_prodclone_opac_svc_report line 42, this can lead to vulnerabilities. See the warning in "Fetching the value or values of a single named parameter" at /usr/share/perl5/CGI.pm line 436.

The cache key in both script looks like:
    opac:report:id:602018
but should for consistency be:
    opac:report:id:60:2018
Note: The 2018 here is part of the sql_params and should not be
concatenated to the report id.

Test plan:
Do not yet apply this patch.
Make a report public, set cache to 300 secs.
Check its output with opac/svc/report.
Check for the warn in your log.
Apply the patch, restart Plack and flush cache.
Check opac/svc/report.
Modify your report; e.g. add a simple string to the SELECT.
Check opac/svc/report. You should still see cached output.
Flush the cache.
Check opac/svc/report. You should now see the added text.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested also by clearing individual keys with $cache->clear_from_cache.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit bfbbe52ff7ff0ec93825684e4728db705b4100d1)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21291: (follow-up) Pass subscriptionsnumber to all tools in staff detail's sidebar
Blou [Thu, 4 Oct 2018 17:00:08 +0000 (13:00 -0400)]
Bug 21291: (follow-up) Pass subscriptionsnumber to all tools in staff detail's sidebar

The subscriptionsnumber is required in biblio-view-menu.inc to display
the Subscription(s) tab. In detail.pl, if you click any of

Labeled MARC  (you need to set the syspref viewLabeledMARC)
Hold(s)
Article requests
Checkout history
Modification log
Rota          (you need to set the syspref StockRotation)

you lose the Subscription(s) tab.

This patch fixes the display by having each feature script generate that
value to be passed to the UI. I keep this separated from the first patch
since it's not exactly the same issue, and the solution might not
please.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit c6c4d82325eb7d11b34a113c69acbff18e283542)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21291: request-article.pl doesn't show MARC, LabeledMARC and ISBD in sidebar
Blou [Thu, 30 Aug 2018 14:33:44 +0000 (10:33 -0400)]
Bug 21291: request-article.pl doesn't show MARC, LabeledMARC and ISBD in sidebar

When on a detailed record in the intranet, any click on the sidebar
will lead you to another page with the same sidebar EXCEPT for "Article
requests".

When clicking on article requests, you get a new sidebar without
MARC
Labeled MARC
ISBD

This fix adds the required C4::Biblio::enabled_staff_search_views that
loads the required hash with the permissions.

TEST
0) login with a user having all rights
1) go to any detailed notices, notice the sidebar on the left
2) click on MARC
3) notice the sidebar is the same in the new page
4) click on Request articles
5) notice the missing labels on the sidebar
6) apply patch, redo steps

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit ab13b53854e0aa726c8112d8f31cc553484637bd)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20131: Inventory optional filters correct "For loan" addition
Fridolin Somers [Fri, 2 Feb 2018 13:34:34 +0000 (14:34 +0100)]
Bug 20131: Inventory optional filters correct "For loan" addition

In inventory, optional filters are build from authorize values categories used for items.notforloan, items.itemlost, items.withdrawn and items.damaged.

The bug is that description of value 0 is always "For loan".
This seems to be only for "notforloan".

Second bug is that if a description exists for "notforloan" value 0, it is not used.

This patch corrects by adding "For loan" only for "notforloan" authorized values and if there is no 0 value.
It changes the description added by code from "ignore" to a more unlikly user defined "__IGNORE__".

Test plan:
1) Make sure you have authorized values defined on items.notforloan, say "NFL" category, with at least a value and description but no 0 value
2) Make sure you have authorized values defined on items.itemlost, say "LOST" category, with 0 = "Not lost" and 1 = "Lost"
3) Go to inventory /cgi-bin/koha/tools/inventory.pl
4) Without patch you see "For loan" on both items.notforloan and items.itemlost
5) With patch you see "For loan" only in items.notforloan, you see for items.itemlost : "Not lost" and "Lost"
6) Create in authorized values category "NFL" a value 0 with description "Available"
7) Go to inventory /cgi-bin/koha/tools/inventory.pl
8) Without patch you see "For loan" in items.notforloan for value 0
9) With patch you see "Available" in items.notforloan for value 0

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 8d9284668c6de2d5fbfc4079a8b0516ba1645876)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 18655: Correct the choose link in unimarc_field_210c value builder
Baptiste Wojtkowski [Tue, 23 May 2017 08:54:00 +0000 (08:54 +0000)]
Bug 18655: Correct the choose link in unimarc_field_210c value builder

- Link 'choose' is now a button.
- It doesn't call directly javascript anymore (use of listener).
- field to load stored in html on the page (less escaping needed).

Test plan :
1) Use UNIMARC catalog
2) Define unimarc_field_210c value builder on 210$c
3) Define an autority type EDITORS with heading on 200$b
4) Create an autority of this type with a single quote in heading, ie : l'avenir
5) Index this new autority
6) Edit a biblio record and launch 210$c value builder
7) Search for new autority
8) Click on 'Choose'
=> Heading should be pasted in 210$c

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 9965aa43e15aaa63fd8999daa98618d20698e89b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21113: Corrections to patron merge confirmation prompt
Martin Renvoize [Mon, 8 Oct 2018 10:47:15 +0000 (11:47 +0100)]
Bug 21113: Corrections to patron merge confirmation prompt

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit c6198717c4be56ba99deb57aa6d117d23a032eea)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21537: Fix typo for options_for_item_types
Nick Clemens [Wed, 10 Oct 2018 15:02:14 +0000 (15:02 +0000)]
Bug 21537: Fix typo for options_for_item_types

To test:
 0 - Set UseACQFrameworkForBiblioRecords to 'Use'
 1 - Define a subfield in the ACQ framework linked to authorised value
 'itemtypes'
 2 - Make sure that field is visible
 3 - Create a purchase suggestion
 4 - Accept it
 5 - Go to Acquisitions
 6 - Find a vendor with an open basket, or create one
 7 - Add to the basket using a suggestion
 8 - Choose the suggestion
 9 - Internal server error
10 - Apply patch
11 - Place order form a suggestion again
12 - Confirm that the field linked to itemtypes shows correctly

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 959162b2f3c9689bb56433ee08c300b40822d700)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21365: Call BiblioAutoLink from AddBiblio and ModBiblio
Ere Maijala [Sun, 16 Sep 2018 22:13:55 +0000 (01:13 +0300)]
Bug 21365: Call BiblioAutoLink from AddBiblio and ModBiblio

This makes e.g. the advanced MARC editor, and anything that uses AddBiblio or
ModBiblio honor BiblioAddsAuthorities.

To test:
1. Make sure BiblioAddsAuthorities and AutoCreateAuthorities preferences are enabled.
2. Add a new record using advanced editor (enable EnableAdvancedCatalogingEditor to
use it), include a previously non-existing author.
3. Save the record and observe the author get an authority number.
4. Add another author, save the record and make sure it also gets an authority number.

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1a8e1165ca7abf9e2b7e5c7de0cdf26cbd4e30ac)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21279: Fix &nbsp; in transport cost matrix
Marcel de Rooy [Wed, 10 Oct 2018 11:43:40 +0000 (13:43 +0200)]
Bug 21279: Fix &nbsp; in transport cost matrix

Test plan:
On Home › Administration › Transport cost matrix you should no longer
see "&nbsp;".
Fill some values and save, you should see the correct values.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1fddd295b8e83b60f2b838f09f3175c5acfeec28)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21479: "Mock" SearchEngine to use Zebra
Jonathan Druart [Mon, 15 Oct 2018 17:53:35 +0000 (14:53 -0300)]
Bug 21479: "Mock" SearchEngine to use Zebra

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit dc6bea7860aba7933f7e979cbe7c53e9cb15ba05)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21479: Zebra index can return different result
Jonathan Druart [Mon, 15 Oct 2018 14:42:34 +0000 (11:42 -0300)]
Bug 21479: Zebra index can return different result

If the zebra index has been rebuilt by previous tests, the order/results
will be different, and we will not have biblionumber 1, 3, 5

Let make this more flexible

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit e7574481b19addd2747baf5917e772d28cd38bc5)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21479: Remove the trace if the node does not exist
Jonathan Druart [Fri, 12 Oct 2018 18:37:44 +0000 (15:37 -0300)]
Bug 21479: Remove the trace if the node does not exist

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit be4f22f5a0745ef64c6bf20b89bd9f4fcbe40403)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21479: Add regression tests
Jonathan Druart [Tue, 9 Oct 2018 16:30:54 +0000 (13:30 -0300)]
Bug 21479: Add regression tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 45fbd36e1f2e1aa622eec1ba588424cc50243fb3)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21479: Fix remove from cart links at the OPAC (should remove only 1)
Owen Leonard [Wed, 3 Oct 2018 14:13:49 +0000 (14:13 +0000)]
Bug 21479: Fix remove from cart links at the OPAC (should remove only 1)

This patch changes the way biblionumbers are passed to the cart script
for adding and removing single items. The title's biblionumber is now
stored in a data-attribute on the links for adding and removing. This
should be a more robust, unified way to handle these single-item
operations.

To test, apply the patch and enable the opacbookbag system preference.

Test adding and removing items from the cart from various pages using
various methods:

 - By clicking an "Add to your cart" / "Remove" link in search results
 - By clicking an "Add to your cart" / "Remove" link on a detail page
 - By checking boxes in search results and adding via the dropdown

Each operation should work correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2cd49034c43a16c7497f05e94c18396532fceddc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 19687: (RM follow-up) Export correct function name
Nick Clemens [Mon, 15 Oct 2018 13:07:11 +0000 (13:07 +0000)]
Bug 19687: (RM follow-up) Export correct function name

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit dab70daa55a90f7b50f8c2dc9fefdef0762e5daf)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 19687: Undefined subroutine in bulkmarcimport
David Gustafsson [Wed, 26 Sep 2018 15:25:44 +0000 (17:25 +0200)]
Bug 19687: Undefined subroutine in bulkmarcimport

Bulkmarcimport produces undefined subroutine error for
C4::Items::TransformMarcToKoha and C4::Items::GetMarcStructure
probably caused by mutually recursive modules. Put exports in
BEGIN clause before all the other imports.

To test:
1) Run bulkmarcimport.pl before applying patch and verify
that undefined subroutine error occurs
2) Apply patch
3) Run bulkmarcimport.pl again and verify that no errors are
produced

Sponsored-by: Gothenburg University Library
Signed-off-by: George Veranis <gveranis@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3f09e1d73338c86762412546e1a0617df698f422)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21320: Holds to pull should honor syspref AllowHoldsOnDamagedItems
Dobrica Pavlinusic [Thu, 6 Sep 2018 11:21:53 +0000 (13:21 +0200)]
Bug 21320: Holds to pull should honor syspref AllowHoldsOnDamagedItems

Test plan:

1. Set syspref AllowHoldsOnDamagedItems to Allow
2. Create a hold on record with item which is damaged
3. Verify that it doesn't appear in report
4. Apply patch and verify that it's now visible

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b23fe0b0b8d468fe80d40aef1a12296421cc1d37)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 10382: Course reserves: handle empty values
Alex Arnaud [Wed, 21 Feb 2018 13:10:50 +0000 (13:10 +0000)]
Bug 10382: Course reserves: handle empty values

Test Plan:
1) Create an item, do not set a collection code
2) Add the item to a course, and choose to set a collection code
3) Ensure the course is enabled, and the collection code is now visible
4) Disable the course, ensure the collection code is no longer visible

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 9c6025ccbfd0c57d45fec444ee57e72c3aad512b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 10382: Add unit tests for course items
Alex Arnaud [Thu, 9 Mar 2017 13:42:04 +0000 (13:42 +0000)]
Bug 10382: Add unit tests for course items

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3e6f9b8a1d5b293cfe5a00732e2b6f1371046855)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 10382: collection not returning to null when removed from course reserves
Kyle M Hall [Wed, 5 Jun 2013 14:01:17 +0000 (10:01 -0400)]
Bug 10382: collection not returning to null when removed from course reserves

Test Plan:
1) Create an item, do not set a collection code
2) Add the item to a course, and choose to set a collection code
3) Ensure the course is enabled, and the collection code is now visible
4) Disable the course, ensure the collection code is no longer visible

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b1bb9f9e6b028dce0109755180100e4033424227)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21464: Hide patron's title not biblio's title
Jonathan Druart [Tue, 9 Oct 2018 17:01:07 +0000 (14:01 -0300)]
Bug 21464: Hide patron's title not biblio's title

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 07fa37abbe325e136cd84f2dd5e1971d64c20d65)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21464: Fix overdue list export
Jonathan Druart [Mon, 1 Oct 2018 20:18:18 +0000 (17:18 -0300)]
Bug 21464: Fix overdue list export

  commit e09ed656af5f75a82ccfa29318081e217618c32d
  Bug 18403: Only display libraries from group in dropdown lists
and
  commit 0ab22e1c7c6b6e8d14a4fb7478ab2a3d42da347d
  Bug 18789: Send Koha::Patron object to the templates

broke the overdue list export.

Test plan:
Create some overdues
Export them: "Home › Circulation › Overdues" then click the link on top
of the table.
All the different columns of the generated CSV file must be filled
correctly

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 8a8c0ae51e2b1128942f6dff5ca022433355314e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 15734: Use To.json to filter audio alerts
Jonathan Druart [Tue, 9 Oct 2018 13:47:11 +0000 (10:47 -0300)]
Bug 15734: Use To.json to filter audio alerts

Test Plan:
1) Enable audio alerts
2) Note audio alerts don't work
3) Apply this patch
4) Note audio alerts now work

Use complex selectors to test:
  #circ_returns p.problem:contains('Not checked out.')
  #doc3 > #bd

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 58314233f70fd9fd2f2830250ff0362e369b6ff1)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21426: Handle USE_MEMCACHED=no in koha-create
Jonathan Druart [Sat, 29 Sep 2018 18:16:46 +0000 (15:16 -0300)]
Bug 21426: Handle USE_MEMCACHED=no in koha-create

Signed-off-by: Andreas Roussos <arouss1980@gmail.com>
Works as intended. I've set USE_MEMCACHED to "no" and created a new
Koha instance. Home > About now reports this information: Memcached:
Servers: undefined | Namespace: undefined | Status: unknown | Config
read from: Nowhere [...] | Effective caching method: Cache::Memory

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit ffca9decadf539018e447237e56bce76c81bdd64)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21493: Compiled CSS
Martin Renvoize [Mon, 15 Oct 2018 13:34:21 +0000 (14:34 +0100)]
Bug 21493: Compiled CSS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21493: (18.05.x) Remove incomplete icon style from serial issues tabs
Owen Leonard [Mon, 15 Oct 2018 13:18:33 +0000 (13:18 +0000)]
Bug 21493: (18.05.x) Remove incomplete icon style from serial issues tabs

This patch adds CSS to exclude serial issues history links from having
an icon background. There is no part of the icon sprite which is
designed for that purpose.

This patch also tweaks the positioning of a couple of icons.

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

- Open the detail page for a bibliographic record in the OPAC which has
  subscriptions.
- Click the "More details" link.
- Confirm that the "Brief history" and "Full history" links have no
  icon.
- Click the "Full history" link and do the same.
- On the normal, MARC, and ISBD views, confirm that the icons for those
  links look correct.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20151: always use current language for stemming
Fridolin Somers [Wed, 7 Feb 2018 14:06:56 +0000 (15:06 +0100)]
Bug 20151: always use current language for stemming

When stemming is enabled, in catalog searching "C4::Search::_build_stemmed_operand" will transform query operand into stemmed operand using stemmer Lingua::Stem::Snowball with a specified language.
This stemmer returns undef stemmed operand if no language is defined.

In main catalog search (catalogue/search.pl) current language is used.
But in other pages "acqui/neworderbiblio.pl" and "cataloguing/addbooks.pl" no language is defined so stemmed operand is empty and so stemming is not applied.

This patch corrects by returning in "C4::Search::_build_stemmed_operand" operand without change if no langage is defined.
And uses current langage in pages "acqui/neworderbiblio.pl" and "cataloguing/addbooks.pl" so all catalog search uses stemming.

Test plan :
1) Enable system preferences QueryStemming and QueryWeightFields
2) Disable system preferences QueryAutoTruncate, QueryFuzzy and UseQueryParser
3) Go to intranet main page and click on "Search the catalog" tab
4) Perform a search (without index) that uses the stemming, for example searching for "years" will also match "year"
5) Note how many results you get, for example "year" gets 24 results and "years" gets 24 results
6) Go to "Cataloging" module
7) Perform a search on same word in "Cataloging search" tab
8) Note how many results you get
9) Without patch you get fewer results than first search (step 5) because stemming is not applied, for example "year" gets 11 results and "years" gets 15 results
10) With patch you get the same results as first search (step 5) because stemming is applied, for example "year" and "years" gets 24 results
11) Same tests in aquisition module
12) On a basket, click "Add to basket" and perform a search in "From an existing record"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 78a692dee4523d04986ec394442c3a6d80ea0771)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21389: Correct Javascript error on article requests page
Fridolin Somers [Fri, 21 Sep 2018 09:17:25 +0000 (11:17 +0200)]
Bug 21389: Correct Javascript error on article requests page

Bug 21076 fixed a Javascript error on article requests page when patron is found.

There is also an error when patron is not found, with message :
  Patron not found
  No patron with this name, please, try another

This patch fixes by replacing TT condition by a JS condition testing the existance of the patron input.

Test plan:
1 - Do not apply patch
2 - Enable article requests
3 - Search on staff client and click 'Request article'
4 - Search for a patron that does not exist
5 - You get a yellow message "Patron not found"
6 - View error in console
7 - Apply patch
8 - Reload
9 - Not error is gone
10 - Search for a patron that does exist
11 - Check there is no error in console
12 - Check that autocompletion works

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b27db0fbfc0b715df1b63c57228a9945d4834f29)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20548: (follow-up) Fix unit tests
Andrew Isherwood [Wed, 26 Sep 2018 13:04:00 +0000 (14:04 +0100)]
Bug 20548: (follow-up) Fix unit tests

Removed the "Backend create: copyright clearance" unit test since we no
longer have a "copyrightclearance" stage, hence we don't have a block in
the template handling it, hence the test failure!

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit e6bf76b9c712913e549f43a30830ea612c73befa)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20548: Remove copyright clearance for staff
Andrew Isherwood [Mon, 9 Apr 2018 14:04:35 +0000 (15:04 +0100)]
Bug 20548: Remove copyright clearance for staff

This patch removes the erroneously added workflow that requires staff
users to agree to the copyright clearance declaration defined in the
ILLModuleCopyrightClearance preference. Only OPAC users should be
required to accept the declaration.

To test:
1) Ensure you have at least one ILL backend available:
  https://wiki.koha-community.org/wiki/ILL_backends
2) Ensure you have the "ILLModule" preference enabled
3) Add some text to the "ILLModuleCopyrightClearance" preference
4) As an OPAC user make an ILL request:
  a) Navigate to a search results page in the catalog
  b) Click the "Make an Interlibrary Loan request" link at the bottom
  c) Choose "Create a new request", then select a backend
  d) Observe the text you added earlier is displayed with buttons for
  agreeing or disagreeing
5) As a staff user, select the "ILL requests" button on the front page of
the intranet site
  a) Choose "Create a new request", then select a backend
  b) Observe that you are NOT prompted to agree to the text you added
  earlier

Assigned-to: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Barry Cannon <bc@interleaf.ie>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit ad35c9702eb1da9bec331312701e71ce6ab5cf91)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 16420: Buttons inconsistent between "Hold found" and "Hold found (waiting)" dialo...
Owen Leonard [Fri, 5 Oct 2018 17:05:19 +0000 (17:05 +0000)]
Bug 16420: Buttons inconsistent between "Hold found" and "Hold found (waiting)" dialogs in checkin

This patch makes minor changes to the text of hold confirmation buttons
in the checkin process in order to make them more consistent.

Also changed: Removed the "danger" class from the "Ignore" button for
readability and consistency's sake.

To test, apply the patch and check in an item which is on hold for a
patron at your logged-in library. The hold confirmation dialog's buttons
should read "Confirm hold," "Print slip and confirm," and "Ignore."

Confirm the hold, then check in the same item again.

In the dialog, the buttons should read "Confirm hold," "Print slip and
confirm," and "Cancel hold."

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 96c2df5804ce3ac84e5963d6b9764553a97a6978)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21500: Remove warnings in rotating collections
Tomas Cohen Arazi [Thu, 4 Oct 2018 17:08:32 +0000 (14:08 -0300)]
Bug 21500: Remove warnings in rotating collections

To test:
- Go to Tools > Rotating collections
=> FAIL: Some warinings on the logs
- Apply this patch
- Reload page
=> SUCCESS: No warinings
- 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: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 40803d30359f347417999429b612fcece9fc96f9)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21506: DataTables four button pagination uses the wrong icon for First and Last...
Andreas Roussos [Sat, 6 Oct 2018 07:15:26 +0000 (10:15 +0300)]
Bug 21506: DataTables four button pagination uses the wrong icon for First and Last buttons

Pages with DataTables' four button pagination use the wrong
icon for 'First' and 'Last'. Also, the icons for all four
buttons are truncated at the bottom.

This patch fixes that.

Test plan:
1) Go to a page that uses four button pagination (e.g. Home >
   Administration > MARC frameworks) and notice how the
   pagination icons for First/Previous and Next/Last are the
   same. Also notice all four icons are clipped at the bottom.
2) Apply the patch.
3) Refresh the page; the First and Last buttons' icons now
   include a vertical bar, and there is no clipping visible.
4) For completeness, check other affected pages as well.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 074c329774adb7b23f85293a7f6d146c0d989f99)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21417: DBRev 18.05.04.002
Nick Clemens [Tue, 9 Oct 2018 11:30:23 +0000 (11:30 +0000)]
Bug 21417: DBRev 18.05.04.002

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit cf8890465d32d780e4177438d9b6ae807b1df36d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21417: (QA follow-up) Display default EAN as such in admin display
Colin Campbell [Thu, 27 Sep 2018 15:07:37 +0000 (16:07 +0100)]
Bug 21417: (QA follow-up) Display default EAN as such in admin display

A branch value of null is interpreted as the default
Add text 'All libraries' to this case in the display
rather than blank so that its function is clear to the
user

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d70daacebae50fde8449f4cec2bb4578747610fc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21417: EDI ordering fails when basket and EAN libraries do not match
Kyle M Hall [Thu, 27 Sep 2018 10:51:27 +0000 (06:51 -0400)]
Bug 21417: EDI ordering fails when basket and EAN libraries do not match

When clicking Create EDIFACT Order on /acqui/basket.pl, an EDIFACT message will not be generated if aqbasket.branch does not match edifact_ean.branchcode. This failure does not generate any sort of error message, it just fails to produce a message.

We should allow ean's to not require a branch to be set, then if we don't find a branch specific each, we can look for the default version of the ean.

Test Plan:
1) Apply this patch set
2) Run updatedatabase
3) Verify you can create a Library EAN without setting a branchcode for it
4) Verify you can use this EAN to send an EDI order where the basket has a branchcode set

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 18674cfde322c52fafb3114b397bb1ebe7941b97)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21455: Authority search options get shuffled around when you click on 'Search'
Andreas Roussos [Sat, 29 Sep 2018 16:51:45 +0000 (19:51 +0300)]
Bug 21455: Authority search options get shuffled around when you click on 'Search'

In the staff client, when you perform an authority search the
selected values for the 'Search all headings:' and 'Search
entire record:' options get shuffled around when you click on
the 'Search' button.

This patch fixes that.

Test plan:
1) Perform an authority search and set the 'Search all headings:'
   option to 'starts with'.
2) Click on the 'Search' button.
3) Notice how the 'Search all headings:' option is now 'contains',
   and 'starts with' has moved down to the 'Search entire record:'
   option.
4) Apply the patch.
5) Hit 'Search' again. This time the selected search options do
   not move around.

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 6cee98c04fce2129de21c65c9e0c407a508df9bd)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20910: Display 773$g when $0 is present too
Tomas Cohen Arazi [Mon, 11 Jun 2018 14:34:22 +0000 (11:34 -0300)]
Bug 20910: Display 773$g when $0 is present too

This patch makes the XSLT logic add the $g subfield in the 773 display
in both the OPAC and staff interface MARC21 record detail pages.

The XSLT chooses between different ways to create the link for the
related content, but then it only adds the $g in two of the cases.
There's no obvious reason for a different display.

To test:
- Have  a record with:

=773   $tHost title $gp4.

=> SUCCESS: Notice the Detail view shows:
  In: Host title p4.

- Have another record with:

=773   $tHost title $gp4. $w100
- Enable UseControlNumber (only to cover the case):
=> SUCCESS: Notice the detail view shows
  In: Host title p4.

- Have another record with:

=773   $tHost title $gp4. $0456

=> FAIL: The Detail view doesn't show p4.
- Apply this patch
- Reload
=> SUCCESS: The Detail view displays p4.!
- Sign off :-D

Sponsored-by: Escuela de Orientacion Lacaniana
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f161d4e823aa84d7c602089eacacbdf2bfc502ce)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20177: [sql_modes] Fix GROUP BY clause in GetCourses
Jonathan Druart [Mon, 5 Feb 2018 21:13:06 +0000 (18:13 -0300)]
Bug 20177: [sql_modes] Fix GROUP BY clause in GetCourses

Fix for:
'koha_kohadev.courses.department' isn't in GROUP BY

t/db_dependent/CourseReserves.t

A better fix would be to remove the joins and only return values from
the courses table. But more work is needed to acchieve that goal.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Test passes and the behavior of Course reserves appears to be unchanged
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 88c29de46558f974ae10a6d25096cf531f7ee0a0)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 9968: Fix wrong index for Standard number in advanced and label search
Katrin Fischer [Wed, 16 May 2018 01:05:07 +0000 (01:05 +0000)]
Bug 9968: Fix wrong index for Standard number in advanced and label search

'Standard number' indicates that you can search ISBN, ISSN and other
standard numbers, but we are using the wrong index and only get a
very limited search for biblionumber instead.

This patch changes the index from sn to ident.

To test:
- Check both staff and OPAC advanced search:
  - Search for Standard number = ISBN
  - Search for Standard number = ISSN
  Both should work.
  Toggle [Intranet|OPAC]NumbersPreferPhrase system preferences
- Check the label creator
  - Add a new batch
  - Use 'add items' option and search for Standard number

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 09a7d37d53a87e35f2151e00200995ab3dfa3896)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21463: (bug 18789 follow-up) Fix library display on the overdue list view
Jonathan Druart [Mon, 1 Oct 2018 16:42:07 +0000 (13:42 -0300)]
Bug 21463: (bug 18789 follow-up) Fix library display on the overdue list view

branchcode is no longer retrieved from the SQL query, we should use the
Koha::Patron object instead.

Test plan:
Create some overdues and list them on Home › Circulation › Overdues
=> With this patch applied you should see that the "Library" column is
correctly filled with the patron's library name

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f27787d364ae080ce6a815ba07e8813fce48b2da)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21440: koha-create expects the file passed by $DEFAULTSQL to be in gzip format
Andreas Roussos [Thu, 27 Sep 2018 16:05:48 +0000 (19:05 +0300)]
Bug 21440: koha-create expects the file passed by $DEFAULTSQL to be in gzip format

koha-create contains a call to `zcat` which fails if the file passed
as an argument is not in gzip format.

This patch fixes the issue by adding the -f flag to the zcat call in
koha-create, as per the top-voted answers in the following SE URLs:
https://unix.stackexchange.com/a/77309
https://unix.stackexchange.com/a/131944

Test plan:
1) in /etc/koha/koha-sites.conf, set the DEFAULTSQL variable to point
   to an _uncompressed_ SQL database dump
2) run `koha-create --create-db instance` and notice how it fails with:
   gzip: /path/to/dump.sql: not in gzip format
3) apply the patch
4) notice the extra line of information "The SQL file can be optionally
   compressed with gzip" in koha-sites.conf
5) run the `koha-create` command again, this time it should work
6) repeat with DEFAULTSQL pointing to a gzip'd dump, it should work too

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f12dabe6ccd9400a4ae744a5d74bbddcd9f7ac95)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 5458: (rmaint follow-up) Fix for typo in DBRev
Martin Renvoize [Wed, 10 Oct 2018 13:21:23 +0000 (14:21 +0100)]
Bug 5458: (rmaint follow-up) Fix for typo in DBRev

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21352: (qa followup) - correction to testplan
Martin Renvoize [Mon, 8 Oct 2018 12:46:15 +0000 (13:46 +0100)]
Bug 21352: (qa followup) - correction to testplan

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 20287: Koha::Object->get_from_storage
Jonathan Druart [Thu, 22 Feb 2018 14:19:50 +0000 (11:19 -0300)]
Bug 20287: Koha::Object->get_from_storage

May be part of a separate bug report if needed

TODO - add POD + tests

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1144ee4b819e01ebad890f562d2754cda8d4e3ad)
(rmaint comment - backported get_from_storage as it's required by new
tests added to bug 21385 - Correctly count all items in basket for
booksellers list)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 17237: Remove CREATE USER 'user'@'%' line
Mark Tompsett [Wed, 25 Apr 2018 16:44:03 +0000 (16:44 +0000)]
Bug 17237: Remove CREATE USER 'user'@'%' line

Having a 'user'@'%' line decreases database security.
Bug 16690 closes the need for such a line, and this
bug removes the use of it.

TEST PLAN
---------
While this depends on 16690, it is not required for testing.

On a kohadev box:
sudo koha-create --create-db test_17237_a
git bz apply 17237
sudo perl ~/misc4dev/cp_debian_files.pl
restart_all
sudo systemctl daemon-reload
sudo koha-create --create_db test_17237_b
sudo mysql -u root
SELECT user,host from mysql.user;
-- test_17237_a will have two entries, one being '%'
-- test_17237_b will only have one entry, not '%'

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1e856e7e7316749f59cb4e721e352b0a60237def)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21352: Add missing USE statements
Kyle M Hall [Mon, 1 Oct 2018 18:05:40 +0000 (14:05 -0400)]
Bug 21352: Add missing USE statements

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit ff1b0ba7cae7ee72d1fc4ab0c2d1a1e1b40ac7fe)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21352: Allow plugins to add CSS and Javascript to Staff interface
Kyle M Hall [Sat, 15 Sep 2018 16:48:49 +0000 (09:48 -0700)]
Bug 21352: Allow plugins to add CSS and Javascript to Staff interface

We should have plugin hooks for the staff interface just like we have for the OPAC as detailed on bug 20181.

Test Plan:
1) Apply this patch
2) Download and install the Kitchen Sink plugin ( v2.1.19 or later )
   https://github.com/bywatersolutions/koha-plugin-kitchen-sink/releases/download/v2.1.19/koha-plugin-kitchen-sink-v2.1.19.kpz
3) Install the plugin
4) Restart all the things if you can ( restart_all if you are using kohadevbox )
   This will ensure the plugin takes effect right away, it should be
   necessary but it won't hurt anything!
5) Load the staff intranet, notice you get an console error log message and the background
   for your staff intranet is now orange ( assuming you've not customized the
   staff intranet in any way )

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit a37637e30357258885e9d0c1c7a30366869dcb08)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21322: process_message_queue.pl --type should take an argument
Magnus Enger [Thu, 6 Sep 2018 13:23:17 +0000 (13:23 +0000)]
Bug 21322: process_message_queue.pl --type should take an argument

The help for this script says:
-t --type: If supplied, only processes this type of message ( email, sms )

Currently, the type argument is set up wrong, so it does not look
for an argument. This patch fixes that.

To test, run this command (should work in kohadevbox) or something
similar:

$ sudo koha-shell -c "perl \
/home/vagrant/kohaclone/misc/cronjobs/process_message_queue.pl -v \
--type=sms" kohadev

This should give the following error: "Option type does not take an argument".
Apply the patch and run the same command again. This should not give an
error.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d74a05d4fe81a599c030024f7944d2bdcca43d12)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21480: misc/translator/translate does not work with perl 5.26
Olli-Antti Kivilahti [Wed, 3 Oct 2018 08:24:38 +0000 (11:24 +0300)]
Bug 21480: misc/translator/translate does not work with perl 5.26

Perl 5.26 (or earlier) introduced a security feature, where implicitly
including the program directory as a Perl library directory no longer
happens (perl -I. ).

This causes translate to fail because it cannot find the *.pm -files in
it's own directory.

This patch adds the familiar mantra
    use lib $FindBin::Bin;
to the relevant scripts.

To test:

1. Install Ubuntu18.04 or something else with Perl 5.26
2. Install Koha (we use the dev-install)
3. cd $KOHA_PATH/misc/translator/
4. perl translate create fi-FI
5. Observe problems with missing modules.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Cannot recreate the issue right now but the changes make sense.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 8aa86cdf2d5e0dbda7d21394e52f37ba17a8064c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21432: (bug 20899 follow-up) Fix patron's name display for deleted patrons
Jonathan Druart [Mon, 1 Oct 2018 21:05:44 +0000 (18:05 -0300)]
Bug 21432: (bug 20899 follow-up) Fix patron's name display for deleted patrons

Template process failed: undef error - DBIC result _type  isn't of the
_type Borrower at
/home/vagrant/kohaclone/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt
line 54.

Koha::Old::Checkout->patron should return undef if the patron record has
been removed.

Test plan:
- Check 2 items out on the same bibliographic record
- Check them in
- Delete the patron's record of one of the issuer (Is this word really
exist?)
- View the checkout history for this bib record (Home › Catalog ›
Checkout history)
=> Without this patch you get the error
=> With this patch applied one of the "Patron" cells will be empty

Signed-off-by: Claudio <costalc@gmail.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 7fbd50e3aa07e46f0558d4f52231896937c998bc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21385: Define the Koha object class for orders
Jonathan Druart [Mon, 1 Oct 2018 14:38:04 +0000 (11:38 -0300)]
Bug 21385: Define the Koha object class for orders

It fixes the following issue:
t/db_dependent/Acquisition/GetBasketsInfosByBookseller.t .. 1/40 Can't
locate object method "_new_from_dbic" via package "Koha::Aqorder"
(perhaps you forgot to load "Koha::Aqorder"?) at
/home/vagrant/kohaclone/Koha/Object.pm line 230.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b3dee0daf29c4593aee2781307853845a6cd3735)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21385: (follow-up) make query consistent
Martin Renvoize [Mon, 24 Sep 2018 12:33:59 +0000 (13:33 +0100)]
Bug 21385: (follow-up) make query consistent

The expected items query wasn't consistent with other queries in this
module with regards to identifying cancelled orders

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 5e6f4f1f4fb346351dcfc6c580888022641d4b6a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21385: Add Unit Tests
Martin Renvoize [Mon, 24 Sep 2018 12:23:25 +0000 (13:23 +0100)]
Bug 21385: Add Unit Tests

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3f20c8c65172c1a32e7d2b20ed2506199423f103)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21385: Correctly count all items in basket for booksellers list
Martin Renvoize [Fri, 21 Sep 2018 14:10:15 +0000 (15:10 +0100)]
Bug 21385: Correctly count all items in basket for booksellers list

To reproduce:

1) Create a basket with 2 biblios, one with 2 items and one with 1 item
2) Search for vendors and note the basket above should contain 'Item
count 3', 'Biblio count 2', 'Items expected 3'
3) Receive shipment, and only receive 1 of the items on the biblio with
2 items above.
4) Search for vendors and note that the 'Item count' for the basket
above is now '2'.

The item count for a closed basket should remain the same and should
differ from the 'items expected' count some items have been recieved.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch:
FAIL   C4/Acquisition.pm
   FAIL   spelling
     RECIEVED  ==> RECEIVED

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 17db3ab05cb25d08f0790cff9eed5f0f75ca8107)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21448: Fix copy repeated subfields when linking an authority with 6xx
Jonathan Druart [Sat, 29 Sep 2018 19:04:56 +0000 (16:04 -0300)]
Bug 21448: Fix copy repeated subfields when linking an authority with 6xx

The reported issue was:
On field 606, if I use an Authority with multiple "x" subfields, it will
add just the first "x"

Error in the logs:
Odd number of elements in anonymous hash at /home/vagrant/kohaclone/authorities/blinddetail-biblio-search.pl line 97.

We should pass a ref (!), caused by
  commit a7df1f9f8eb9ed16246964d94dd8a69b756b6551
  Bug 18904: (follow-up) Retrieve subfield in the order they are stored

Test plan:
Edit an authority and add several $x to 600
Link this authority to a bibliographic record
=> Without this patch only the first subfield is copied
=> With this patch applied they are all copied

Signed-off-by: José Anjos <joseanjos@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 08386cd3f05c5bc4dc6306e3a1d6c4878cce7c86)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21176: Fix due date calculation when high holds and TimeFormat is 12hr
Jonathan Druart [Mon, 13 Aug 2018 16:23:00 +0000 (13:23 -0300)]
Bug 21176: Fix due date calculation when high holds and TimeFormat is 12hr

What we were doing was wrong and is still wrong. The output_pref should not be done
in modules or script, only template side.
Much more work would be needed to clean the situation. This patch provides less changes
as possible to, hopefully, not introduce side-effects.

To recreate:
1 - Enable decreaseLoanHighHolds, set to 1 day and more than 0 holds
2 - Set TimeFormat to 12 hour
3 - Find or create a record with two items
4 - Place a hold on one of them
5 - Checkout the other to a different patron
6 - Note the warning message display correct time
7 - Confirm the checkout
8 - Note the item is due at 11:59AM

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 11885e75c04fa53cd88daae1ec0dc4a2a8ecd1f7)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 19271: Show vendor name on ordered/spent lists
Katrin Fischer [Thu, 27 Sep 2018 11:29:08 +0000 (12:29 +0100)]
Bug 19271: Show vendor name on ordered/spent lists

 Improvements to the display of lists of ordered and received orders:
 - Show the vendor's name instead of the internal number

 To test:
 - Make sure you have some pending and received orders
 - Access the Spent and Ordered pages by clicking on the
   amount ordered or spent on the acq start page
   - Verify that
     - Vendor name shows

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 8b1bda9ed8507745b4002199d9aae95c2cbb31fb)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 15971: Add biblioitems to available fields for serial claim notices and fix notic...
Katrin Fischer [Fri, 10 Aug 2018 03:21:56 +0000 (05:21 +0200)]
Bug 15971: Add biblioitems to available fields for serial claim notices and fix notices editor display

This fixes 2 related problems:

1) The editor only offered 3 entries from biblio for adding to the notice:
title, author, serial
It was not clear that actually all fields from biblio can be used.

2) It was not possible to use fields from biblioitems in the notices
which left out important fields like the ISSN.

The patch adds the biblioitems table and changes the editor to show
all entries from biblio and biblioitems table are shown on the left.

To test:
- Create a subscription
- Generate next issue a few times to get late issues
- Create a new notice in the "Claim serial issue" module
  - Use fields from different/all tables
- Make sure an email address is set for
  - the vendor (also check for 'receives claims for late issues')
  - your staff user
- Go to serials > claims
- Claim multiple issues
- Verify the email is generated and contains the correct information

Example notice:

Title: <<biblio.title>>
Author: <<biblio.author>>
ISSN: <<biblioitems.issn>>
ISBN: <<biblioitems.isbn>>
Issue: <<serial.serialseq>>
--

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit a002d12888c1e56910a32f28514a59d9a1d9363d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 19500: (rmaint followup) - Add back html filters
Martin Renvoize [Mon, 8 Oct 2018 07:02:21 +0000 (08:02 +0100)]
Bug 19500: (rmaint followup) - Add back html filters

I managed to inadvertantly loose the html filters when backporting bug
19500, this just adds them back in.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21425: Display basketno correctly in Order error msg
Colin Campbell [Thu, 27 Sep 2018 11:25:28 +0000 (12:25 +0100)]
Bug 21425: Display basketno correctly in Order error msg

carp will display the hash value instead of the desired basketno
in the error message unless we change its behaviour

Use the simpler but effective option of concatenating
the errormessage with the basketno. Error is shown if no
sender or receipient ean is passed in instantiating
an Koha::Edifact::Order object

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit e81756b317da848a6e6346a7c0db8f3b986f7058)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 13272: (follow-up) add missing type="text"
Mark Tompsett [Wed, 26 Sep 2018 22:57:32 +0000 (22:57 +0000)]
Bug 13272: (follow-up) add missing type="text"

This addresses comment #13.
This also applies cleanly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 623f1db90ac8d0361a879813c66a4bccbf0ea23e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 13272: (follow-up) Replace tabs with spaces
Mark Tompsett [Wed, 19 Sep 2018 18:49:02 +0000 (18:49 +0000)]
Bug 13272: (follow-up) Replace tabs with spaces

Cleaned up whitespace issues tab vs. space in template.
After applying all patches:
    git diff -w origin/master
For the koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
only the changed type="text" lines will show, but without the
-w, there will be more whitespace changes.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 5edd363a1f2e3b1ea34f3f2aa7ace86cbf467df8)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 13272: (follow-up) fix concerns from comment #5
Mark Tompsett [Wed, 19 Sep 2018 16:48:13 +0000 (16:48 +0000)]
Bug 13272: (follow-up) fix concerns from comment #5

Correct the two issues I pointed out.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 77871b408c9a8e120f8415cc0b32683ee8f57e7d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 13272: Adds type="text" to inputs missing it
Christopher Brannon [Sun, 16 Sep 2018 22:06:10 +0000 (22:06 +0000)]
Bug 13272: Adds type="text" to inputs missing it

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 92a2d74c1c134674b9798981208b9ad5863a6b42)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 21289: Fix "isa" bug during partner request
Andrew Isherwood [Thu, 30 Aug 2018 09:52:43 +0000 (10:52 +0100)]
Bug 21289: Fix "isa" bug during partner request

We cannot call 'handle_commit_maybe' inside a 'try' block.
handle_commit_maybe redirects the client then calls 'exit', this is
interpreted as an error and the 'catch' block is erroneously called.

This patch moves the calling of 'handle_commit_maybe' outside the try
block, it will only be reached if everything inside the try block
suceeds.

To test:
1) Enable ILL and have the FreeForm backend available
2) Create a patron category to hold ILL "partners" to whom requests can
be sent. The category can be called anything, you should note the code
you assign
3) Create a patron that belongs to your new category, the patron must
have a primary email defined.
4) In your <interlibrary_loans> block in koha-conf.xml, ensure you have
a <partner_code> element, it should contain the code you assigned in
step 2
5) Create an ILL request using the FreeForm backend
6) Once the request is created, select the "Place request with partners"
button
7) Select your "partner" from the "Select partner libraries" box
8) Click "Send email"
9) TEST: Observe no errors are displayed in the UI

Signed-off-by: Barry Cannon <bc@interleaf.ie>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit fca5a1cb3dba5d6561eaf5f30dfd4d996a4042cc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
6 years agoBug 16690: Simplify SHOW GRANTS to work when connected
Mark Tompsett [Wed, 8 Jun 2016 02:48:57 +0000 (22:48 -0400)]
Bug 16690: Simplify SHOW GRANTS to work when connected

If the DB is on a remote machine, the web server and the
db server are different, but the SHOW GRANTS code in
installer/install.pl is trying to use the SAME machine.
And even if the permissions were allowed accessing from
both the web and db servers, MySQL won't return the
SHOW GRANTS without access to the mysql.user table. To
install *.* permissions became easiest to get working.
Unless the DB is set up with 'user'@'%', which is also a
potential security issue.

MySQL / MariaDB allow the current connected user to
check their own grants with CURRENT_USER.
There is no need for the installer to know the
IP address of the webserver.

This also removes the need to have permissions for
'koha_kohadev'@'%', because the only process to be
accessing the koha DB is from a known host/ip.
This tightens security too.

TEST PLAN
---------
Install 2 fresh VMs from a Debian ISO.
Make sure they are on the same network (192.168.50.x) as
the kohadevbox. You will need to remember one as DB_IPADDRESS.

On the DB VM & Third VM:
sudo apt-get install mariadb-server mariadb-client net-tools
-- the third vm just needs to be able to run mysql to access
   the DB VM.

On DB VM:
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
-- make sure the bind-address line is commented out with a #
sudo service mariadb restart
-- congratulations, your DB server is listening to remote
   calls now.

sudo mysql -u root
CREATE DATABASE koha_kohadev;
GRANT ALL PRIVILEGES ON `koha_kohadev`.* TO 'koha_kohadev'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
-- now you have an empty DB ready to run a web install on.
   However, because only koha_kohadev from localhost is
   allowed, we expect failure when we try to run the web
   installation step when we get there.

Let's confirm that everything is working as expected
before trying.  It will also demonstrate the reason why
this patch is superior to the existing code.

On a kohadevbox:
mysql -u koha_kohadev -h DB_IPADDRESS -p
-- this should be denied

On DB VM:
DROP USER 'koha_kohadev'@'localhost';
GRANT ALL PRIVILEGES ON `koha_kohadev`.* TO 'koha_kohadev'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

On a kohadevbox:
mysql -u koha_kohadev -h DB_IPADDRESS -p
-- this should give you a SQL prompt
SHOW GRANTS FOR CURRENT_USER;
-- this should show two lines based on 'koha_kohadev'@'%';
SHOW GRANTS FOR 'koha_kohadev'@'192.168.50.10';
-- this should give an access denied error.
SHOW GRANTS FOR 'koha_kohadev'@'%';
-- this should show two lines based on 'koha_kohadev'@'%';
QUIT
-- This case requires the unless code currently in place,
   because we aren't checking CURRENT_USER.

On DB VM:
DROP USER 'koha_kohadev'@'%';
GRANT ALL PRIVILEGES ON `koha_kohadev`.* TO 'koha_kohadev'@'192.168.50.10' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

On a kohadevbox:
mysql -u koha_kohadev -h DB_IPADDRESS -p
-- this should give you a SQL prompt
SHOW GRANTS FOR CURRENT_USER;
-- this should show two lines based on 'koha_kohadev'@'%';
SHOW GRANTS FOR 'koha_kohadev'@'192.168.50.10';
-- this should show two lines based on 'koha_kohadev'@'192.168.50.10';
SHOW GRANTS FOR 'koha_kohadev'@'%';
-- this should give an access denied error.
QUIT
-- This case demonstrates that we have two failure points:
       1) The GRANT command by the DB Admin and
       2) The koha-conf.xml setting.
   This is why CURRENT_USER is superior: only (2) is the
   failure point.

On DB VM:
GRANT ALL PRIVILEGES ON `koha_kohadev`.* TO 'koha_kohadev'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
SELECT host,user FROM mysql.user;
-- Should see both koha_kohadev for 192.168.50.10 and %.

On a kohadevbox:
mysql -u koha_kohadev -h DB_IPADDRESS -p
-- this should give you a SQL prompt
SHOW GRANTS FOR CURRENT_USER;
-- this should show two lines based on 'koha_kohadev'@'192.168.50.10';
SHOW GRANTS FOR 'koha_kohadev'@'192.168.50.10';
-- this should show two lines based on 'koha_kohadev'@'192.168.50.10';
SHOW GRANTS FOR 'koha_kohadev'@'%';
-- this should give an access denied error.
QUIT
-- This case doesn't need the unless. CURRENT_USER still
   just works.

On an third VM on the same network:
mysql -u koha_kohadev -h DB_IPADDRESS -p
-- this should give you a SQL prompt
SHOW GRANTS FOR CURRENT_USER;
-- this should show two lines based on 'koha_kohadev'@'%';
SHOW GRANTS FOR 'koha_kohadev'@'192.168.50.10';
-- this should give an access denied error.
SHOW GRANTS FOR 'koha_kohadev'@'%';
-- this should show two lines based on 'koha_kohadev'@'%';
QUIT
-- This case demonstrates that it may be more open than a DB
   administrator would prefer. And notice, CURRENT_USER still
   just works.

On DB VM:
DROP USER 'koha_kohadev'@'192.168.50.10';
DROP USER 'koha_kohadev'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'koha_kohadev'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
-- This basically give koha_kohadev free reign to do pretty
   dangerous stuff.

On an third VM on the same network:
mysql -u koha_kohadev -h DB_IPADDRESS -p
-- this should give you a SQL prompt
SHOW GRANTS FOR CURRENT_USER;
-- this should show a line based on 'koha_kohadev'@'%';
SHOW GRANTS FOR 'koha_kohadev'@'192.168.50.10';
-- this should give a no such grant error.
SHOW GRANTS FOR 'koha_kohadev'@'%';
-- this should show two lines based on 'koha_kohadev'@'%';
QUIT
-- This case demonstrates that it may be more open than a DB
   administrator would prefer. And notice, CURRENT_USER still
   just works.

In the old code, both cases were literally checked.
This tweak is an optimization which doesn't require
setting permissions to the mysql.user table. Without it,
the code says the user doesn't have permissions to check
the show grants.  This issue is not visible to the user,
because both cases are checked.

On DB VM:
SELECT host,user FROM mysql.user;
-- for each one do an appropriate DROP USER 'user'@'host';
GRANT ALL PRIVILEGES ON `koha_kohadev`.* TO 'koha_kohadev'@'192.168.50.10' IDENTIFIED BY 'password';

On kohadevbox:
-- Make sure the /etc/koha/sites/kohadev/koha-conf.xml
   points to the DB VM.
-- Make sure a web install runs correctly

On third VM:
-- Make sure unable to connect as koha_kohadev/password.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
I have not followed the whole test plan but trusting author and SO
Changes make sense to me

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 013c116d59b14681bff1c18c9225ea4e31627a28)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>