Skip to content

Commit

Permalink
r490@d610: domm | 2008-04-09 21:33:44 +0200
Browse files Browse the repository at this point in the history
 added by/*_kwalitee to stats (requested by Tux)
  • Loading branch information
perldomm committed Apr 9, 2008
1 parent 9735367 commit 98e790a
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 9 deletions.
5 changes: 5 additions & 0 deletions Module-CPANTS-Site/Changes
Expand Up @@ -2,6 +2,11 @@
# Changes for Module::CPANTS::Site
#-----------------------------------------------------------------


0.76-tobe
- added by/*_kwalitee to stats (requested by Tux)


0.75 Tue Apr 8 01:22:24 CEST 2008
* released at the Oslo QA Hackathon 2008
- added stats/by/...
Expand Down
13 changes: 10 additions & 3 deletions Module-CPANTS-Site/cpants/templates/dist/by
@@ -1,13 +1,20 @@
<h1>Show all dists sorted by [% field %]</h1>
<h1>Show all dists sorted by [% title %]</h1>

[% pager = list.pager %]
[% nav_pager = INCLUDE 'widgets/pager' action=$field %]
[% nav_pager %]
[% USE Number.Format %]
<table>
<tr><td><b>Dist</b></td><td><b>[% field %]</b></td></tr>
<tr><td><b>Dist</b></td><td><b>[% title %]</b></td></tr>
[% WHILE (d=list.next) %]
<tr><td><a href="/dist/overview/[% d.dist %]">[% d.dist %]<a/></td><td>[% d.$field | format_number %]</td></tr>
<tr><td><a href="/dist/overview/[% d.dist %]">[% d.dist %]<a/></td>
<td>
[% IF no_format %]
[% d.get_column(field) %]
[% ELSE %]
[% d.get_column(field) | format_number %]
[% END %]
</td></tr>
[% END %]
</table>
[% nav_pager %]
2 changes: 2 additions & 0 deletions Module-CPANTS-Site/cpants/templates/static/stats
Expand Up @@ -6,6 +6,8 @@
<li><a href="[% c.uri_for('/dist/by/size_unpacked') %]">by extracted size</a>
<li><a href="[% c.uri_for('/dist/by/files') %]">by number of files</a>
<li><a href="[% c.uri_for('/dist/by/released') %]">by age</a>
<li><a href="[% c.uri_for('/dist/by/absolute_kwalitee') %]">by total kwalitee</a>
<li><a href="[% c.uri_for('/dist/by/core_kwalitee') %]">by core kwalitee</a>
<!--<li><a href="[% c.uri_for('/dist/by_required') %]">number of other dists requiring it</a>-->
</ul>

Expand Down
48 changes: 42 additions & 6 deletions Module-CPANTS-Site/lib/Module/CPANTS/Site/Controller/Dist.pm
Expand Up @@ -132,18 +132,54 @@ sub get_dist : Private {
return $dist;
}

my %bys=(
size_packed => 'size_packed DESC',
size_unpacked => 'size_unpacked DESC',
files => 'files DESC',
age => {
order_by=>'released',
show_field=>'released',
},
absolute_kwalitee => {
join=>'kwalitee',
prefetch=>'kwalitee',
order_by=>'kwalitee.kwalitee desc',
'+select' => [ 'kwalitee.kwalitee' ],
'+as' => [ 'kwalitee' ],
show_field=>'kwalitee',
},
core_kwalitee => {
join=>'kwalitee',
prefetch=>'kwalitee',
order_by=>'kwalitee.rel_core_kw desc',
'+select' => [ 'kwalitee.rel_core_kw' ],
'+as' => [ 'kwalitee' ],
show_field=>'kwalitee',
},

);

sub by : Local {
my ( $self, $c, $fld ) = @_;
$c->stash->{field}=$fld;
my $order='DESC';
if ($fld eq 'released') {
$order='';
$c->stash->{template}='dist/by_date';
my $by=$bys{$fld} || die "No such page: stats/by/$fld";
my $title=$fld;
my @order;
if (ref($by) eq 'HASH') {
$fld=$by->{show_field} if $by->{show_field};
@order=%$by;
$c->stash->{no_format}=1;
}
else {
@order=(order_by=>$by);
}
$c->stash->{template}='dist/by_date' if $fld eq 'released';
$c->stash->{field}=$fld;
$c->stash->{title}=$title;

$c->stash->{ list } = $c->model( 'DBIC::Dist' )->search(
{},
{
order_by => $fld . ' '.$order,
@order,
page => $c->request->param( 'page' ) || 1,
rows => 40,
}
Expand Down

0 comments on commit 98e790a

Please sign in to comment.