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 does not allow to export in such case. To test: - Apply patch - Check out / check in in some items -Test toolbar: - On user's detail page, go to More->Export today's checked in barcodes - Verify that the menu item does not appear if syspref 'intranetreadinghistory' is set to 'Don't allow' - Verify that the menu item appears if syspref 'intranetreadinghistory' is set to allow and - that the menu item is grayed out with a tooltip if the user has set privacy settings to never keep a reading history - that the menu item works as before if user's privacy settings allow reading history. - Test left tab "Circulation history": - Verify that the left tab "Circulation history" does not appear if syspref 'intranetreadinghistory' is set to 'Don't allow' - Verify that the tab appars if syspref 'intranetreadinghistory' is set to 'Allow' and - that a message appears if user's privacy settings do not allow to keep the reading history - that the export works as before if user's privacy settings allow to keep the reading history (Amended and changed test plan for comment #9) Signed-off-by: Aleisha <aleishaamohia@hotmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
This commit is contained in:
parent
952ba0eed9
commit
3ea6e78909
3 changed files with 29 additions and 17 deletions
|
@ -38,7 +38,7 @@ $(document).ready(function(){
|
|||
$(".btn-group").removeClass("open");
|
||||
});[% END %]
|
||||
[% END %]
|
||||
$("#updatechild, #patronflags, #renewpatron, #deletepatron").tooltip();
|
||||
$("#updatechild, #patronflags, #renewpatron, #deletepatron, #exportbarcodes").tooltip();
|
||||
$("#exportcheckins").click(function(){
|
||||
export_barcodes();
|
||||
$(".btn-group").removeClass("open");
|
||||
|
@ -199,7 +199,13 @@ function searchToHold(){
|
|||
[% ELSE %]
|
||||
<li class="disabled"><a data-toggle="tooltip" data-placement="left" title="Patron is an adult" id="updatechild" href="#">Update child to adult patron</a></li></li>
|
||||
[% END %]
|
||||
<li><a id="exportcheckins" href="#">Export today's checked in barcodes</a></li>
|
||||
[% IF Koha.Preference('intranetreadinghistory') %]
|
||||
[%IF ( privacy == 2 ) %]
|
||||
<li class="disabled"><a data-toggle="tooltip" data-placement="left" title="Not allowed by patron's privacy settings" id="exportbarcodes" href="#">Export today's checked in barcodes</a></li>
|
||||
[% ELSE %]
|
||||
<li><a id="exportcheckins" href="#">Export today's checked in barcodes</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -53,6 +53,8 @@
|
|||
<div class="dialog alert">Staff members are not allowed to access patron's checkout history</div>
|
||||
[% ELSIF is_anonymous %]
|
||||
<div class="dialog alert">This is the anonymous patron, so no circulation history is displayed. To get a list of anonymized loans, please run a report.</div>
|
||||
[% ELSIF ( privacy == 2) %]
|
||||
<div class="dialog message">This patron has set the privacy rules to never keeping a circulation history.</div>
|
||||
[% ELSIF ( !loop_reading ) %]
|
||||
<div class="dialog message">This patron has no circulation history.</div>
|
||||
[% ELSE %]
|
||||
|
|
|
@ -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') {
|
||||
|
@ -122,6 +125,7 @@ $template->param(%$data);
|
|||
$template->param(
|
||||
readingrecordview => 1,
|
||||
borrowernumber => $borrowernumber,
|
||||
privacy => $data->{'privacy'},
|
||||
categoryname => $data->{description},
|
||||
is_child => ( $data->{category_type} eq 'C' ),
|
||||
branchname => $branches->{ $data->{branchcode} }->{branchname},
|
||||
|
|
Loading…
Reference in a new issue