--- loncom/homework/lonhomework.pm 2008/11/25 13:16:17 1.300 +++ loncom/homework/lonhomework.pm 2009/06/09 16:33:55 1.312 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.300 2008/11/25 13:16:17 jms Exp $ +# $Id: lonhomework.pm,v 1.312 2009/06/09 16:33:55 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,25 +25,6 @@ # # http://www.lon-capa.org/ -=pod - -=head1 NAME - -Apache::lonhomework.pm - -=head1 SYNOPSIS - -handles requests for output, evaluation, and -alteration of a homework resource - -This is part of the LearningOnline Network with CAPA project -described at http://www.lon-capa.org. - - -=head1 NOTABLE SUBROUTINES - -=cut - package Apache::lonhomework; use strict; @@ -104,20 +85,14 @@ sub set_bubble_lines { } } -=pod - -=item get_target() - -Decides what targets to render for. -Implicit inputs: - Various session environment variables: - request.state - published - is a /res/ resource - uploaded - is a /uploaded/ resource - contruct - is a /priv/ resource - form.grade_target - a form parameter requesting a specific target - -=cut - +# +# Decides what targets to render for. +# Implicit inputs: +# Various session environment variables: +# request.state - published - is a /res/ resource +# uploaded - is a /uploaded/ resource +# contruct - is a /priv/ resource +# form.grade_target - a form parameter requesting a specific target sub get_target { &Apache::lonxml::debug("request.state = $env{'request.state'}"); if( defined($env{'form.grade_target'})) { @@ -198,7 +173,7 @@ sub setup_vars { sub createmenu { my ($which,$request)=@_; if ($which eq 'grade') { - $request->print(''); @@ -322,12 +297,15 @@ sub check_slot_access { return ('WAITING_FOR_GRADE'); } - # no slot is currently open, and has been checked in for this version - # previous slot is therefore CLOSED, so therefore the problem is + # Previously used slot is no longer open, and has been checked in for this version. + # However, the problem is not closed, and potentially, another slot might be + # used to gain access to it to work on it, until the due date is reached, and the + # problem then becomes CLOSED. Therefore return the slotstatus - + # (which will be NOT_IN_SLOT). if (!defined($slot_name) && $checkedin && $type eq 'problem') { - return ('CLOSED',$datemsg); + return ($slotstatus); } if ($slotstatus eq 'NOT_IN_A_SLOT' @@ -356,16 +334,8 @@ sub check_slot_access { return ($slotstatus,$datemsg,$slot_name,$returned_slot); } - -=pod - -=item check_access() - -JB, 9/24/2002: Any changes in this function may require a change -in lonnavmaps::resource::getDateStatus. - -=cut - +# JB, 9/24/2002: Any changes in this function may require a change +# in lonnavmaps::resource::getDateStatus. sub check_access { my ($id) = @_; my $date =''; @@ -513,16 +483,7 @@ sub check_access { return ($status,$datemsg); } - - -=pod - -=item due_date() - - this should work exactly like the copy in lonnavmaps.pm - -=cut - +# this should work exactly like the copy in lonnavmaps.pm sub due_date { my ($part_id,$symb,$udom,$uname)=@_; my $date; @@ -727,12 +688,24 @@ sub handle_save_or_undo { sub analyze_header { my ($request) = @_; my $js = &Apache::structuretags::setmode_javascript(); - my $result = - &Apache::loncommon::start_page('Analyzing a problem',$js); + # Breadcrumbs + my $brcrum = [{'href' => &Apache::loncommon::authorspace(), + 'text' => 'Construction Space'}, + {'href' => '', + 'text' => 'Problem Testing'}, + {'href' => '', + 'text' => 'Analyzing a problem'}]; + + my $result = + &Apache::loncommon::start_page('Analyzing a problem', + $js, + {'bread_crumbs' => $brcrum,}) + .&Apache::loncommon::head_subbox( + &Apache::loncommon::CSTR_pageheader()); $result .= &Apache::lonxml::message_location().' -