Commit Graph

32129 Commits

Author SHA1 Message Date
Mark Tompsett 721cefdb95
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 623f1db90a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 16:34:31 +01:00
Mark Tompsett 73b197df9e
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 5edd363a1f)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 16:26:22 +01:00
Mark Tompsett 49158f3369
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 77871b408c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 16:25:59 +01:00
Christopher Brannon 5fbbdb915f
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 92a2d74c1c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 16:24:51 +01:00
Andrew Isherwood 6bf50445b1
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 fca5a1cb3d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 13:10:31 +01:00
Mark Tompsett 67a491a73f
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 013c116d59)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 12:57:55 +01:00
Andreas Roussos 93b7683780
Bug 21416: 'gr' option missing from ZEBRA_LANGUAGE options in koha-sites.conf
'gr' (as in 'Greek') is missing from the ZEBRA_LANGUAGE options
in debian/templates/koha-sites.conf. This patch fixes that.

Test plan:
1) view koha-sites.conf and notice how 'gr' is missing from the
   ZEBRA_LANGUAGE options
2) apply the patch
3) observe that koha-sites.conf now includes 'gr' as an option

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 705571a2b8)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 12:51:33 +01:00
Josef Moravec fe5e750571
Bug 21167: (QA follow-up) Use accounttype.inc for generating account description
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit a6a7516652)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 12:43:37 +01:00
Josef Moravec 8d3b64400b
Bug 21167: (QA follow-up) Fix amount formatting on invoice receipt
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit c86485f933)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 12:42:08 +01:00
Katrin Fischer 794e3af801
Bug 21167: Fix price formatting on printed fee invoice and receipt
The prices were not formatted correctly on the printed receipts
for fines and payments in the patron account.

This patch introduces the use of the Price TT plugin to those
templates.

Also:
- Fixes a few capitalization errors
- Removes spaces in front of :
- Updates accounttype-to-description list to the one used
  in other templats as a lot of values were missing (Credit etc.)

To test:
- Create several fines, use some .00 and some with other values
- Pay some fines
- Create a manual credit
- Use print button for all of those (credit, fee, payment)
- Verify that:
  - prices ending in .00 are displayed without the decimal part
  - instead of Credit only C is shown in the description
- Apply patch
- Print invoices and receipts again
- Verify that:
  - prices are now formatted according to CurrencyFormat system
    preference, decimal part always included
  - verify that correct description for Credit is shown

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 184c44ee31)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 12:41:01 +01:00
Jonathan Druart 6427906fcc
Bug 21133: [18.05.x] Fix use statements order
Basically the idea is:
1. Undefined subroutine &C4::Items::ModZebra called at /home/vagrant/kohaclone/C4/Items.pm line 302.

=> Then use C4::Items before C4::Biblio

2. Undefined subroutine &C4::Circulation::GetItem called at /home/vagrant/kohaclone/C4/Circulation.pm line 1290

=> Then use C4::Circulation before C4::Items

And sometimes these 2 rules do not work...

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-05 08:48:39 +01:00
Pasi Kallinen 0f2d80328d
Bug 20785: Advanced Editor does not honor MarcFieldDocURL
The advanced MARC editor, Rancor, doesn't obey MarcFieldDocURL.
Make it do so.

Test plan:

1) Enable EnableAdvancedCatalogingEditor
2) Set MarcFieldDocURL to eg. http://{MARC}.example.com/{LANG}/{FIELD}
3) Go to Cataloging -> Advanced editor
4) Go to any field and press Ctrl-H
5) Marc field documentation on www.loc.gov or ifla.org should open
6) Apply patch
7) Repeat 3 and 4. The Marc field docs should open on the URL you set

Signed-off-by: Pasi Kallinen <pasi.kallinen@joensuu.fi>
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 ca839922fd)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:40:48 +01:00
Nick Clemens 20b0ca1f63
Bug 21078: overdrive.js Catch error if window.opener is not accessible
To Test:
0 - Enable overdrive search results on your koha
1 - From a source develop a link to your koha instance that opens a new
window:
<a target="_blank"
href="http://localhost:8080/cgi-bin/koha/opac-search.pl?q=love">Test</a>
2 - Click that link
3 - Note Overdrive results do not load
4 - Note error in JS console
5 - Apply patch
6 - Click the link again
7 - Note OD results load
8 - Note no error in console

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 6975a6836a)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:38:20 +01:00
Katrin Fischer 419f889bb0
Bug 20241: Fix display of publication year in subscription record search for MARC21
The old problem: UNIMARC uses biblio.publicationyear, MARC21 uses
biblio.copyrightdate. Patch adds a fallback, if there is nothing
in publicationyear, copyrightdate will be displayed.

