--- loncom/homework/bridgetask.pm 2009/03/20 10:05:00 1.245 +++ loncom/homework/bridgetask.pm 2009/03/27 00:20:39 1.246 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.245 2009/03/20 10:05:00 bisitz Exp $ +# $Id: bridgetask.pm,v 1.246 2009/03/27 00:20:39 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -82,7 +82,10 @@ sub proctor_check_auth { } } if ($authenticated) { - &check_in($type,$user,$domain,$slot_name); + my $check = &check_in($type,$user,$domain,$slot_name); + if ($check =~ /^error:/) { + return 0; + } return 1; } } @@ -94,7 +97,10 @@ sub check_in { my ($type,$user,$domain,$slot_name) = @_; my $useslots = &Apache::lonnet::EXT("resource.0.useslots"); if ( $useslots eq 'map_map') { - &check_in_sequence($user,$domain,$slot_name); + my $result = &check_in_sequence($user,$domain,$slot_name); + if ($result =~ /^error: /) { + return $result; + } } else { &create_new_version($type,$user,$domain,$slot_name); &Apache::structuretags::finalize_storage(); @@ -105,6 +111,9 @@ sub check_in { sub check_in_sequence { my ($user,$domain,$slot_name) = @_; my $navmap = Apache::lonnavmaps::navmap->new(); + if (!defined($navmap)) { + return 'error: '; + } my ($symb) = &Apache::lonnet::whichuser(); my ($map) = &Apache::lonnet::decode_symb($symb); my @resources = @@ -655,7 +664,11 @@ sub start_Task { if ($status eq 'CAN_ANSWER' && $version eq '') { # CAN_ANSWER mode, and no current version, unproctored access # thus self-checkedin - &check_in('Task',undef,undef,$slot_name); + my $check = &check_in('Task',undef,undef,$slot_name); + if ($check =~ /^error: /) { + my $symb=&Apache::lonnet::symbread(); + &Apache::lonnet::logthis("Error during self-checkin of version $version of Task (symb: $symb) using slot: $slot_name"); + } &add_to_queue('gradingqueue',{'type' => 'Task', 'time' => time, 'slot' => $slot_name});