- my $req = Plack::Request->new($env);
- debug $env => "Contest is $ct";
- $thing{makers} //= sub { shift->resultset($thing{rsname}) };
- my $rs = $thing{makers}->(db $env)->search(undef, {order_by => 'me.id'});
- if (my $page = $req->param('page')) {
- my $pages = $rs->count / PAGE_SIZE;
+ my %params;
+ #debug $env => "Contest is $ct";
+ $thing{makers} //= sub { db(shift)->resultset($thing{rsname}) };
+ my $rs = $thing{makers}->($env);
+ $rs = $rs->search(undef, {order_by => 'me.id'}) unless $rs->is_ordered;
+ if (my $page = $env->{'gruntmaster.page'}) {
+ my $pages = int ($rs->count / PAGE_SIZE);
+ $params{default_page} = $page == -1;
+ $pages = 1 if $pages < 1;
+ $page = $pages if $page == -1;
+ @params{'page', 'pages'} = ($page, $pages);