$title = 'No title';
}
$params->{time} = time;
+ $params->{args} = {%_};
bless {template => $template, title => $title, params => $params, maxage => ($maxage // 1)}, __PACKAGE__.'::Response'
}
sub (/st/:contest) {
response st => 'Standings', {
st => [ contest->standings ],
- problems => [map { $_->problem } contest->contest_problems],
+ problems => [
+ map { [$_->id, $_->name] }
+ sort { $a->value <=> $b->value }
+ map { $_->problem } contest->contest_problems],
}, 10
},
sub (/ct/ + ?:owner~) { response ct => 'Contests', db->contest_list(%_) },
sub (/log/ + ?:contest~&:owner~&:page~&:problem~&:private~) {
forbid $_{private};
- response log => 'Job list', {%{db->job_list(%_)}, maybe contest => $_{contest}}
+ response log => 'Job list', {%{db->job_list(%_)}, maybe contest => $_{contest},}
},
sub (/pb/ + ?:owner~&:contest~&:private~) {
forbid $_{private};
forbid !remote_user;
$privacy = 'private';
}
- response pb_entry => problem->name, db->problem_entry($_{problem}, $_{contest}, remote_user && remote_user->id);
+ response pb_entry => problem->name, {%{db->problem_entry($_{problem}, $_{contest}, remote_user && remote_user->id)}, maybe contest => $_{contest}};
},
sub (/sol/:problem) {
forbid !problem->is_in_archive;