To test:
  - In a MARC21 database
  - Add a new subscription
  - Search for records
  - Verify the publication year column remains empty
  - Apply patch
  - Repeat search
  - Verify that the year now shows

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

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 8df47bdde6)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:37:05 +01:00
Ere Maijala e74f433418
Bug 21362: Advanced editor: Fix tab navigation in fixed fields
Also minor tweaks to how the fields look.

Test plan:

1. Try moving from field to field and inside control fields with tab/shift-tab.
2. Make sure focus doesn't get stuck in any position.

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 024643f51c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:34:37 +01:00
Jonathan Druart 362c9331a2
Bug 21396: Add 2 missing use statements in Koha::Account
1. require C4::Letters must be use C4::Letters (from bug 19191)

2. There is call to C4::Circulation::ReturnLostItem, but no use of
C4::Circulation (from bug 20631)

Test plan:
finger crossed, I ran the tests from t/db_dependent/Koha and they all
passed

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 1b56e446ed)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:32:27 +01:00
Jon Knight 43b6644818
Bug 16739: Show note instead of 500 error for 'Generate EDIFACT' when no EDI account is configured
When a book seller (vendor) does not have EDI account information configured
the basketgroup display still shows a button to generate EDIFACT output which
results in 500 error when clicked.  This patch fixes two aspects of this:

a) it stops the button being displayed in the first place, replacing it with
a message that explains there is not EDIFACT configuration for the vendor.

b) if, somehow, an edifact print operation is passed to the basketgroup
script it detects the lack of an EAN and redirects back to the basket group
display page with a warning message.

To test:
1) Create a vendor with no EDI details.
2) Create a basket with some items in, then close it and add it to a basket
   group for this vendor.
   3) Go to that vendor's basket groups, click on the "Closed" tab and then
      click on the 'generate edifact order' button. You should get a 500 error.
   4) Apply this patch.
   5) Repeat 3, except this time you should find that the 'generate edifact
      order' button has been replaced with a note that there is
      "No EDIFACT configuration for <vendor>".

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 121b8105bc)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:26:30 +01:00
Jonathan Druart 01588a68aa
Bug 21398: Make search field mandatory when adding to a basket from an existing record
Test plan:
- Create a basket
- Click the "Add to basket" button
- Click "Search" on the first line
=> Without this patch you get an ugly screen: https://snag.gy/U8X3ZK.jpg
=> With this patch applied you will not be able to submit without
filling the input in

QA note: Yes, we could handle that controller side as well, but much
more work.

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 bf89e4e124)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:22:16 +01:00
Owen Leonard 9fbd65ca52
Bug 21407: Can't enter new macros in the advanced cataloging editor (rancor)
This patch upgrades Codemirror to the latest version (5.40.2). Doing so
fixes a problem with the advanced cataloging editor's macro editor which
appears in the latest version of Firefox (62): The first line of the
macro editor is not visible.

To test, apply the patch and clear your browser cache if necessary.
EnableAdvancedCatalogingEditor must be set to "Enable."

- Go to Cataloging -> Advanced editor.
- Click the "Macros" toolbar button.
- In the main part of this modal window you should see a blank line
  marked "1."
- Click "New macro..."
- The editor's line 1 should now be editable. Enter text to confirm that
  it works correctly.

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 01470fab9e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:20:28 +01:00
Jonathan Druart 5d677af3b4
Bug 21297: Display public lists to existing lists when adding a new item
If there are no private lists the public lists are not displayed.

