From 19d42a8de444a6447f05ed63523becf47b61fe86 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Sun, 26 Sep 2010 10:26:16 +0200 Subject: more css; display a nicer list of projects on main page --- lib/jitterbug.pm | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/jitterbug.pm b/lib/jitterbug.pm index 8110def..e4ebab2 100644 --- a/lib/jitterbug.pm +++ b/lib/jitterbug.pm @@ -12,9 +12,30 @@ load_app 'jitterbug::WebService', prefix => '/api'; load_app 'jitterbug::Task', prefix => '/task'; get '/' => sub { - my @projects = redis->smembers(key_projects); - my @builds = redis->smembers(key_tasks); - template 'index', {projects => \@projects, builds => \@builds}; + + my @proj_name = redis->smembers(key_projects); + my @projects = (); + + foreach (@proj_name) { + my $proj = redis->get(key_project($_)); + next unless $proj; + debug("on a $proj"); + my $desc = from_json($proj); + my @ids = redis->smembers( key_builds_project($_) ); + my $res = redis->get( pop @ids ); + if ($res) { + my $last_build = from_json($res); + $desc->{last_build} = $last_build; + } + push @projects, $desc; + } + + @projects = + sort { $b->{last_build}->{timestamp} cmp $a->{last_build}->{timestamp} } + @projects; + + my @tasks = redis->smembers(key_tasks); + template 'index', {projects => \@projects, tasks => \@tasks}; }; true; -- cgit 1.4.1