--- loncom/homework/bridgetask.pm 2005/05/13 15:34:50 1.24 +++ loncom/homework/bridgetask.pm 2005/05/27 21:13:46 1.33 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.24 2005/05/13 15:34:50 albertel Exp $ +# $Id: bridgetask.pm,v 1.33 2005/05/27 21:13:46 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -71,11 +71,16 @@ sub proctor_check_auth { if ($authhost ne 'no_host') { my $version= $Apache::lonhomework::results{'resource.version'}= - $Apache::lonhomework::history{'resource.version'}++; + ++$Apache::lonhomework::history{'resource.version'}; $Apache::lonhomework::results{"resource.$version.checkedin"}= $user.'@'.$domain; $Apache::lonhomework::results{"resource.$version.checkedin.slot"}= $slot_name; + foreach my $key (keys(%Apache::lonhomework::history)) { + if ($key=~/^resource\.0\./) { + $Apache::lonhomework::results{$key}=''; + } + } return 1; } } @@ -83,24 +88,90 @@ sub proctor_check_auth { return 0; } +sub get_version { + my ($version,$previous); + if ($env{'form.previousversion'} && + defined($Apache::lonhomework::history{'resource.'.$env{'form.previousversion'}.'.status'})) { + $version=$env{'form.previousversion'}; + $previous=1; + } else { + $version=$Apache::lonhomework::history{'resource.version'}; + $previous=0; + } + if (wantarray) { + return ($version,$previous); + } + return $version; +} + sub add_previous_version_button { + my ($status)=@_; my $result; - $result.=&mt(' Show a previously done version: [_1]',''); + if ($Apache::lonhomework::history{'resource.version'} eq '') { + return ''; + } + if ($Apache::lonhomework::history{'resource.version'} < 2 && + $status ne 'NEEDS_CHECKIN') { + return ''; + } + my $version=&get_version(); + if ($env{'form.previousversion'} ne '' && + $env{'form.previousversion'} eq $version) { + $result.="