my ($self, $id) = @_;
my $user = $self->users->find($id, {columns => USER_PUBLIC_COLUMNS, prefetch => [qw/problem_statuses contest_statuses/]});
my @problems = map { {problem => $_->get_column('problem'), solved => $_->solved} } $user->problem_statuses;
- my @contests = map { {contest => $_->get_column('contest'), rank => $_->rank, score => $_->score} } $user->contest_statuses;
+ my @contests = map { {contest => $_->contest->id, contest_name => $_->contest->name, rank => $_->rank, score => $_->score} } $user->contest_statuses->search(undef, {prefetch => 'contest'});
+{ $user->get_columns, problems => \@problems, contests => \@contests }
}
my @jobs = $self->jobs->search(undef, {cache => 1})->all;
my %hash;
- $hash{$_->get_column('problem'), $_->get_column('owner')} = [$_->id, $_->result ? 1 : 0] for @jobs;
+ $hash{$_->get_column('problem'), $_->get_column('owner')} = [$_->id, $_->result ? 0 : 1] for @jobs;
my @problem_statuses = map { [split ($;), @{$hash{$_}} ] } keys %hash;
my @contest_statuses = map {