Test plan:
1) Add 10 public lists (This is when the 'More lists' menu item becomes
view-able)
2) Select an item
3) Click Add to list
4) Select 'More Lists' menu item
5) Note that 'Select an existing list' is an available option

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3301059511)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-10-03 10:19:00 +01:00
Martin Renvoize 025aa54a58
Bug 21353: (rmaint followup) - Fix for missing $raw filter
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 16:26:22 +01:00
Nick Clemens 61d837751b
Bug 7143: Update about page for new dev - Alberto Martinez
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 90ff0f3343)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 14:33:31 +01:00
Alberto 385356515d
Bug 21350: Added icon to Pending on-site checkouts and moved
When pending on-site checkouts is enabled, it will display checkout items that are being used in the library

test plan:
1. Go to Koha administration
2. Search for "onSiteChekouts"
3. Enable "onSitecheckout"
4. Save all Circulation preferences
5. Go back to home page and click "Circulations"
6. Please confirm there is an icon and the link is below Fast cataloging

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: replace tabs with 4 spaces

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3ef81d9969)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 14:30:34 +01:00
Kyle M Hall b3f2a13a43
Bug 20669: Add upgrade method to plugins
It would be nice if plugins had an upgrade method to handle altering tables and such when a new version of a plugin is installed. Right now it must be done in a completely bespoke manner.

Test Plan:
1) Apply this patch
2) Download the 2 most recent releases of the Kitchen Sink plugin
   https://github.com/bywatersolutions/koha-plugin-kitchen-sink/releases
3) Install the earlier release
4) Look at the configuration page, at the bottom it should say the
   plugin has never been upgraded
5) Install the newer release
6) Reload the configuration page, it should now say that the plugin
   was upgraded and give you the date and time of the upgrade

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 100385196e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:39:15 +01:00
Jonathan Druart 1d9377b11a
Bug 21397: Mark "Routing list" tab as active when selected
/members/routing-lists.pl?borrowernumber=5 show the different tab of the
menu but "Routing lists" is not displayed as the selected one (active).

"routinglistview" must be set and passed to the template

Test plan:
Enable the RoutingSerials pref
and hit /members/routing-lists.pl?borrowernumber=42

The "Routing lists" tab must be selected/active

Followed test plan and tab now shows as active.
Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 270a408949)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:34:09 +01:00
Nick Clemens d0affd2826
Bug 5458: DBRev 18.05.04.001
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit b5becc84f5)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:33:22 +01:00
Fridolin Somers 892492cbda
Bug 5458: increase ccode column to varchar 80
Koha allows you to define an authorised value having length 80, but then you
can't use it.

Here is why:
The SQL field items.ccode is a varchar(10).
The SQL field authorised_values.authorised_value is a varchar(80).
Therefore the authorised value is truncated to length 10 in items.ccode and the mapping from authorised value to description string fails in Koha.

This patch increases ccode column to varchar 80, like location.

Test plan :
1) Dont apply patches
2) Check there is on item field a subfield with authorised value category CCODE
3) Check this subfield is linked with database column items.ccode
4) Create an authorised values in category CCODE with 'DOCUMENTATION'
5) Edit an item on ccode and choose 'DOCUMENTATION'
6) Save item
7) Look at items.ccode in database or export in MARCXML
8) The value is troncated to 'DOCUMENTAT'
9) Apply patches and update database with installer/data/mysql/atomicupdate/bug_5458.sql
10) Repeate step 5 to 7
11) The value is not truncated 'DOCUMENTATION'

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 c59ef0452c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:29:15 +01:00
Marcel de Rooy c5bb4d6529
Bug 20023: (QA follow-up) Tiny simplification
Remove empty emails from the list rightaway.
Would be tempted to lc the params->{email} at the start btw..

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit eec74a2cd1)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:28:25 +01:00
Blou 0f019c89c1
Bug 20023: Password recovery using email should be case insensitive
When entering an email to recover the password, a user should not have to know or remember the casing of the given email.

Test
0) enable OpacResetPassword
1) On the OPAC, click "Forgot your password"
2) Enter your email address as in your user account BUT WITH A DIFFERENT CASING
3) Submit.  This will fail.
4) Apply the patch, redo with success.

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 cc3bc29207)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:28:04 +01:00
Jonathan Druart 43b671ac85
Bug 21196: Use replacement cost from the item type if not set at item level
When circ rules are set to cap at item replacement cost, calcfine only
checks the price in the item record, not the default replacement cost by
item type.

Note: We do not take '0' into account, what if you do not want to set
a replacement cost for an item? It is how it is done in chargelostitem
so keeping the existing behaviour, but that may be considered as a bug (?)

