]> iEval git - gruntmaster-data.git/blobdiff - lib/Gruntmaster/Data.pm
Fix problem_entry with contest
[gruntmaster-data.git] / lib / Gruntmaster / Data.pm
index 846d7721f21748735910c86d7bc7de3e930d29bd..58be648c9f7da756e0e6f75d99ce0e383c336b31 100644 (file)
@@ -15,9 +15,7 @@ use DBIx::Simple;
 use List::Util qw/sum/;
 use SQL::Abstract;
 
-use constant CONTEST_PUBLIC_COLUMNS => [qw/id name description start stop owner/];
 use constant PROBLEM_PUBLIC_COLUMNS => [qw/id author writer level name owner private timeout olimit value/];
-use constant USER_PUBLIC_COLUMNS => [qw/id admin name town university country level/];
 use constant JOBS_PER_PAGE => 50;
 
 my %statements = (
@@ -42,7 +40,7 @@ my %statements = (
        job_full_sth => 'SELECT * FROM jobs WHERE id = ?',
 );
 
-my $db;
+our $db;
 
 sub init {
        $db = DBIx::Simple->new(@_);
@@ -86,7 +84,7 @@ sub add_names ($) {
        $el
 }
 
-sub user_list { scalar query('user_list_sth')->hashes }
+sub user_list { +{us => scalar query('user_list_sth')->hashes} }
 
 sub user_entry {
        my ($id) = @_;
@@ -118,8 +116,8 @@ sub problem_list {
 }
 
 sub problem_entry {
-       my ($id, $contest, $user) = @_;
-       $contest &&= contest_entry $contest;
+       my ($id, $contest) = @_;
+       $contest &&= contest_entry ($contest);
        my $ret = add_names query(problem_entry_sth => $id)->hash;
        my $limits = query(limits_sth => $id)->hashes;
        $ret->{limits} = $limits if @$limits;
@@ -127,6 +125,7 @@ sub problem_entry {
        if ($contest) {
                $ret->{contest_start} = $contest->{start};
                $ret->{contest_stop}  = $contest->{stop};
+               delete $ret->{solution}
        }
 
        $ret
This page took 0.023887 seconds and 4 git commands to generate.