From b6ab2a48d0cb1c9cc9754cb460da4fa1a5fa586a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20V=C3=A9ron?= Date: Sat, 31 Oct 2015 21:24:44 +0100 Subject: [PATCH] Bug 15096: Export today's checked in barcodes: Display warning if reading history is set to "never" If a patron's privacy settings are set to "Never" for keeping a reading history, "Export today's checked in barcodes" returns an empty file. This patch skips the export if such privacy rule is set and dsiplays a message. To test: - Apply patch - Search for a user who has privacy rules set to never keeping a circulation history - Check out / check in in some items - On users detail page, go to More->Export today's checked in barcodes - Verify that a message appears about user's privacy settings - Click left tab "Circulation hsitory" - Verify that the same message appears - Seach for a user who allows circulation hsitory - repeat steps above, verify that circulation hsitory appears and that today's checkouts are exported. --- .../prog/en/modules/members/readingrec.tt | 2 ++ members/readingrec.pl | 34 +++++++++++--------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt index 6fb109e..e13a0d8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt @@ -52,6 +52,8 @@
Staff members are not allowed to access patron's checkout history
[% ELSIF is_anonymous %]
This is the anonymous patron, so no circulation history is displayed. To get a list of anonymized loans, please run a report.
+[% ELSIF ( privacy == 2) %] +
This patron has set the privacy rules to never keeping a circulation history.
[% ELSIF ( !loop_reading ) %]
This patron has no circulation history.
[% ELSE %] diff --git a/members/readingrec.pl b/members/readingrec.pl index 20860c2..0ae8808 100755 --- a/members/readingrec.pl +++ b/members/readingrec.pl @@ -75,21 +75,24 @@ my $branches = GetBranches(); # barcode export if ( $op eq 'export_barcodes' ) { - my $today = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); - my @barcodes = - map { $_->{barcode} } grep { $_->{returndate} =~ m/^$today/o } @{$issues}; - my $borrowercardnumber = - GetMember( borrowernumber => $borrowernumber )->{'cardnumber'}; - my $delimiter = "\n"; - binmode( STDOUT, ":encoding(UTF-8)" ); - print $input->header( - -type => 'application/octet-stream', - -charset => 'utf-8', - -attachment => "$today-$borrowercardnumber-checkinexport.txt" - ); - my $content = join $delimiter, uniq(@barcodes); - print $content; - exit; + if ( $data->{'privacy'} < 2) { + my $today = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); + my @barcodes = + map { $_->{barcode} } grep { $_->{returndate} =~ m/^$today/o } @{$issues}; + my $borrowercardnumber = + GetMember( borrowernumber => $borrowernumber )->{'cardnumber'}; + my $delimiter = "\n"; + binmode( STDOUT, ":encoding(UTF-8)" ); + print $input->header( + -type => 'application/octet-stream', + -charset => 'utf-8', + -attachment => "$today-$borrowercardnumber-checkinexport.txt" + ); + + my $content = join $delimiter, uniq(@barcodes); + print $content; + exit; + } } if ( $data->{'category_type'} eq 'C') { @@ -123,6 +126,7 @@ $template->param(%$data); $template->param( readingrecordview => 1, borrowernumber => $borrowernumber, + privacy => $data->{'privacy'}, categoryname => $data->{description}, roadtype => $roadtype, is_child => ( $data->{category_type} eq 'C' ), -- 1.7.10.4