Test plan:
- Set useDefaultReplacementCost to use
- Set a default replacement cost for a given item type
- Create an item of that type with a replacementcost=0
- Create a circ rule for that item type that accrues fines but caps at
replacement cost
- check the item out, forcing a due date in the past
- check that item in
=> Fines should have been generated

Signed-off-by: Caroline Cyr La rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit a62742f426)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:27:05 +01:00
Jonathan Druart fe4c609d32
Bug 21196: Add tests
Signed-off-by: Caroline Cyr La rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d415e51180)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:26:48 +01:00
Jonathan Druart 28a404bc31
Bug 21353: (follow-up) same check for select/clear all links
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 bf908a5f07)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:24:36 +01:00
Jonathan Druart ffbd4d22e1
Bug 21353: Display checkboxes to merge patron even if cannot manage lists
When permission 'manage_patron_lists' is off, there is no checkbox on
/cgi-bin/koha/members/member.pl to merge patrons.

Test plan:
Remove permission manage_patron_lists
Add permission edit_borrowers
Search for patrons
=> Without this patch you will not be able to select patrons to merge
(checkboxes are not displayed)

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 d60b0a2e4d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:24:09 +01:00
Jonathan Druart c088efd6c9
Bug 21323: Handle multi params in redirect after login
Multi params are not handle correctly after login

Test plan:
[0] Use staff interface
[1] Use advance search and tick itemtype more than one checkbox
[2] Copy result url
[3] Logout
[4] Paste url in browser
[5] Type username and password
[6] In search result page, results limit description under breadcrumbs
will show all limits

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit c6a26d2c9e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:22:07 +01:00
Owen Leonard 0a027c846f
Bug 20223: Merge members-menu and circ-menu inc files
This patch removes members-menu.inc and replaces the last functional use
of it with a call to circ-menu.inc.

An invalid use of members-menu.inc has been removed from member.tt.

To test, apply the patch and open a patron record for editing. The
sidebar menu should look correct and all sidebar links should work
correctly.

View the patrons home page and confirm that nothing has broken.

Search the Koha codebase for references to members-menu.inc. There
should be none.

Signed-off-by: Michal Denar <black23@gmail.com>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit fb5b377ffd)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:20:21 +01:00
Marcel de Rooy 75b0e7a078
Bug 21281: (QA follow-up) Introduce _add_backtics
Added a (initially trivial) test in Creators/Lib.t too.
Sometimes you start something, but you end somewhere else ;)

The test seems a bit slower now (regex, lookahead, etc). But this should
not hurt label creators in daily use.
Advantages: code is even more solid, consolidated in one place and can be
tested on its own.

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit db683b285c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:08:15 +01:00
Mark Tompsett a54c1b9a1c
Bug 21281: Correct t/db_dependent/Creators/Lib.t failures
TEST PLAN
---------
1) apply first patch
2) kshell kohadev
3) prove -r -v t/db_dependent/Creators/
   -- failures
4) apply this patch
5) repeat 2,3
   -- no failures
6) run koha qa test tools

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

(cherry picked from commit 78124100ec)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:07:52 +01:00
Jonathan Druart 9f30689888
Bug 21281: Surround creator_templates.rows with backquotes
'rows' is a reserved word since MariaDB 10.2.4 and MySQL
https://mariadb.com/kb/en/library/mariadb-1024-release-notes/
https://dev.mysql.com/doc/refman/8.0/en/keywords.html

Test plan:
Do not apply this patch and make sure you recreate the reported issue
Apply this patch and confirm that it is now fixed.

QA will take care for the changes in installer and test files

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 7de47202f2)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-27 13:07:29 +01:00
Nick Clemens ff32389927
Bug 20656: (RM follow-up) Add missing filter
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 87dc160555)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-25 14:34:23 +01:00
Nick Clemens be132fe428
Bug 20656: (follow-up) Don't display title for F or FU fines (it is in description)
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit cdfc1c08c9)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-25 14:33:55 +01:00
Nick Clemens 3199778b5c
Bug 20656: Better formatting for print summary
This patch is a slightly edited c&p from boraccount.tt

