Bug 9942: Make Koha fails if privacy is not respected
authorJonathan Druart <jonathan.druart@biblibre.com>
Thu, 9 Apr 2015 11:07:05 +0000 (13:07 +0200)
committerTomas Cohen Arazi <tomascohen@unc.edu.ar>
Tue, 7 Jul 2015 17:52:32 +0000 (14:52 -0300)
commit94315f663b8a582fb7ef68de2bd9c3933901cd7f
treeea1228cb68b1f717b487c5d26cf515d37be9ae78
parentffedc98577f4967181e9a17886483c6ac5a1d140
Bug 9942: Make Koha fails if privacy is not respected

If a patron has requested anonymity on returning items and the system is
not correctly configured (AnonymousPatron no set or set to an inexistent
patron), the application should take it into account and not fail
quietly.

This patch is quite radical: the script will die loudly if the privacy
is not respected.

To be care of the bad "Software error", some checks are done in the
updatedatabase to be sure the admin will be warned is something is wrong
in the configuration.

Test plan:
1/ Test the updatedatabase entry:
a. Turn on OPACPrivacy and set AnonymousPatron to an existing patron
=> You will get a warning
b. Turn on OPACPrivacy and set AnonymousPatron to 0 or ''
=> You will get a warning
c. Turn on OPACPrivacy and set the privacy to 2 (Never) for at least 1 patron
Turn off OPACPrivacy
=> You will get a warning
d. In all other cases you will get no error

2/ Test the interface
a. Turn on OPACPrivacy and set the privacy to 2 (Never) for a patron
b. Now you can turn off OPACPrivacy or keep it on, behavior should be
the same
c. check an item out the patron
d. Check the item in using the check out table
=> fail
e. Check the item in using the Check in tab
=> fail (not gracefully).

Note that the software error could appear on other pages too.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Updatedatabase works as described
On staff, if don't have correct settings for anonymity it's
impossible to check-in (with OPACPrivacy on)
No errors

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
C4/Circulation.pm
installer/data/mysql/updatedatabase.pl
t/db_dependent/Circulation/MarkIssueReturned.t [new file with mode: 0644]