From: Marius Gavrilescu Date: Sun, 29 Mar 2015 17:49:35 +0000 (+0300) Subject: Use job_full & contest_entry in /src/:job X-Git-Url: http://git.ieval.ro/?a=commitdiff_plain;h=02d17b02b29aad989599329ff7a4ee6cae798c73;p=gruntmaster-page.git Use job_full & contest_entry in /src/:job --- diff --git a/lib/Plack/App/Gruntmaster.pm b/lib/Plack/App/Gruntmaster.pm index 4872da5..f876bae 100644 --- a/lib/Plack/App/Gruntmaster.pm +++ b/lib/Plack/App/Gruntmaster.pm @@ -84,13 +84,15 @@ sub dispatch_request{ sub (/src/:job) { return NOT_FOUND if !job; - my $isowner = remote_user && remote_user->id eq job->rawowner; - my $private = job->private || job->problem->private || job->contest && job->contest->is_running; + my $job = db->job_full($_{job}); + my $isowner = remote_user && remote_user->id eq $job->{owner}; + my $contest = $job->{contest} && db->contest_entry($job->{contest}); + my $private = $job->{private} || $contest && ($contest->{started} && !$contest->{finished}); forbid !$isowner && $private; my $privacy = $private ? 'private' : 'public'; my @headers = ('X-Forever' => 1, 'Cache-Control' => "$privacy, max-age=604800", 'Content-Type' => 'text/plain'); push @headers, (Vary => 'Authorization') if $private; - [200, \@headers, [job->source]] + [200, \@headers, [$job->{source}]] }, sub (?:format~) {