1 - Manually add a credit with no notes to patron
2 - Print summary
3 - Inspect the line
4 - Note that td has extra newlines and no words
5 - Apply patch
6 - Print summary again
7 - Note better formatting

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

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 4df6a3ef79)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-25 14:32:37 +01:00
Nick Clemens fd13428bc5
Bug 20656: Don't print lines that have no balance on print summary
To test:
1 - Add at least two fines to a patron
2 - Pay off one of them
3 - Print summary - all 3 lines show
4 - Apply patch
5 - Print summary - only line with balance shows

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

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 0fd329724b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-25 14:28:14 +01:00
Martin Renvoize 41130848be
Update release notes for 18.05.04 release
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-24 14:15:21 +01:00
Martin Renvoize f444e82e99
Increment version for 18.05.04 release
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-24 14:08:31 +01:00
Koha translators fb8a522ab4
Translation updates for Koha 18.05.04
(cherry picked from commit c507d41d32b8652d51114b3784abd01051304c0d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-24 13:54:39 +01:00
Tomas Cohen Arazi 2cec62128c
Bug 21334: Add bibliographic content type definitions
This patch adds the following content type definitions, to be used by
endpoint authors implementing MARC-related endpoints:

--------------------------------------
| Content-type             | Alias   |
|--------------------------|---------|
| application/marcxml+xml  | marcxml |
| application/marc-in-json | mij     |
| application/marc         | marc    |
--------------------------------------

Code using this aliases will use them like this:
- Suppose you want to output data in MARCXML format:

my $record = cool_method_that_returns_MARC_RECORD();
return $c->render( status => 200, format => 'marcxml', text => $record->as_xml_record );

Note: 'text' by defaults encodes output as UTF-8. If the encoding is not
UTF-8 you should encode the data on your own.

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

Signed-off-by: Michal Denar <black23@gmail.com>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

(cherry picked from commit b612ec7a0d)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-20 15:02:31 +01:00
Tomas Cohen Arazi bbd86576ff
Bug 21334: Unit tests
This patch adds unit tests for the new content types being added.
It also adds tests for the 'json' overloading that already takes place
in V1.pm.

Signed-off-by: Michal Denar <black23@gmail.com>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 1442499a0b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-20 15:02:19 +01:00
Tomas Cohen Arazi ab79f3fc67
Bug 21116: Add API routes through plugins
This patch adds plugins the capability of injecting new routes on the
API.

The plugins should provide the following methods to be considered valid API-generating plugins:

- 'api_routes': returning the 'path' component of the OpenAPI specification corresponding to the routes served by the plugin
- 'api_namespace': it should return a namespace to be used for grouping the endpoints provided by the plugin

otherwise, they will be just skipped.

All plugin-generated routes will be added the 'contrib' namespace, and
will end up placed inside /contrib/<namespace>, where <namespace> is what the 'api_namespace' returns.

A sample endpoint will be added to the Kitchen Sink plugin, and tests
are being written.

To test:
- Apply this patches
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/REST/Plugin/PluginRoutes.t
=> SUCCESS: Tests pass!
- Install the (latest) KitchenSink plugin
- Point your browser to the API like this:
  http://koha-intra.myDNSname.org:8081/api/v1/.html
=> SUCCESS: The /contrib/kitchensink/patrons/:patron_id/bother endpoint
implemented by the plugin has been merged!
- Sign off! :-D

Signed-off-by: Benjamin Rokseth <benjamin.rokseth@deichman.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3fedae85f2)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-20 12:09:27 +01:00
Tomas Cohen Arazi f243f8f012
Bug 21116: Unit tests
This path implements unit tests for the route-from-plugin development.
It adds the required methods to the Koha::Plugin::Test plugin
distributed along with the tests. A second plugin implementing invalid
OpenAPI specs is added (Koha::Plugin::BadAPIRoute).

Edit: I made terminology changes to make it less rude.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 46c992948e)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-20 12:09:14 +01:00
Nick Clemens 0f45f3afdf
Bug 20564: Don't use system to unzip files
To test:
1 - Setup a zip file for patron images and cover images
2 - Test each tool
3 - Get a '500 error' after upload (note images do upload and attach)
4 - Apply patch
5 - Restart all the things
6 - Test agtain, uploads should complete and results display

Signed-off-by: George Williams <george@nekls.org>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 8b806227c1)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2018-09-20 12:07:17 +01:00