Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

some misc changes, and a bootstrap theme

  • Loading branch information...
commit 850b2ddd5979755f573639a90537e2d5db31c216 1 parent 527d4e8
@KohaAloha authored
View
2  bin/dashboard.pl
@@ -1,6 +1,8 @@
#!/usr/bin/env perl
use Dancer;
+
use KC::Dashboard;
+
dance;
View
17 config.yml
@@ -0,0 +1,17 @@
+appname: "dashboard"
+
+# extra dancer/plack debug stuff, very nice!
+#plack_middlewares:
+# -
+# - Debug
+# - panels
+# -
+# - Parameters
+# - Dancer::Version
+# - Dancer::Settings
+# - Dancer::Logger
+# - DBITrace
+# - Memory
+# - Timer
+#
+# yaml needs an empty line after this, dont delete...
View
132 lib/KC/Dashboard.pm
@@ -2,56 +2,113 @@ package KC::Dashboard;
# Script to create dashboard.koha-community.org
# Copyright chris@bigballofwax.co.nz 2012
+# Copyright mtj@kohaaloha.com 2012
-our $VERSION = '0.1';
+our $VERSION = '0.2';
use Dancer;
use Dancer::Plugin::Database;
use Dancer::Plugin::Redis;
+
+use Dancer::Logger::File;
use KC::Data ':all';
use strict;
use warnings;
use DBI;
-use Template;
+use Date::Manip;
+use Dancer::Debug;
-my $username;
-my $password;
+#use Template;
+set template => 'template_toolkit';
+set charset => 'UTF-8';
set 'session' => 'Simple';
+#set logger => 'file';
+
+set logger => 'console';
+#set log => 'debug';
+
+#set 'show_errors' => 1;
+#set 'startup_info' => 1;
+#set 'warnings' => 1;
-set 'show_errors' => 1;
-set 'startup_info' => 1;
-set 'warnings' => 1;
+use Data::Dumper;
+set plugins => {
+ Database => {
+ driver => 'mysql',
+ database => "kc_bugs",
+ host => "miso",
+ username => "kc_bugs",
+ password => "kc_bugs", #woah, hardcoded passwd!
+ }
+};
+
+# -----------------------------
get '/' => sub {
- my $sql =
-"SELECT realname,bugs.bug_id,bug_when,short_desc
+
+ my $sql = "SELECT realname,bugs.bug_id,short_desc, bug_when
FROM bugs_activity,profiles,bugs WHERE bugs_activity.who=profiles.userid
- AND bugs.bug_id=bugs_activity.bug_id AND added='Signed Off'
+ AND bugs.bug_id=bugs_activity.bug_id AND added='Signed Off'
ORDER BY bug_when DESC LIMIT 5";
my $sth = database->prepare($sql) or die database->errstr;
+
$sth->execute or die $sth->errstr;
- my $entries = $sth->fetchall_arrayref;
- $sql =
-"SELECT realname,count(*) FROM bugs_activity,profiles,bugs WHERE bugs_activity.who=profiles.userid AND bugs.bug_id=bugs_activity.bug_id AND added='Signed Off' and bug_when >= '2012-07-01' AND bug_when < '2012-08-01' GROUP BY realname,added ORDER BY count(*) desc;";
+ my $new_signoff = $sth->fetchall_arrayref;
+
+ # -----------------------------
+
+ my $sql =
+
+ "SELECT realname, bugs.bug_id,short_desc FROM bugs
+join profiles on bugs.reporter=profiles.userid
+ WHERE bug_status ='Needs Signoff' ORDER by lastdiffed limit 5";
+
+ $sth = database->prepare($sql) or die database->errstr;
+ $sth->execute or die $sth->errstr;
+
+ my $oldest_needs_signoff = $sth->fetchall_arrayref;
+
+ #$oldest_needs_signoff->{widget_title} = 'moof';
+ $sth->fetchall_arrayref;
+
+ # -----------------------------
+
+ $sql = "SELECT realname,count(*) FROM bugs_activity,profiles,bugs
+WHERE bugs_activity.who=profiles.userid AND bugs.bug_id=bugs_activity.bug_id
+AND added='Signed Off' and bug_when >=
+
+
+ DATE_SUB(CURDATE(), interval 5 month)
+
+
+AND bug_when < last_day( CURDATE() ) GROUP BY realname,added ORDER BY count(*) desc
+limit 10";
+
$sth = database->prepare($sql) or die database->errstr;
$sth->execute or die $sth->errstr;
my $stats = $sth->fetchall_arrayref;
+
+ #debug Dumper $stats ;
+
$sql =
"SELECT count(*) as count ,subdate(current_date, 1) as day FROM bugs_activity WHERE date(bug_when) = subdate(current_date, 1);";
$sth = database->prepare($sql) or die database->errstr;
$sth->execute or die $sth->errstr;
my $yesterday = $sth->fetchrow_hashref();
+
$sql =
"SELECT count(*) as count, current_date as day FROM bugs_activity WHERE date(bug_when) = current_date;";
$sth = database->prepare($sql) or die database->errstr;
$sth->execute or die $sth->errstr;
my $today = $sth->fetchrow_hashref();
+
$sql =
"SELECT count(*) as count ,subdate(current_date, 2) as day FROM bugs_activity WHERE date(bug_when) = subdate(current_date, 2);";
$sth = database->prepare($sql) or die database->errstr;
$sth->execute or die $sth->errstr;
my $daybefore = $sth->fetchrow_hashref();
+
$sql =
"SELECT bugs.bug_id,short_desc,bug_when FROM bugs,bugs_activity WHERE bugs.bug_id = bugs_activity.bug_id
AND added = 'Pushed to Master' AND bug_severity = 'enhancement' ORDER BY bug_when desc LIMIT 5";
@@ -59,26 +116,36 @@ AND added = 'Pushed to Master' AND bug_severity = 'enhancement' ORDER BY bug_whe
$sth->execute or die $sth->errstr;
my $enhancement = $sth->fetchall_arrayref;
my $dates = get_dates();
- my $devs = get_devs();
-# my $ohloh = redis->get('ohloh');
-
-# if ( !$ohloh ) {
-my $ohloh = ohloh_activity();
-# redis->set( 'ohloh' => $ohloh );
-# redis->expire( 'ohloh', 6000 );
-# }
- template 'show_entries.tt',
- {
- 'entries' => $entries,
+
+ # -----------------------------
+
+ #my $ohloh = redis->get('ohloh');
+ my $ohloh = ohloh_activity();
+ my $ohloh_devs = ohloh_devs();
+
+ my $bug_activity = [
+
+ [ $daybefore->{day}, $daybefore->{count} ],
+ [ $yesterday->{day}, $yesterday->{count} ],
+ [ $today->{day}, $today->{count} ],
+
+ ];
+
+ template 'index.tt', {
+ 'new_signoff' => $new_signoff,
'stats' => $stats,
'yesterday' => $yesterday,
'today' => $today,
'daybefore' => $daybefore,
'enhancments' => $enhancement,
'dates' => $dates,
- 'devs' => $devs,
- 'ohloh' => $ohloh,
- };
+ 'ohloh' => $ohloh,
+ 'ohloh_devs' => $ohloh_devs,
+ 'oldest_needs_signoff' => $oldest_needs_signoff,
+ #'dummy' => $dummy,
+ 'bug_activity' => $bug_activity,
+
+ };
};
get '/bug_status' => sub {
@@ -93,7 +160,7 @@ get '/bug_status' => sub {
get '/randombug' => sub {
my $sql =
-"SELECT * FROM (SELECT bug_id,short_desc FROM bugs WHERE bug_status NOT in
+ "SELECT * FROM (SELECT bug_id,short_desc FROM bugs WHERE bug_status NOT in
('CLOSED','RESOLVED','Pushed to Master','Pushed to Stable','VERIFIED', 'Signed Off', 'Passed QA') ) AS bugs2 ORDER BY rand() LIMIT 1";
my $sth = database->prepare($sql) or die database->errstr;
$sth->execute or die $sth->errstr;
@@ -101,14 +168,7 @@ get '/randombug' => sub {
template 'randombug.tt', { 'randombug' => $sth->fetchall_arrayref };
};
-get '/needsignoff' => sub {
- my $sql = "SELECT bugs.bug_id,short_desc FROM bugs
- WHERE bug_status ='Needs Signoff' ORDER by lastdiffed limit 5;";
- my $sth = database->prepare($sql) or die database->errstr;
- $sth->execute or die $sth->errstr;
- template 'needsignoff.tt', { 'needsignoff' => $sth->fetchall_arrayref };
-
-};
+#-------------------------------
true;
View
64 lib/KC/Data.pm
@@ -6,10 +6,17 @@ use warnings;
use LWP::Simple;
use XML::Simple;
+use Dancer::Debug;
+
use DateTime;
+use Data::Dumper;
+
require Exporter;
+#use Dancer;
+#set log => 'debug';
+
our @ISA = qw(Exporter);
# This allows declaration use KC::Data ':all';
@@ -18,18 +25,17 @@ our @ISA = qw(Exporter);
our %EXPORT_TAGS = (
'all' => [
qw(
- get_dates get_devs ohloh_activity
+ get_dates ohloh_activity ohloh_devs
)
]
);
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-
our @EXPORT = qw(
);
-our $VERSION = '0.01';
+our $VERSION = '0.02';
sub get_dates {
@@ -46,22 +52,9 @@ sub get_dates {
if ( $date gt $today ) {
push @dates, $daterow;
}
-
}
close $FH;
return \@dates;
-
-}
-
-sub get_devs {
- open( my $FH, '<', 'data/devs.txt' );
- my @devs;
- while ( my $line = <$FH> ) {
- my $devrow = { 'dev' => $line };
- push @devs, $devrow;
- }
- close $FH;
- return \@devs;
}
sub ohloh_activity {
@@ -75,8 +68,43 @@ sub ohloh_activity {
my $xml = eval { XMLin($response) } or return;
# was the request a success?
- return
- unless $xml->{status} eq 'success';
+ return unless $xml->{status} eq 'success';
return $xml;
}
+
+sub ohloh_devs {
+ my $url =
+"http://www.ohloh.net/p/koha/contributors.xml?api_key=ad98f4080e21c596b62c9315f6c7a4c8b08af082&sort=newest";
+
+ # get the url from the server
+ my $response = get $url or return;
+ # parse the XML response
+ my $xml = eval { XMLin($response) } or return;
+ # was the request a success?
+ return unless $xml->{status} eq 'success';
+
+ my @a1;
+ my $i = 0;
+ while ( $i <= 10 ) {
+
+ my $date =
+ $xml->{'result'}->{'contributor_fact'}->[$i]->{'first_commit_time'};
+ $date =~ s/T.*//;
+
+ my $o2 = {
+ 'name' => $xml->{'result'}->{'contributor_fact'}->[$i]
+ ->{'contributor_name'},
+ 'date' => $date,
+ 'id' =>
+ $xml->{'result'}->{'contributor_fact'}->[$i]->{'contributor_id'},
+ };
+ push @a1, $o2;
+ $i++;
+ }
+
+ #print Dumper $xml;
+ return \@a1;
+
+}
+
__END__
View
79 public/d1.js
@@ -0,0 +1,79 @@
+
+function loadbugs(){
+ $.get('bug_status'
+ ,function(data){
+ // $('#bugs').html(data);
+ $('#bugs_table > tbody').append( data );
+ });
+
+};
+
+
+function randombug(){
+ jQuery.support.cors = true;
+
+ $.get('randombug'
+ ,function(data){
+ $('#randomtable').html( '<tr><td>'+ data +'</td></tr>' );
+ }
+ )
+ setTimeout(randombug, 900000);
+};
+
+
+
+function needsignoff(){
+ $.get('needsignoff'
+ ,function(data){
+ $('#needsignoff').html(data);
+ }
+ )
+ setTimeout(needsignoff, 900000);
+};
+
+
+
+
+function jenkins(){
+$.getJSON('http://jenkins.koha-community.org/api/json?jsonp='+"?&callback=?",
+ function(data){
+ // $('#jenkins').html('<ul>');
+ var jobs = data.jobs;
+
+
+ for(var i=0;i<jobs.length;i++){
+
+
+
+ var name = jobs[i].name;
+ var colour = jobs[i].color;
+ var status;
+ if (colour === 'yellow') {
+ status = 'Unstable';
+ }
+ else {
+ if (colour === 'blue'){
+ status = 'Stable';
+ }
+ else {
+ status = 'Broken';
+ }
+ }
+ // $('#jenkins').html('<tr>');
+
+
+
+ // $('#jenkins').append('<td>'+name+' - '+status+"11</td>\n" );
+ $('#jenkins_table > tbody').append('<tr><td>'+name+'</td><td>'+status+"</td></tr> \n" );
+
+// $('#jenkins').html('</tr>');
+ }
+
+
+
+// $('#jenkins').append('</ul>');
+ }
+)
+};
+
+
View
BIN  public/favicon.ico
Binary file not shown
View
13 views/bug_status.tt
@@ -1,7 +1,6 @@
-<ul>
-<li>Needs Signoff - <% status.${"Needs Signoff"}.count %></li>
-<li>Signed Off - <% status.${"Signed Off"}.count %></li>
-<li>Passed QA - <% status.${"Passed QA"}.count %></li>
-<li>Failed QA - <% status.${"Failed QA"}.count %></li>
-<li>Patch Doesn't apply - <% status.${"Patch doesn't apply"}.count %></li>
-</ul>
+<tr><td>Needs Signoff</td><td><% status.${"Needs Signoff"}.count %></td></tr>
+<tr><td>Signed Off</td><td><% status.${"Signed Off"}.count %></td></tr>
+<tr><td>Passed QA</td><td><% status.${"Passed QA"}.count %></td></tr>
+<tr><td>Failed QA</td><td><% status.${"Failed QA"}.count %></td></tr>
+<tr><td>Patch Doesn't apply</td><td><% status.${"Patch doesn't apply"}.count %></td></tr>
+
View
395 views/index.tt
@@ -0,0 +1,395 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta name="generator" content=
+ "HTML Tidy for HTML5 (experimental) for Linux https://github.com/w3c/tidy-html5/tree/c63cc39">
+ <meta charset="utf-8">
+ <title>
+ Koha Dashboard
+ </title>
+ <meta name="viewport" content=
+ "width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content=""><!-- Le styles -->
+ <link href="assets/css/bootstrap.css" rel="stylesheet">
+ <link href="assets/css/bootstrap-responsive.css" rel=
+ "stylesheet">
+ <link href="assets/css/docs.css" rel="stylesheet">
+ <link href="assets/js/google-code-prettify/prettify.css" rel=
+ "stylesheet">
+ <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+ <!-- Le fav and touch icons -->
+ <link rel="shortcut icon" href="favicon.ico">
+ <script src="jquery.min.js" type="text/javascript">
+</script>
+ <script src="d1.js" type="text/javascript">
+</script>
+ <script>
+
+ $(document).ready(function(){
+
+ jQuery.support.cors = true;
+
+ loadbugs();
+ randombug();
+ // needsignoff();
+ jenkins();
+ });
+
+
+ </script>
+ </head>
+ <body data-spy="scroll" data-target=".bs-docs-sidebar">
+ <!-- Navbar
+================================================== -->
+ <div class="navbar navbar-inverse navbar-fixed-top">
+ <div class="navbar-inner">
+ <div class="container">
+ <button type="button" class="btn btn-navbar" data-toggle=
+ "collapse" data-target=".nav-collapse"><span class=
+ "icon-bar"></span> <span class="icon-bar"></span>
+ <span class="icon-bar"></span></button>
+ <!-- <a class="brand" href="./index.html">Bootstrap</a> -->
+ <div class="nav-collapse collapse">
+ <ul class="nav">
+ <li class="">
+ <a href="./index.html">Koha Dashboard</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div><!-- Subhead
+
+
+<header class="jumbotron subhead">
+<div class="container">
+<h1>JavaScript for Bootstrap</h1>
+<p class="lead">Bring Bootstrap's components to life&mdash;now with 13 custom jQuery plugins.
+</div>
+</header>
+================================================== -->
+ <div class="container">
+ <!-- Docs nav
+================================================== -->
+ <div class="row">
+ <div class="span3 bs-docs-sidebar">
+ <ul class="nav nav-list bs-docs-sidenav">
+ <li>
+ <a href="#ohloh-stats"><i class=
+ "icon-chevron-right"></i> Koha monthly codebase
+ stats</a>
+ </li>
+ <li>
+ <a href="#ohloh-devs"><i class=
+ "icon-chevron-right"></i> Latest Koha
+ contributors</a>
+ </li>
+ <li>
+ <a href="#new-signoffs"><i class=
+ "icon-chevron-right"></i> Newest bugs just signed
+ off</a>
+ </li>
+ <li>
+ <a href="#old-signoffs"><i class=
+ "icon-chevron-right"></i> Oldest bugs needing
+ Signoff</a>
+ </li>
+ <li>
+ <a href="#scoreboard"><i class=
+ "icon-chevron-right"></i> Koha monthly bug
+ scoreboard</a>
+ </li>
+ <li>
+ <a href="#jenkins"><i class="icon-chevron-right"></i>
+ Koha Jenkins status</a>
+ </li>
+ <li>
+ <a href="#bugs-stats"><i class=
+ "icon-chevron-right"></i> Koha Bugzilla stats</a>
+ </li>
+ <li>
+ <a href="#bugs-act"><i class=
+ "icon-chevron-right"></i> Koha recent Bugzilla
+ activity</a>
+ </li>
+ <li>
+ <a href="#random"><i class="icon-chevron-right"></i>
+ Koha random bug</a>
+ </li>
+ </ul>
+ </div>
+ <div class="span9">
+ <!-- ohloh-stats
+================================================== -->
+ <section id="ohloh-stats">
+ <div class="page-header">
+ <h1>
+ Koha monthly codebase stats
+ </h1>
+ </div>
+ <table id="os" class=
+ "table table-striped table-bordered table-condensed">
+ <tbody>
+ <% i = ohloh.result.activity_fact.size - 2 %><% activity = ohloh.result.activity_fact.$i %>
+ <tr>
+ <td>
+ Commits
+ </td>
+ <td>
+ <% activity.commits %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Contributors
+ </td>
+ <td>
+ <% activity.contributors %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Code Added
+ </td>
+ <td>
+ <% activity.code_added %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Code Removed
+ </td>
+ <td>
+ <% activity.code_removed %>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </section><!-- ohloh-devs
+================================================== -->
+ <section id="ohloh-devs">
+ <div class="page-header">
+ <h1>
+ Latest Koha contributors
+ </h1>
+ </div>
+ <table id="new_devs" class=
+ "table table-striped table-bordered table-condensed">
+ <tbody>
+ <% foreach i in ohloh_devs %>
+ <tr>
+ <td>
+ <a href=
+ "http://www.ohloh.net/p/koha/contributors/%3C%%20i.id%20%%3E">
+ <% i.name %></a>
+ </td>
+ <td>
+ <% i.date %>
+ </td>
+ </tr>
+ <tr>
+ <% END %>
+ </tr>
+ </tbody>
+ </table>
+ </section><!-- new-signoffs
+================================================== -->
+ <section id="new-signoffs">
+ <div class="page-header">
+ <h1>
+ Newest bugs just signed off bugs
+ </h1>
+ </div>
+ <table class=
+ "table table-striped table-bordered table-condensed">
+ <tbody>
+ <% loop_name = "new_signoff" %><% FOREACH i IN $loop_name %>
+ <tr>
+ <td>
+ <% i.0 %>
+ </td>
+ <td>
+ <a href=
+ "http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=%3C%%20i.1%20%%3E">
+ <% i.1 %></a> - <% i.2 %>
+ </td>
+ </tr><% END %>
+ </tbody>
+ </table>
+ </section><!-- old-signoffs
+================================================== -->
+ <section id="old-signoffs">
+ <div class="page-header">
+ <h1>
+ Oldest bugs needing signoff
+ </h1>
+ </div>
+ <table class=
+ "table table-striped table-bordered table-condensed">
+ <tbody>
+ <% loop_name = "oldest_needs_signoff" %><% FOREACH entry IN $loop_name %>
+ <tr>
+ <td>
+ <% entry.0 %>
+ </td>
+ <td>
+ <a href=
+ "http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=%3C%%20entry.1%20%%3E">
+ <% entry.1 %></a> - <% entry.2 %>
+ </td>
+ </tr><% END %>
+ </tbody>
+ </table>
+ </section><!-- scoreboard
+================================================== -->
+ <section id="scoreboard">
+ <div class="page-header">
+ <h1>
+ Koha monthly bug scoreboard
+ </h1>
+ </div>
+ <table id="&lt;sc" class=
+ "table table-striped table-bordered table-condensed">
+ <tbody>
+ <% loop_name = "stats" %><% FOREACH row IN $loop_name %>
+ <tr>
+ <td>
+ <% row.0 %>
+ </td>
+ <td>
+ <% row.1 %>
+ </td>
+ </tr><% END %>
+ </tbody>
+ </table>
+ </section><!-- jenkins
+================================================== -->
+ <section id="jenkins">
+ <div class="page-header">
+ <h1>
+ Koha jenkins status
+ </h1>
+ </div>
+ <table id="jenkins_table" class=
+ "table table-striped table-bordered table-condensed">
+ <thead>
+ <tr>
+ <th>
+ item
+ </th>
+ <th>
+ status
+ </th>
+ </tr>
+ </thead>
+ <tbody></tbody>
+ </table>
+ </section><!-- bug-stats
+================================================== -->
+ <section id="bugs-stats">
+ <div class="page-header">
+ <h1>
+ Koha Bugzilla stats
+ </h1>
+ </div>
+ <table id="bugs_table" class=
+ "table table-striped table-bordered table-condensed">
+ <tbody></tbody>
+ </table>
+ </section><!-- bug-act
+================================================== -->
+ <section id="bugs-act">
+ <div class="page-header">
+ <h1>
+ Koha recent Bugzilla activity
+ </h1>
+ </div>
+ <table id="bug_act" class="table table-striped">
+ <tbody>
+ <tr>
+ <td>
+ <% daybefore.day %>
+ </td>
+ <td>
+ <% daybefore.count %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <% yesterday.day %>
+ </td>
+ <td>
+ <% yesterday.count %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <% today.day %>
+ </td>
+ <td>
+ <% today.count %>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </section><!-- random
+================================================== -->
+ <section id="random">
+ <div class="page-header">
+ <h1>
+ Koha random bug
+ </h1>
+ </div>
+ <table id="randomtable" class=
+ "table table-striped table-bordered table-condensed">
+ <tbody>
+ <% FOREACH row IN $loop_name %>
+ <tr>
+ <td>
+ <% row.0 %>
+ </td>
+ <td>
+ <% row.1 %>
+ </td>
+ </tr><% END %>
+ </tbody>
+ </table>
+ </section>
+ </div>
+ </div>
+ </div><!-- Footer
+================================================== -->
+ <footer class="footer">
+ <div class="container">
+ <p class="pull-right">
+ <a href="#">Back to top</a>
+ </p>
+ </div>
+ </footer><!-- Le javascript
+================================================== -->
+ <!-- Placed at the end of the document so the pages load faster -->
+ <script type="text/javascript" src=
+ "http://platform.twitter.com/widgets.js">
+</script> <script src="assets/js/jquery.js">
+</script> <script src="assets/js/google-code-prettify/prettify.js">
+</script> <script src="assets/js/bootstrap-transition.js">
+</script> <script src="assets/js/bootstrap-alert.js">
+</script> <script src="assets/js/bootstrap-modal.js">
+</script> <script src="assets/js/bootstrap-dropdown.js">
+</script> <script src="assets/js/bootstrap-scrollspy.js">
+</script> <script src="assets/js/bootstrap-tab.js">
+</script> <script src="assets/js/bootstrap-tooltip.js">
+</script> <script src="assets/js/bootstrap-popover.js">
+</script> <script src="assets/js/bootstrap-button.js">
+</script> <script src="assets/js/bootstrap-collapse.js">
+</script> <script src="assets/js/bootstrap-carousel.js">
+</script> <script src="assets/js/bootstrap-typeahead.js">
+</script> <script src="assets/js/bootstrap-affix.js">
+</script> <script src="assets/js/application.js">
+</script>
+ </body>
+</html>
View
7 views/needsignoff.tt
@@ -1,7 +0,0 @@
-<ul>
-<% FOREACH bug IN needsignoff %>
-<li><a
-href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=<%
-bug.0 %>"><% bug.0 %></a> <% bug.1 %></li>
-<% END %>
-</ul>
View
169 views/show_entries.tt
@@ -1,169 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<html>
-<head>
-<meta name="generator" content="HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
-<title>Koha Dashboard</title>
-
-<script src="jquery.min.js" type="text/javascript">
-</script>
-<link rel="stylesheet" href="http://koha-community.org/wp-content/themes/cordobo-green-park-2/style.css" type="text/css" media="all">
-<style type="text/css">
-#example_4 ul li {
-padding-bottom:10px;
-}
-#content {
-padding:15px 20px 15px 10px;
-}
-#jenkins {margin-left: 10px;}
-</style>
-
-<script type="text/javascript">
-function loadbugs(){
- $.get('http://dashboard.koha-community.org/bug_status'
- ,function(data){
- $('#bugs').html(data);
- }
- )
-};
-
-function randombug(){
- $.get('http://dashboard.koha-community.org/randombug'
- ,function(data){
- $('#random').html(data);
- }
- )
- setTimeout(randombug, 10000);
-};
-
-
-function needsignoff(){
- $.get('http://dashboard.koha-community.org/needsignoff'
- ,function(data){
- $('#needsignoff').html(data);
- }
- )
- setTimeout(needsignoff, 100000);
-};
-
-function jenkins(){
-$.getJSON('http://jenkins.koha-community.org/api/json?jsonp='+"?&callback=?",
- function(data){
- $('#jenkins').html('<ul>');
- var jobs = data.jobs;
- for(var i=0;i<jobs.length;i++){
- var name = jobs[i].name;
- var colour = jobs[i].color;
- var status;
- if (colour === 'yellow') {
- status = 'Unstable';
- }
- else {
- if (colour === 'blue'){
- status = 'Stable';
- }
- else {
- status = 'Broken';
- }
- }
- $('#jenkins').append('<li>'+name+' - '+status+'</li>');
- }
- $('#jenkins').append('</ul>');
- }
-)
-};
-
-$(document).ready(function(){
- loadbugs();
- randombug();
- needsignoff();
- jenkins();
-});
-
-</script>
-</head>
-<body id="home">
-<div id="header" class="clearfix">
-<div id="branding">
-<h1 id="logo"><a href="/" title="Koha Library Software Community">Dashboard</a></h1>
-<div class="description"></div>
-</div>
-<div id="nav" class="clearfix">
-<div id="nav-search"></div>
-<ul id="menu">
-<li class="page-item-home current_page_item"><a href="http://koha-community.org/">Home</a></li>
-<li class="page-item-home"><a href="http://wiki.koha-community.org/">Wiki</a></li>
-<li class="page-item-home"><a href="http://bugs.koha-community.org/">Bugzilla</a></li>
-<li class="page-item-home"><a href="http://jenkins.koha-community.org/">Jenkins</a></li>
-<li class="page-item-home"><a href="http://wiki.koha-community.org/wiki/Sandboxes">Sandboxes</a></li>
-</ul>
-<div id="submenu-bg"></div>
-</div>
-</div>
-<div id="main" class="clearfix">
-<div id="container">
-<div id="content">
-<h3>Last 5 sign offs</h3>
-<span id="example_4">
-<ul><% FOREACH entry IN entries %>
-<li><% entry.0 %> - <% entry.2 %><br>
-<a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=<% entry.1 %>"><% entry.1 %></a> - <% entry.3 %></li>
-<% END %>
-</ul>
-</span>
-<h3>Needs Signoff</h3>
-<b>5 Oldest bugs </b>
-<div id="needsignoff"></div>
-<h3>New features recently pushed</h3>
-<ul>
-<% FOREACH enhancement IN enhancments %>
-<li><a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=<% enhancement.0 %>"><% enhancement.0%></a> - <% enhancement.1 %> - <% enhancement.2 %></li>
-<% END %>
-</ul>
-<h3> New Developers </h3>
-<ul>
-<% FOREACH dev IN devs %>
-<li><% dev.dev %></li>
-<% END %>
-</ul>
-<h3>Jenkins Status</h3>
-<div id="jenkins"></div>
-</div>
-</div>
-<div id="sidebar">
-<h3>Bug activity </h3>
-<% daybefore.day %> -
-<% daybefore.count %> changes <br/>
-<% yesterday.day %> -
-<% yesterday.count %> changes <br />
-<% today.day %> -
-<% today.count %> changes
-
-<h3>Bug statuses</h3>
-<div id="bugs"></div>
-<h3>Random bug</h3>
-<div id="random"></div>
-<h3>Monthly Scoreboard - July</h3>
-<ul class="sb-list clearfix"><% FOREACH stat IN stats %>
-<li><% stat.0 %>- <% stat.1 %></li>
-<% END %></ul>
-<h3>Important Dates</h3>
-<ul>
-<% FOREACH date IN dates %>
-<li><% date.date %> - <% date.desc %></li>
-<% END %>
-<% IF ohloh %>
-</ul>
-<h3>June commit statistics - Master</h2>
-<% i = ohloh.result.activity_fact.size - 2 %>
-<% activity = ohloh.result.activity_fact.$i %>
-<ul>
-<li>Commits - <% activity.commits %></li>
-<li>Contributors - <% activity.contributors %></li>
-<li>Code Added - <% activity.code_added %></li>
-<li>Code Removed - <% activity.code_removed %></li>
-</ul>
-<% END %>
-</div>
-</div>
-</body>
-</html>
Please sign in to comment.
Something went wrong with that request. Please try again.