Bug 21121: Added new system preference to control hiding of personal patron information in the circulation page

Libraries may want to hide personal patron data from the circulation
page for privacy reasons this syspref introduces that ability for
library staff to control the display of this data themselves without
having to ask support vendors to hide it for them.

Test plan:
1. View circulation page and input a patrons barcode or name
2. Notice if the patron has a phone number, email, street address and
   city set then these are displayed in the left hand side of the screen
   under the patrons name. Otherwise if all/any of these fields are not
   set for the patron then the text: "No <datafield> stored." is
   displayed.
3. Apply this patch
4. Run ./updatedatabase.pl from the Koha shell to run the atomicupdate
5. Restart memcached and plack
6. Notice a new systempreference named
   'HidePersonalPatronDetailOnCirculation' has been added, which has the
   default value 'Dont'
7. Without changing the default value notice the personal patron
   information is still displayed on the circulation page
8. Change the value of the syspref to 'Do' and now notice the phone
   number, email address, street address and city are now hidden in the
   circulation page

Sponsored-By: Catalyst 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>
This commit is contained in:
Alex Buckley 2018-07-23 04:34:06 +00:00 committed by Nick Clemens
parent 81431ee28a
commit 3aef9a158b
3 changed files with 42 additions and 33 deletions

View File

@ -0,0 +1 @@
INSERT INTO systempreferences (variable, value, options, explanation) VALUES ('HidePersonalPatronDetailOnCirculation', 0, 'YesNo', 'Hide patrons phone number, email address, street address and city in the circulation page');

View File

@ -17,43 +17,45 @@
</li>
[% END %]
[% END %]
[% IF Koha.Preference( 'AddressFormat' ) %]
[% INCLUDE "member-display-address-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
[% ELSE %]
[% INCLUDE 'member-display-address-style-us.inc' %]
[% END %]
[% IF ( patron.phone || patron.mobile || patron.phonepro ) %]<li class="patronphone">
[% IF ( patron.phone ) %]
<a href="tel:[% patron.phone | url %]">[% patron.phone | html %]</a>
[% ELSE %]
[% IF ( patron.mobile ) %]
<a href="tel:[% patron.mobile | url %]">[% patron.mobile | html %]</a>
[% IF !(Koha.Preference('HidePersonalPatronDetailOnCirculation')) %]
[% IF Koha.Preference( 'AddressFormat' ) %]
[% INCLUDE "member-display-address-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
[% ELSE %]
[% IF ( patron.phonepro ) %]
<a href="tel:[% patron.phonepro | url %]">[% patron.phonepro | html %]</a>
[% INCLUDE 'member-display-address-style-us.inc' %]
[% END %]
[% IF ( patron.phone || patron.mobile || patron.phonepro ) %]<li class="patronphone">
[% IF ( patron.phone ) %]
<a href="tel:[% patron.phone | url %]">[% patron.phone | html %]</a>
[% ELSE %]
[% IF ( patron.mobile ) %]
<a href="tel:[% patron.mobile | url %]">[% patron.mobile | html %]</a>
[% ELSE %]
[% IF ( patron.phonepro ) %]
<a href="tel:[% patron.phonepro | url %]">[% patron.phonepro | html %]</a>
[% END %]
[% END %]
[% END %]</li>[% END %]
[% IF ( patron.email ) %]
<li class="email"> <a href="mailto:[% patron.email | url %]" title="[% patron.email | html %]">[% patron.email | html %]</a></li>
[% ELSE %]
[% IF ( patron.emailpro ) %]
<li class="email"> <a href="mailto:[% patron.emailpro | url %]" title="[% patron.emailpro | html %]">[% patron.emailpro | html %]</a></li>
[% END %]
[% END %]
[% END %]</li>[% END %]
[% IF ( patron.email ) %]
<li class="email"> <a href="mailto:[% patron.email | url %]" title="[% patron.email | html %]">[% patron.email | html %]</a></li>
[% ELSE %]
[% IF ( patron.emailpro ) %]
<li class="email"> <a href="mailto:[% patron.emailpro | url %]" title="[% patron.emailpro | html %]">[% patron.emailpro | html %]</a></li>
[% END %]
[% END %]
[% UNLESS ( patron.address or patron.address2 ) %]
<li><span class="empty" id="noaddressstored">No address stored.</span></li>
[% END %]
[% UNLESS ( patron.city ) %]
<li><span class="empty" id="nocitystored">No city stored.</span></li>
[% END %]
[% UNLESS ( patron.phone or patron.mobile or patron.phonepro) %]
<li> <span class="empty">No phone stored.</span></li>
[% END %]
[% UNLESS ( patron.email or patron.emailpro) %]
<li> <span class="empty">No email stored.</span></li>
[% UNLESS ( patron.address or patron.address2 ) %]
<li><span class="empty" id="noaddressstored">No address stored.</span></li>
[% END %]
[% UNLESS ( patron.city ) %]
<li><span class="empty" id="nocitystored">No city stored.</span></li>
[% END %]
[% UNLESS ( patron.phone or patron.mobile or patron.phonepro) %]
<li> <span class="empty">No phone stored.</span></li>
[% END %]
[% UNLESS ( patron.email or patron.emailpro) %]
<li> <span class="empty">No email stored.</span></li>
[% END %]
[% END %]
[% IF ( ExtendedPatronAttributes ) %][% FOREACH extendedattribute IN extendedattributes %]

View File

@ -509,6 +509,12 @@ Circulation:
yes: Cumulate
no: "Don't cumulate"
- the restriction periods.
-
- pref: HidePersonalPatronDetailOnCirculation
choices:
yes: Do
no: "Don't"
- Hide patrons phone number, email address, street address and city in the circulation page
Holds Policy:
-
- pref: AllowHoldItemTypeSelection