View | Details | Raw Unified | Return to bug 7955
Collapse All | Expand All

(-)a/C4/Members/Statistics.pm (-3 / +14 lines)
Lines 40-45 BEGIN { Link Here
40
    );
40
    );
41
}
41
}
42
42
43
44
our $fields = get_fields();
45
46
sub get_fields {
47
    my $r = C4::Context->preference('StatisticsFields') || 'location|itype|ccode';
48
    unless ( $r =~ m/^(\w|\d|\||-)+$/) {
49
        warn "Members/Statistics : Bad value for syspref StatisticsFields" if $debug;
50
        $r = 'location|itype|ccode';
51
    }
52
    return $r;
53
}
54
43
=head2 construct_query
55
=head2 construct_query
44
  Build a sql query from a subquery
56
  Build a sql query from a subquery
45
  Adds statistics fields to the select and the group by clause
57
  Adds statistics fields to the select and the group by clause
Lines 47-56 BEGIN { Link Here
47
sub construct_query {
59
sub construct_query {
48
    my $count    = shift;
60
    my $count    = shift;
49
    my $subquery = shift;
61
    my $subquery = shift;
50
    my $fields = C4::Context->preference('StatisticsFields') || 'location|itype|ccode';
51
    my @select_fields = split '\|', $fields;
62
    my @select_fields = split '\|', $fields;
52
    my $query = "SELECT COUNT(*) as count_$count";
63
    my $query = "SELECT COUNT(*) as count_$count,";
53
    $query .= ", " . C4::Context->dbh->quote( $_ ) for @select_fields;
64
    $query .= join ',', @select_fields;
54
65
55
    $query .= " " . $subquery;
66
    $query .= " " . $subquery;
56
67
(-)a/members/statistics.pl (-3 / +3 lines)
Lines 58-64 foreach my $key ( keys %$borrower ) { Link Here
58
}
58
}
59
59
60
# Construct column names
60
# Construct column names
61
my $fields = C4::Context->preference('StatisticsFields') || 'location|itype|ccode';
61
my $fields = C4::Members::Statistics::get_fields();
62
our @statistic_column_names = split '\|', $fields;
62
our @statistic_column_names = split '\|', $fields;
63
our @value_column_names = ( 'count_precedent_state', 'count_total_issues_today', 'count_total_issues_returned_today' );
63
our @value_column_names = ( 'count_precedent_state', 'count_total_issues_today', 'count_total_issues_returned_today' );
64
our @column_names = ( @statistic_column_names, @value_column_names );
64
our @column_names = ( @statistic_column_names, @value_column_names );
Lines 70-75 my $total_issues_returned_today = GetTotalIssuesReturnedTodayByBorrower( $borrow Link Here
70
my $r = merge (
70
my $r = merge (
71
    @$precedent_state, @$total_issues_today, @$total_issues_returned_today
71
    @$precedent_state, @$total_issues_today, @$total_issues_returned_today
72
);
72
);
73
73
add_actual_state( $r );
74
add_actual_state( $r );
74
my ( $total, $datas ) = build_array( $r );
75
my ( $total, $datas ) = build_array( $r );
75
76
Lines 194-200 sub merge { Link Here
194
        for my $ch ( @r ) {
195
        for my $ch ( @r ) {
195
            $exists = 1;
196
            $exists = 1;
196
            for my $cn ( @statistic_column_names ) {
197
            for my $cn ( @statistic_column_names ) {
197
                if ( not $ch->{$cn} eq $h->{$cn} ) {
198
                if ( $ch->{$cn} and not $ch->{$cn} eq $h->{$cn} ) {
198
                    $exists = 0;
199
                    $exists = 0;
199
                    last;
200
                    last;
200
                }
201
                }
201
- 

Return to bug 7955