--- loncom/homework/bridgetask.pm 2012/09/12 05:14:09 1.260 +++ loncom/homework/bridgetask.pm 2023/07/06 22:23:14 1.264.8.1.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.260 2012/09/12 05:14:09 raeburn Exp $ +# $Id: bridgetask.pm,v 1.264.8.1.2.3 2023/07/06 22:23:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,8 +65,9 @@ sub initialize_bridgetask { sub proctor_check_auth { my ($slot_name,$slot,$type)=@_; my $user=$env{'form.proctorname'}; + $user =~ s/^\s+|\s+$//g; my $domain=$env{'form.proctordomain'}; - + my @allowed=split(",",$slot->{'proctor'}); foreach my $possible (@allowed) { my ($puser,$pdom)=(split(':',$possible)); @@ -118,14 +119,21 @@ sub check_in_sequence { my ($symb) = &Apache::lonnet::whichuser(); my ($map) = &Apache::lonnet::decode_symb($symb); my @resources = - $navmap->retrieveResources($map, sub { $_[0]->is_problem() },0,0); + $navmap->retrieveResources($map, sub { $_[0]->is_problem() || $_[0]->is_tool() },0,0); my %old_history = %Apache::lonhomework::history; my %old_results = %Apache::lonhomework::results; foreach my $res (@resources) { &Apache::lonxml::debug("doing ".$res->src); &Apache::structuretags::initialize_storage($res->symb); - my $type = ($res->is_task()) ? 'Task' : 'problem'; + my $type; + if ($res->is_task()) { + $type = 'Task'; + } elsif ($res->is_tool) { + $type = 'tool'; + } else { + $type = 'problem'; + } &create_new_version($type,$user,$domain,$slot_name); &Apache::structuretags::finalize_storage($res->symb); } @@ -159,7 +167,7 @@ sub create_new_version { $domain = $env{'user.domain'}; } - } elsif ($type eq 'problem') { + } elsif (($type eq 'problem') || ($type eq 'tool')) { &Apache::lonxml::debug("authed $slot_name"); } if (!defined($user) || !defined($domain)) { @@ -252,11 +260,11 @@ sub add_grading_button { $size=scalar(keys(%sections))+2; } my $sec_select = "\n".'\n"; + $sec_select .= "\t".'\n\n"; my $uri=$env{'request.uri'}; if ($env{'request.enc'}) { $uri=&Apache::lonenc::encrypted($uri); } @@ -681,7 +689,8 @@ sub start_Task { $target eq 'tex') { if ($env{'form.markaccess'}) { my @interval=&Apache::lonnet::EXT("resource.0.interval"); - &Apache::lonnet::set_first_access($interval[1]); + my ($timelimit) = ($interval[0] =~ /^(\d+)/); + &Apache::lonnet::set_first_access($interval[1],$timelimit); } } @@ -996,7 +1005,7 @@ sub get_key_todo { my $classlist=&get_limited_classlist(); if (!&allow_grade_user($classlist->{$uname.':'.$udom})) { return (undef,'not_allowed', - &mt('Requested student ([_1]) is in a section you aren\'t allowed to grade.',$uname.':'.$udom)); + &mt("Requested student ([_1]) is in a section you aren't allowed to grade.",$uname.':'.$udom)); } } my $gradingkey=&encode_queue_key($symb,$udom,$uname); @@ -1407,7 +1416,7 @@ DONEBUTTON if ($canstore) { &Apache::structuretags::finalize_storage(); my @interval = &Apache::lonnet::EXT("resource.0.interval"); - if ($interval[0] =~ /^\d+$/ && $interval[1] eq 'resource') { + if ($interval[0] =~ /^\d+/ && $interval[1] eq 'resource') { my $key=$courseid."\0".$symb; my %times=&Apache::lonnet::get('firstaccesstimes', [$key],$domain,$name); @@ -1796,7 +1805,7 @@ sub show_queue { $result.=(<$status -
+ @@ -2215,7 +2224,7 @@ sub select_user { $result.=&Apache::loncommon::start_data_table_row(); $result.=< - + @@ -3285,9 +3294,9 @@ sub proctor_validation_screen { - - - + + +
$lt{'prus'}
$lt{'pasw'}
$lt{'prdo'}
$lt{'prus'}
$lt{'pasw'}
$lt{'prdo'}