summaryrefslogtreecommitdiff
path: root/httemplate/search/access_user_log.html
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-02-09 21:07:56 -0800
committerIvan Kohler <ivan@freeside.biz>2016-02-09 21:07:56 -0800
commit53c4589b2950b3ed85bcacfb707430c60cd1021e (patch)
treebed1818a9e8c163327a3894d7b3eec2d2c6f8559 /httemplate/search/access_user_log.html
parentd1803f981555834967c8164aa7dba45e96cd6569 (diff)
log statistics, RT#39822
Diffstat (limited to 'httemplate/search/access_user_log.html')
-rw-r--r--httemplate/search/access_user_log.html54
1 files changed, 54 insertions, 0 deletions
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';
+
+</%init>