--- loncom/interface/loncoursedata.pm 2004/06/04 17:46:10 1.134 +++ loncom/interface/loncoursedata.pm 2004/07/06 15:50:03 1.137 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursedata.pm,v 1.134 2004/06/04 17:46:10 matthew Exp $ +# $Id: loncoursedata.pm,v 1.137 2004/07/06 15:50:03 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -199,6 +199,7 @@ sub get_sequence_assessment_data { my @Ids = $curRes->responseIds($part); $partdata{$part}->{'ResponseTypes'}= \@Responses; $partdata{$part}->{'ResponseIds'} = \@Ids; + $partdata{$part}->{'Survey'} = $curRes->is_survey($part); # Count how many responses of each type there are in this part foreach (@Responses) { $partdata{$part}->{$_}++; @@ -2529,7 +2530,15 @@ sub get_response_data { # &setup_table_names($courseid); my $symb_id = &get_symb_id($symb); + if (! defined($symb_id)) { + &Apache::lonnet::logthis('Unable to find symb for '.$symb.' in '.$courseid); + return undef; + } my $response_id = &get_part_id($response); + if (! defined($response_id)) { + &Apache::lonnet::logthis('Unable to find id for '.$response.' in '.$courseid); + return undef; + } # my $dbh = &Apache::lonmysql::get_dbh(); return undef if (! defined($dbh)); @@ -2878,7 +2887,7 @@ $ENV{'course.'.$cid.'.domain'}, and $ENV Returns a reference to a hash which contains: keys '$sname:$sdom' - values [$sdom,$sname,$end,$start,$id,$section,$fullname,$status,$type] + values [$sdom,$sname,$end,$start,$id,$section,$fullname,$status,$type,$lockedtype] The constant values CL_SDOM, CL_SNAME, CL_END, etc. can be used as indices into the returned list to future-proof clients against @@ -2898,6 +2907,7 @@ sub CL_SECTION { return 5; } sub CL_FULLNAME { return 6; } sub CL_STATUS { return 7; } sub CL_TYPE { return 8; } +sub CL_LOCKEDTYPE { return 9; } sub get_classlist { my ($cid,$cdom,$cnum) = @_; @@ -2914,9 +2924,9 @@ sub get_classlist { } my ($sname,$sdom) = split(/:/,$student); my @Values = split(/:/,$info); - my ($end,$start,$id,$section,$fullname,$type); + my ($end,$start,$id,$section,$fullname,$type,$lockedtype); if (@Values > 2) { - ($end,$start,$id,$section,$fullname,$type) = @Values; + ($end,$start,$id,$section,$fullname,$type,$lockedtype) = @Values; } else { # We have to get the data ourselves ($end,$start) = @Values; $section = &Apache::lonnet::getsection($sdom,$sname,$cid); @@ -2953,11 +2963,11 @@ sub get_classlist { $status='Active'; } $classlist{$student} = - [$sdom,$sname,$end,$start,$id,$section,$fullname,$status,$type]; + [$sdom,$sname,$end,$start,$id,$section,$fullname,$status,$type,$lockedtype]; } if (wantarray()) { return (\%classlist,['domain','username','end','start','id', - 'section','fullname','status','type']); + 'section','fullname','status','type','lockedtype']); } else { return \%classlist; }