Add problem open
authorMarius Gavrilescu <marius@ieval.ro>
Thu, 13 Feb 2014 16:16:59 +0000 (18:16 +0200)
committerMarius Gavrilescu <marius@ieval.ro>
Thu, 13 Feb 2014 16:16:59 +0000 (18:16 +0200)
app.psgi
lib/Gruntmaster/Page/Pb/Entry.pm

index 9908172efb807320b8562f03bc201b43a6048c40..62a6f790815f47cbac9fa032b6fce550314c392e 100644 (file)
--- a/app.psgi
+++ b/app.psgi
@@ -24,6 +24,7 @@ sub debug {
 sub some_auth_required {
        my $r = Plack::Request->new($_[0]);
        return 1 if $_[0]->{'gruntmaster.reqadmin'} || $r->path eq '/action/passwd' || $r->path =~ m,/pb/$word/submit$,;
+       return 1 if $r->path =~ m,^/ct/$word/pb/$word, && time < contest_end $1;
        0
 }
 
@@ -39,7 +40,7 @@ sub admin_required {
 sub require_admin {
        my $app = $_[0];
        sub {
-               *__ANON__ = "require_admin_middleware";
+               local *__ANON__ = "require_admin_middleware";
                my $env = $_[0];
                my $r = Plack::Request->new($env);
                $env->{'gruntmaster.reqadmin'} = 1 if admin_required $r->path;
index 95b15a40abf74c3a4f43f084325e3cd9ef200b00..3d696a726e2d2d7b68f0a19dd261a6ed967102dc 100644 (file)
@@ -12,6 +12,11 @@ use constant FORMATS => [qw/C CPP JAVA PERL PYTHON/];
 sub _generate{
        my ($self, $htc, $lang, $env, $contest, $id) = @_;
        debug $env => "language is '$lang', contest is '$contest', id is '$id'";
+       my $user = $env->{REMOTE_USER};
+       if ($contest && $user) {
+               mark_open $id, $user;
+               debug $env => "Marking problem $id of contest $contest open by $user";
+       }
 
        $htc->param(cansubmit => 1);
        if ($contest) {
This page took 0.01165 seconds and 4 git commands to generate.