X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Faccess_user_log.html;fp=httemplate%2Fsearch%2Faccess_user_log.html;h=529ae8698f879c3d6c1903d9dbd697c13984644e;hp=0000000000000000000000000000000000000000;hb=53c4589b2950b3ed85bcacfb707430c60cd1021e;hpb=d1803f981555834967c8164aa7dba45e96cd6569 diff --git a/httemplate/search/access_user_log.html b/httemplate/search/access_user_log.html new file mode 100644 index 000000000..529ae8698 --- /dev/null +++ b/httemplate/search/access_user_log.html @@ -0,0 +1,54 @@ +<& elements/search.html, + 'title' => 'Access Log', + 'name' => 'entries', + 'query' => $query, + 'count_query' => $count_query, + 'header' => [ + 'Path', + '#', + 'Avg time', + ], + 'fields' => [ sub { shift->path }, + sub { shift->num_entries }, + sub { shift->avg_render_seconds }, + ], + 'sort_fields' => [qw( path num_entries avg_render_seconds )], + +&> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my %hashref = (); +my @extra_sql = (); + +my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, '_date'); +push @extra_sql, "_date >= $beginning" if $beginning; +push @extra_sql, "_date <= $ending" if $ending; + +$hashref{usernum} = $cgi->param('usernum') if $cgi->param('usernum') =~ /^\d+$/; + +my $extra_sql = ''; +$extra_sql .= (keys(%hashref) ? ' AND ' : ' WHERE ' ). join(' AND ', @extra_sql) + if @extra_sql; +$extra_sql .= ' GROUP BY path ' + if $cgi->param('group_by') eq 'path'; +warn $extra_sql; + +my $query = { + 'select' => join(' , ', + 'path', + 'COUNT(*) AS num_entries', + 'ROUND(AVG(COALESCE(render_seconds,0)),1) '. + ' AS avg_render_seconds', + ), + 'table' => 'access_user_log', + 'hashref' => \%hashref, + 'extra_sql' => $extra_sql, +}; + +#uuh, no, need dates and usernum too, but whatever for now +my $count_query = 'SELECT COUNT(DISTINCT path) FROM access_user_log'; + +