- my $columns = PROBLEM_PUBLIC_COLUMNS;
- push @$columns, 'solution' unless $running;
- my $pb = $self->problems->find($id, {columns => $columns, prefetch => 'owner'});
- eval { ## no critic (RequireCheckingReturnValueOfEval)
- $self->opens->create({
- contest => $contest,
- problem => $id,
- owner => $user,
- time => time,
- })
- } if $running;
+ my @columns = @{PROBLEM_PUBLIC_COLUMNS()};
+ push @columns, 'statement';
+ push @columns, 'solution' unless $running;
+ my $pb = $self->problems->find($id, {columns => \@columns, prefetch => 'owner'});
+ my @limits = map { +{
+ format => $_->format,
+ timeout => $_->timeout,
+ } } $self->limits->search({problem => $id});
+ my $open;
+ $open = $self->opens->find_or_create({
+ contest => $contest,
+ problem => $id,
+ owner => $user,
+ time => time,
+ }) if $running;