--- loncom/homework/grades.pm 2010/04/01 01:00:28 1.574.2.9
+++ loncom/homework/grades.pm 2009/05/28 14:30:04 1.577
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.574.2.9 2010/04/01 01:00:28 raeburn Exp $
+# $Id: grades.pm,v 1.577 2009/05/28 14:30:04 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -97,15 +97,9 @@ sub ssi_print_error {
#
# --- Retrieve the parts from the metadata file.---
sub getpartlist {
- my ($symb,$errorref) = @_;
+ my ($symb) = @_;
my $navmap = Apache::lonnavmaps::navmap->new();
- unless (ref($navmap)) {
- if (ref($errorref)) {
- $$errorref = 'navmap';
- return;
- }
- }
my $res = $navmap->getBySymb($symb);
my $partlist = $res->parts();
my $url = $res->src();
@@ -150,15 +144,9 @@ sub nameUserString {
#--- Get the partlist and the response type for a given problem. ---
#--- Indicate if a response type is coded handgraded or not. ---
sub response_type {
- my ($symb,$response_error) = @_;
+ my ($symb) = shift;
my $navmap = Apache::lonnavmaps::navmap->new();
- unless (ref($navmap)) {
- if (ref($response_error)) {
- $$response_error = 1;
- }
- return;
- }
my $res = $navmap->getBySymb($symb);
my $partlist = $res->parts();
my %vPart =
@@ -195,7 +183,8 @@ sub get_display_part {
my ($partID,$symb)=@_;
my $display=&Apache::lonnet::EXT('resource.'.$partID.'.display',$symb);
if (defined($display) and $display ne '') {
- $display.= " (id $partID )";
+ $display.= ' ('
+ .&mt('Part ID: [_1]',$partID).' )';
} else {
$display=$partID;
}
@@ -205,17 +194,12 @@ sub get_display_part {
#--- Show resource title
#--- and parts and response type
sub showResourceInfo {
- my ($symb,$probTitle,$checkboxes,$res_error) = @_;
+ my ($symb,$probTitle,$checkboxes) = @_;
my $col=3;
if ($checkboxes) { $col=4; }
my $result = '
'.&mt('Current Resource').': '.$probTitle.' '."\n";
- my ($partlist,$handgrade,$responseType) = &response_type($symb,$res_error);
- if (ref($res_error)) {
- if ($$res_error) {
- return;
- }
- }
$result .='';
+ my ($partlist,$handgrade,$responseType) = &response_type($symb);
my %resptype = ();
my $hdgrade='no';
my %partsseen;
@@ -234,9 +218,9 @@ sub showResourceInfo {
$partsseen{$partID}=1;
}
my $display_part=&get_display_part($partID,$symb);
- $result.=''.&mt('Part').': '.$display_part.
+ $result.=''.&mt('Part: [_1]',$display_part).' '.
' '.$resID.' '.
- ''.&mt('Type').': '.$responsetype.' ';
+ ''.&mt('Type: [_1]',$responsetype).' ';
# ''.&mt('Handgrade: [_1]',$handgrade).' ';
}
}
@@ -783,13 +767,7 @@ sub verifyreceipt {
if ($env{"course.$courseid.receiptalg"} eq 'receipt2' ||
$env{"course.$courseid.receiptalg"} eq 'receipt3') { $receiptparts=1; }
my $parts=['0'];
- if ($receiptparts) {
- my $res_error;
- ($parts)=&response_type($symb,\$res_error);
- if ($res_error) {
- return &navmap_errormsg();
- }
- }
+ if ($receiptparts) { ($parts)=&response_type($symb); }
my $header =
&Apache::loncommon::start_data_table().
@@ -1754,8 +1732,11 @@ sub gradeBox {
}
$line.=''.&mt('reset status').' '."\n";
+
+ #&mt('Part: [_1] Points: [_2] or [_3] ',$display_part,$radio,$line);
$result .=
- ''.&mt('Part').': '.$display_part.' '.&mt('Points').': '.$radio.' '.&mt('or').' '.$line.' ';
+ ''.&mt('Part:').' '.$display_part.' '.&mt('Points:').' '.$radio.' '.&mt('or').' '.$line.' '.
+
$result.='
'."\n";
$result.=' '."\n".
' '."\n".
@@ -1765,19 +1746,15 @@ sub gradeBox {
$$record{'resource.'.$partid.'.tries'}.'" />'."\n".
' '."\n";
- my $res_error;
- $result.=&handback_box($symb,$uname,$udom,$counter,$partid,$record,\$res_error);
- if ($res_error) {
- return &navmap_errormsg();
- }
+ $result.=&handback_box($symb,$uname,$udom,$counter,$partid,$record);
return $result;
}
sub handback_box {
- my ($symb,$uname,$udom,$counter,$partid,$record,$res_error) = @_;
- my ($partlist,$handgrade,$responseType) = &response_type($symb,$res_error);
+ my ($symb,$uname,$udom,$counter,$partid,$record) = @_;
+ my ($partlist,$handgrade,$responseType) = &response_type($symb);
my (@respids);
- my @part_response_id = &flatten_responseType($responseType);
+ my @part_response_id = &flatten_responseType($responseType);
foreach my $part_response_id (@part_response_id) {
my ($part,$resp) = @{ $part_response_id };
if ($part eq $partid) {
@@ -2070,12 +2047,7 @@ KEYWORDS
}
my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},$udom,$uname);
- my $res_error;
- my ($partlist,$handgrade,$responseType) = &response_type($symb,\$res_error);
- if ($res_error) {
- $request->print(&navmap_errormsg());
- return;
- }
+ my ($partlist,$handgrade,$responseType) = &response_type($symb);
# Display student info
$request->print(($counter == 0 ? '' : ' '));
@@ -2142,9 +2114,11 @@ KEYWORDS
}
my $responsetype = $responseType->{$partid}->{$respid};
if (!exists($record{"resource.$partid.$respid.submission"})) {
- $lastsubonly.="\n".'Part: '.
- $display_part.'
( ID '.$respid.
- ' ) '.
+ $lastsubonly.="\n".'
'.
+ ''.&mt('Part: [_1]',$display_part).' '.
+ ' '.
+ '('.&mt('Part ID: [_1]',$respid).')'.
+ ' '.
''.&mt('Nothing submitted - no attempts.').'
';
next;
}
@@ -2180,9 +2154,11 @@ KEYWORDS
($env{'form.lastSub'} eq 'hdgrade' &&
$$handgrade{$$part[0].'_'.$$part[1]} eq 'yes')) {
my $display_part=&get_display_part($partid,$symb);
- $lastsubonly.='
Part: '.
- $display_part.'
( ID '.$respid.
- ' ) ';
+ $lastsubonly.='
'.
+ '
'.&mt('Part: [_1]',$display_part).' '.
+ '
'.
+ '('.&mt('Part ID: [_1]',$respid).')'.
+ ' ';
my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record);
if (@$files) {
$lastsubonly.='
'.&mt('Like all files provided by users, this file may contain viruses').' ';
@@ -2325,7 +2301,7 @@ KEYWORDS
'
7 10 '."\n";
my $nsel = ($env{'form.NTSTU'} ne '' ? $env{'form.NTSTU'} : '1');
$ntstu =~ s/
$nsel $nsel;
- $endform.=&mt('[_1]student(s)',$ntstu);
+ $endform.=&mt('[quant,_1,student]',$ntstu);
$endform.=' '."\n".
' print(&navmap_errormsg());
- return;
- }
+ my ($partlist) = &response_type($symb);
foreach my $student (@parsedlist) {
my $submitonly=$env{'form.submitonly'};
my ($uname,$udom) = split(/:/,$student);
@@ -2825,12 +2796,8 @@ sub check_and_remove_from_queue {
sub handback_files {
my ($request,$symb,$stuname,$domain,$newflg,$new_part,$newrecord) = @_;
my $portfolio_root = '/userfiles/portfolio';
- my $res_error;
- my ($partlist,$handgrade,$responseType) = &response_type($symb,\$res_error);
- if ($res_error) {
- $request->print(' '.&navmap_errormsg().' ');
- return;
- }
+ my ($partlist,$handgrade,$responseType) = &response_type($symb);
+
my @part_response_id = &flatten_responseType($responseType);
foreach my $part_response_id (@part_response_id) {
my ($part_id,$resp_id) = @{ $part_response_id };
@@ -3288,11 +3255,7 @@ sub viewgrades {
$result.= ''.$common_header.' '.&Apache::loncommon::start_data_table();
#radio buttons/text box for assigning points for a section or class.
#handles different parts of a problem
- my $res_error;
- my ($partlist,$handgrade,$responseType) = &response_type($symb,\$res_error);
- if ($res_error) {
- return &navmap_errormsg();
- }
+ my ($partlist,$handgrade,$responseType) = &response_type($symb);
my %weight = ();
my $ctsparts = 0;
my %seen = ();
@@ -3336,7 +3299,7 @@ sub viewgrades {
$result.=
&Apache::loncommon::start_data_table_row()."\n".
- ''.&mt('Part').': '.$display_part.' '.&mt('Points').': '.$radio.' '.&mt('or').' '.$line.' '.
+ ''.&mt('Part:').' '.$display_part.' '.&mt('Points:').' '.$radio.' '.&mt('or').' '.$line.' '.
&Apache::loncommon::end_data_table_row()."\n";
$ctsparts++;
}
@@ -3352,11 +3315,7 @@ sub viewgrades {
&Apache::loncommon::start_data_table_header_row().
''.&mt('No.').' '.
''.&nameUserString('header')." \n";
- my $partserror;
- my (@parts) = sort(&getpartlist($symb,\$partserror));
- if ($partserror) {
- return &navmap_errormsg();
- }
+ my (@parts) = sort(&getpartlist($symb));
my (undef,undef,$url)=&Apache::lonnet::decode_symb($symb);
my @partids = ();
foreach my $part (@parts) {
@@ -3515,11 +3474,7 @@ sub editgrades {
my %columns = ();
my ($i,$ctr,$count,$rec_update) = (0,0,0,0);
- my $partserror;
- my (@parts) = sort(&getpartlist($symb,\$partserror));
- if ($partserror) {
- return &navmap_errormsg();
- }
+ my (@parts) = sort(&getpartlist($symb));
my $header;
while ($ctr < $env{'form.totalparts'}) {
my $partid = $env{'form.partid_'.$ctr};
@@ -3852,14 +3807,7 @@ ENDPICK
sub csvupload_fields {
my ($symb) = @_;
- my ($symb,$errorref) = @_;
- my (@parts) = &getpartlist($symb,$errorref);
- if (ref($errorref)) {
- if ($$errorref) {
- return;
- }
- }
-
+ my (@parts) = &getpartlist($symb);
my @fields=(['ID','Student/Employee ID'],
['username','Student Username'],
['domain','Student Domain']);
@@ -3959,12 +3907,8 @@ sub csvuploadmap {
&csvuploadmap_header($request,$symb,$datatoken,$#records+1);
my ($i,$keyfields);
if (@records) {
- my $fieldserror;
- my @fields=&csvupload_fields($symb,\$fieldserror);
- if ($fieldserror) {
- $request->print(&navmap_errormsg());
- return;
- }
+ my @fields=&csvupload_fields($symb);
+
if ($env{'form.upfile_associate'} eq 'reverse') {
&Apache::loncommon::csv_print_samples($request,\@records);
$i=&Apache::loncommon::csv_print_select_table($request,\@records,
@@ -4200,12 +4144,7 @@ LISTJAVASCRIPT
&mt('Manual Grading by Page or Sequence').'';
$result.='