X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;ds=sidebyside;f=lib%2FGruntmaster%2FData%2FResult%2FProblem.pm;h=05b6de94f14f935a306cc682ed0ad6afb6ab2ec3;hb=4a8747effd02a1e0f9dde86b1c81f6c26ce66f04;hp=572c48911e5cfe35911690a51ae1e1f26c8ce025;hpb=64e8a4c75bb8b4ab64865296a11c15e25d1cecc2;p=gruntmaster-data.git diff --git a/lib/Gruntmaster/Data/Result/Problem.pm b/lib/Gruntmaster/Data/Result/Problem.pm index 572c489..05b6de9 100644 --- a/lib/Gruntmaster/Data/Result/Problem.pm +++ b/lib/Gruntmaster/Data/Result/Problem.pm @@ -284,6 +284,50 @@ __PACKAGE__->many_to_many("contests", "contest_problems", "contest"); # Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-30 12:59:34 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ujwyMJ5Pup1i5NKXkPkg2g +sub is_private { + my ($self, $time) = @_; + return 1 if $self->private; + grep { $_->contest->is_pending($time) } $self->contest_problems; +} + +sub is_in_archive { + my ($self, $time) = @_; + 0 == grep { $_->contest->is_running($time) } $self->contest_problems; +} + +sub rerun { + $_->rerun for shift->jobs +} -# You can replace this text with custom code or comments, and it will be preserved on regeneration 1; + +__END__ + +=head1 METHODS + +=head2 is_private(I<[$time]>) + +Returns true if the problem is private at time I<$time> (which defaults to C