Bug 6756: Fix bad behaviors if AnonymousPatron is not defined
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 14 Jul 2015 10:30:51 +0000 (11:30 +0100)
committerMason James <mtj@kohaaloha.com>
Fri, 2 Oct 2015 10:32:35 +0000 (23:32 +1300)
commit0b615c8db9bf9efcd8dbc4b06b1fd4eff4ae1289
tree0f4b5858ad5f401090d23ded45d076666a1bfe2e
parenta4fcb6a535907acf68e58ab8de43ecb6b6c9942d
Bug 6756: Fix bad behaviors if AnonymousPatron is not defined

There are at least 2 wrong behaviors if the AnonymousPatron pref is not
defined (0 or empty string).
1/ If you use the clean borrower tools, you will get a successful
message when the nothing happened (the history has not been anonymised).
2/ At the OPAC, if a patron ask for delete his reading history, he will
get an error message "The deletion of your reading history failed,
because there is a problem with the configuration of this feature.
Please help to fix the system by informing your libr    ary of this
error". IMO this should not happen, the history should be anonymised.

With this patch, the old_issues.borrowernumber field will be set to NULL
if the AnonymousPatron pref if not defined.

Test plan:
1/ Fill the pref with "" or 0
2/ At the OPAC, go on the privacy tab and click on the "Immedia deletion" button.
You should get a green and friendly message. Confirm that the history
has been anonymised.
3/ Use the "Batch patron anonymization" tools (tools/cleanborrowers.pl)
to anonymize the checkout history.
Confirm that a) it works and b) you get a message.

Try again with AnonymousPatron set to a valid patron. You should not see
any changes with the current behaviors.

NOTE: This patch tweaks C4/Circulation.pm and provides tests.
      applying just this, and running prove success. Reverting just
      C4/Circulation.pm fails, as expected.
      Tested OPAC stuff with both patches applied.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Mason James <mtj@kohaaloha.com>
C4/Circulation.pm
t/db_dependent/Circulation/AnonymiseIssueHistory.t [new file with mode: 0644]