--- loncom/homework/response.pm 2008/09/04 20:31:55 1.197 +++ loncom/homework/response.pm 2008/12/07 23:40:57 1.209 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # various response type definitons response definition # -# $Id: response.pm,v 1.197 2008/09/04 20:31:55 riegler Exp $ +# $Id: response.pm,v 1.209 2008/12/07 23:40:57 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,29 @@ # http://www.lon-capa.org/ # +=pod + +=head1 NAME + +Apache::resonse.pm + +=head1 SYNOPSIS + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + + +=head1 NOTABLE SUBROUTINES + +=over + +=item + +=back + +=cut + + package Apache::response; use strict; use Apache::lonlocal; @@ -217,23 +240,26 @@ sub meta_stores_write { } sub mandatory_part_meta { -# -# Autogenerate metadata for mandatory -# input (from RAT or lonparmset) and -# output (to lonspreadsheet) -# of each part +=pod + +=item meta_part_order + +Autogenerate metadata for mandatory +input (from RAT or lonparmset) and +output (to lonspreadsheet) +of each part # return -# &meta_parameter_write('opendate','date_start','', -# 'Opening Date'). -# &meta_parameter_write('duedate','date_end','', -# 'Due Date'). -# &meta_parameter_write('answerdate','date_start','', -# 'Show Answer Date'). -# &meta_parameter_write('weight','int_zeropos','', -# 'Available Points'). -# &meta_parameter_write('maxtries','int_pos','', -# 'Maximum Number of Tries'). + &meta_parameter_write('opendate','date_start','', + 'Opening Date'). + &meta_parameter_write('duedate','date_end','', + 'Due Date'). + &meta_parameter_write('answerdate','date_start','', + 'Show Answer Date'). + &meta_parameter_write('weight','int_zeropos','', + 'Available Points'). + &meta_parameter_write('maxtries','int_pos','', + 'Maximum Number of Tries'). &meta_package_write('part'). &meta_stores_write('solved','string', 'Problem Status'). @@ -241,10 +267,12 @@ sub mandatory_part_meta { 'Number of Attempts'). &meta_stores_write('awarded','float', 'Partial Credit Factor'); -# -# Note: responseid-specific data 'submission' and 'awarddetail' -# not available to spreadsheet -> skip here -# + +Note: responseid-specific data 'submission' and 'awarddetail' +not available to spreadsheet -> skip here + +=cut + } sub meta_part_order { @@ -288,6 +316,7 @@ sub check_for_previous { $previous{'last'}='1'; } if (! $previous{'award'} ) { $previous{'award'} = 'UNKNOWN'; } + if ($previous{'award'} eq 'INTERNAL_ERROR') { $previous{'used'}=0; } &Apache::lonxml::debug("got a match :$previous{'award'}:$previous{'used'}:"); } } @@ -486,9 +515,6 @@ sub start_mathresponse { $safeeval); $Apache::inputtags::answertxt{$id}=[$answer]; } - if ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') { - $result.=&edit_mathresponse_button($id,"HWVAL_$id"); - } } elsif ($target eq 'edit') { $result.=&Apache::edit::tag_start($target,$token); @@ -523,7 +549,7 @@ sub start_mathresponse { sub edit_mathresponse_button { my ($id,$field)=@_; my $button=&mt('Edit Answer'); - my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor'); +# my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor'); my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'}; return(< @@ -533,8 +559,7 @@ function edit_${id}_${field} (textarea) newwin = window.open("/adm/dragmath/applet/MaximaPopup.html","","width=565,height=400,resizable"); } - -$helplink +$button ENDFORMULABUTTON } @@ -576,6 +601,12 @@ sub end_mathresponse { } if ($target eq 'web') { &setup_prior_tries_hash(\&format_prior_response_math); + my $partid = $Apache::inputtags::part; + my $id = $Apache::inputtags::response[-1]; + if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') + && (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { + $result.=&edit_mathresponse_button($id,"HWVAL_$id"); + } } pop(@Apache::lonxml::namespace); @@ -678,7 +709,7 @@ sub start_responseparam { } } if (defined($optionlist)) { - $result.='Use template:
'; } @@ -1146,17 +1177,20 @@ sub pick_foil_for_concept { $Apache::response::conceptgroup{'names'}; } -#------------------------------------------------------------ -# -# Get a parameter associated with a problem. -# Parameters: -# $id - the id of the paramater, either a part id, -# or a partid and responspe id joined by _ -# $name - Name of the parameter to fetch -# $default - Default value for the paramter. -# -# -# + +=pod + +=item get_response_param() + +Get a parameter associated with a problem. +Parameters: + $id - the id of the paramater, either a part id, + or a partid and responspe id joined by _ + $name - Name of the parameter to fetch + $default - Default value for the paramter. + +=cut + sub get_response_param { my ($id,$name,$default)=@_; my $parameter; @@ -1190,7 +1224,7 @@ sub submitted { } # Submit All button on a .page was pressed if (defined($env{'form.all_submit'})) { return 1; } - # otherwise no submission occured + # otherwise no submission occurred return 0; } @@ -1217,14 +1251,21 @@ sub add_to_gradingqueue { } } -# basically undef and 0 (both false) mean that they still have work to do -# and all true values mean that they can't do any more work -# -# a return of undef means it is unattempted -# a return of 0 means it is attmpted and wrong but still has tries -# a return of 1 means it is marked correct -# a return of 2 means they have exceed maximum number of tries -# a return of 3 means it after the answer date +=pod + +=item check_status() + +basically undef and 0 (both false) mean that they still have work to do +and all true values mean that they can't do any more work + + a return of undef means it is unattempted + a return of 0 means it is attmpted and wrong but still has tries + a return of 1 means it is marked correct + a return of 2 means they have exceed maximum number of tries + a return of 3 means it after the answer date + +=cut + sub check_status { my ($id)=@_; if (!defined($id)) { $id=$Apache::inputtags::part; } @@ -1292,3 +1333,8 @@ sub setup_prior_tries_hash { 1; __END__ +=pod + +=back + +=cut