X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fstatistics.pl;h=55d5ed02b529dc8833335e79c2e6f888179c784c;hb=50dcae4b504a4a54a830ae87848ba3fa5161ad57;hp=0667ee7dfac6c8cea1a8b392a1b912b175ce1661;hpb=308237541beee0672855b43dcab34b1fed40b301;p=srvgit diff --git a/members/statistics.pl b/members/statistics.pl index 0667ee7dfa..55d5ed02b5 100755 --- a/members/statistics.pl +++ b/members/statistics.pl @@ -17,24 +17,26 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =head1 members/statistics.pl + Generate statistic issues for a member + =cut use Modern::Perl; -use CGI; +use CGI qw ( -utf8 ); use C4::Auth; -use C4::Branch; use C4::Context; use C4::Members; use C4::Members::Statistics; use C4::Members::Attributes qw(GetBorrowerAttributes); use C4::Output; +use Koha::Patrons; my $input = new CGI; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { template_name => "members/statistics.tmpl", + { template_name => "members/statistics.tt", query => $input, type => "intranet", authnotrequired => 0, @@ -46,19 +48,22 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $borrowernumber = $input->param('borrowernumber'); # Set informations for the patron -my $borrower = GetMemberDetails( $borrowernumber, 0 ); -if ( not defined $borrower ) { - $template->param (unknowuser => 1); - output_html_with_http_headers $input, $cookie, $template->output; +my $patron = Koha::Patrons->find( $borrowernumber ); +unless ( $patron ) { + print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber"); exit; } +my $category = $patron->category; +my $borrower= $patron->unblessed; +$borrower->{description} = $category->description; +$borrower->{category_type} = $category->category_type; + foreach my $key ( keys %$borrower ) { $template->param( $key => $borrower->{$key} ); } $template->param( categoryname => $borrower->{'description'}, - branchname => GetBranchName($borrower->{'branchcode'}), ); # Construct column names my $fields = C4::Members::Statistics::get_fields(); @@ -91,14 +96,16 @@ if (C4::Context->preference('ExtendedPatronAttributes')) { ); } -my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'}); -$template->param( picture => 1 ) if $picture; +$template->param( picture => 1 ) if $patron->image; + +$template->param(%$borrower); + +$template->param( adultborrower => 1 ) if ( $borrower->{category_type} eq 'A' || $borrower->{category_type} eq 'I' ); $template->param( - statisticsview => 1, - datas => $datas, - column_names => \@statistic_column_names, - length_keys => scalar( @statistic_column_names), + statisticsview => 1, + datas => $datas, + column_names => \@statistic_column_names, count_total_issues => $count_total_issues, count_total_issues_returned => $count_total_issues_returned, count_total_precedent_state => $count_total_precedent_state, @@ -112,9 +119,12 @@ output_html_with_http_headers $input, $cookie, $template->output; =head1 FUNCTIONS =head2 add_actual_state + Add a 'count_actual_state' key in all hashes count_actual_state = count_precedent_state - count_total_issues_returned_today + count_total_issues_today + =cut + sub add_actual_state { my ( $array ) = @_; for my $hash ( @$array ) { @@ -123,6 +133,7 @@ sub add_actual_state { } =head2 build_array + Build a new array containing values of hashes. It used by template whitch display silly values. ex: @@ -151,6 +162,7 @@ sub add_actual_state { ]; =cut + sub build_array { my ( $array ) = @_; my ( @r, $total ); @@ -173,6 +185,7 @@ sub build_array { } =head2 merge + Merge hashes with the same statistic column names into one param: array, a arrayref of arrayrefs ex: @@ -202,6 +215,7 @@ sub build_array { ]; =cut + sub merge { my @array = @_; my @r;