--- loncom/homework/structuretags.pm 2000/12/04 21:51:30 1.19 +++ loncom/homework/structuretags.pm 2000/12/12 22:35:52 1.21 @@ -43,7 +43,15 @@ sub start_problem { #adeed vars to the scripting enviroment my $expression='$external::part='.$Apache::inputtags::part.';'; &Apache::run::run($expression,$safeeval); - + if ($target ne 'meta') { + my ($date,$passed) = &Apache::lonhomework::check_date("OPEN_DATE",'0'); + if ( !$passed ) { + my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[$#$parser]); + if ( $target eq "web" ) { + return "Problem is not open to be viewed. It opens on $date"; + } + } + } if ($target eq 'web') { # create a page header and exit my $args =''; @@ -64,7 +72,7 @@ sub end_problem { } elsif ($Apache::inputtags::part eq '0') { # if part is zero, no s existed, so we need show the current # grading status - $result.= &Apache::inputtags::gradestatus; + $result.= &Apache::inputtags::gradestatus($Apache::inputtags::part); } if ($target eq 'web') { $result.="\n"; } } else { @@ -187,6 +195,14 @@ sub start_part { @Apache::inputtags::responselist = (); if ($target eq 'meta') { return &Apache::response::mandatory_part_meta; + } else { + my ($date,$passed) = &Apache::lonhomework::check_date("OPEN_DATE",$id); + if ( !$passed ) { + my $bodytext=&Apache::lonxml::get_all_text("/part",$$parser[$#$parser]); + if ( $target eq "web" ) { + return "Part is not open to be viewed. It opens on $date"; + } + } } return ''; } @@ -196,7 +212,7 @@ sub end_part { &Apache::lonxml::debug("in end_part $target "); if ( $target eq 'meta' ) { return ''; } if ( $target eq 'grade' ) { return &Apaceh::inputtags::grade; } - return &Apache::inputtags::gradestatus; + return &Apache::inputtags::gradestatus($Apache::inputtags::part); } 1;