version 1.342, 2006/03/28 00:46:20
|
version 1.347, 2006/04/03 20:45:38
|
Line 1517 sub handback_box {
|
Line 1517 sub handback_box {
|
next if (!@$files); |
next if (!@$files); |
my $file_counter = 1; |
my $file_counter = 1; |
foreach my $file (@$files) { |
foreach my $file (@$files) { |
my ($file_disp) = ($file =~ m|.+/(.+)$|); |
my ($file_path, $file_disp) = ($file =~ m|(.+/)(.+)$|); |
|
my ($name,$version,$ext) = &file_name_version_ext($file_disp); |
|
$file_disp = "$name.$ext"; |
|
$file = $file_path.$file_disp; |
$result.=&mt('Return commented version of [_1] to student.', |
$result.=&mt('Return commented version of [_1] to student.', |
'<span class="filename">'.$file_disp.'</span>'); |
'<span class="filename">'.$file_disp.'</span>'); |
$result.='<input type="file" name="'.$prefix.'returndoc'.$file_counter.'" />'."\n"; |
$result.='<input type="file" name="'.$prefix.'returndoc'.$file_counter.'" />'."\n"; |
Line 2326 sub saveHandGrade {
|
Line 2329 sub saveHandGrade {
|
my $partial= $pts/$wgt; |
my $partial= $pts/$wgt; |
if ($partial eq $record{'resource.'.$new_part.'.awarded'}) { |
if ($partial eq $record{'resource.'.$new_part.'.awarded'}) { |
#do not update score for part if not changed. |
#do not update score for part if not changed. |
|
&handback_files($request,$symb,$stuname,$domain,$newflg,$new_part,\%newrecord); |
next; |
next; |
} else { |
} else { |
push @parts_graded, $new_part; |
push @parts_graded, $new_part; |
Line 2362 sub saveHandGrade {
|
Line 2366 sub saveHandGrade {
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
|
if (scalar(keys(%newrecord)) > 0) { |
if (%newrecord) { |
if (scalar(@version_parts)) { |
if (@version_parts) { |
&version_portfiles(\%record, \%newrecord, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname, \@version_parts); |
my @changed_keys = &version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname, \@version_parts); |
|
@newrecord{@changed_keys} = @record{@changed_keys}; |
} |
} |
&Apache::lonnet::cstore(\%newrecord,$symb, |
&Apache::lonnet::cstore(\%newrecord,$symb, |
$env{'request.course.id'},$domain,$stuname); |
$env{'request.course.id'},$domain,$stuname); |
Line 2504 sub get_last_resets {
|
Line 2509 sub get_last_resets {
|
|
|
# ----------- Handles creating versions for portfolio files as answers |
# ----------- Handles creating versions for portfolio files as answers |
sub version_portfiles { |
sub version_portfiles { |
my ($record, $newrecord, $parts_graded, $courseid, $symb, $domain, $stu_name, $v_flag) = @_; |
my ($record, $parts_graded, $courseid, $symb, $domain, $stu_name, $v_flag) = @_; |
my $version_parts = join('|',@$v_flag); |
my $version_parts = join('|',@$v_flag); |
|
my @returned_keys; |
my $parts = join('|', @$parts_graded); |
my $parts = join('|', @$parts_graded); |
my $portfolio_root = &Apache::loncommon::propath($domain, |
my $portfolio_root = &Apache::loncommon::propath($domain, |
$stu_name). |
$stu_name). |
Line 2530 sub version_portfiles {
|
Line 2536 sub version_portfiles {
|
[$symb,$env{'request.course.id'},'graded']); |
[$symb,$env{'request.course.id'},'graded']); |
} |
} |
} |
} |
$$newrecord{$key} = join(',',@versioned_portfiles); |
$$record{$key} = join(',',@versioned_portfiles); |
|
push(@returned_keys,$key); |
} |
} |
} |
} |
return 'ok'; |
return (@returned_keys); |
} |
} |
|
|
sub get_next_version { |
sub get_next_version { |
Line 3507 sub csvuploadassign {
|
Line 3514 sub csvuploadassign {
|
my ($request)= @_; |
my ($request)= @_; |
my ($symb)=&get_symb($request); |
my ($symb)=&get_symb($request); |
if (!$symb) {return '';} |
if (!$symb) {return '';} |
|
my $error_msg = ''; |
&Apache::loncommon::load_tmp_file($request); |
&Apache::loncommon::load_tmp_file($request); |
my @gradedata = &Apache::loncommon::upfile_record_sep(); |
my @gradedata = &Apache::loncommon::upfile_record_sep(); |
if ($env{'form.noFirstLine'}) { shift(@gradedata); } |
if ($env{'form.noFirstLine'}) { shift(@gradedata); } |
Line 3559 sub csvuploadassign {
|
Line 3567 sub csvuploadassign {
|
my $part=$1; |
my $part=$1; |
my $wgt =&Apache::lonnet::EXT('resource.'.$part.'.weight', |
my $wgt =&Apache::lonnet::EXT('resource.'.$part.'.weight', |
$symb,$domain,$username); |
$symb,$domain,$username); |
$entries{$fields{$dest}}=~s/\s//g; |
if ($wgt) { |
my $pcr=$entries{$fields{$dest}} / $wgt; |
$entries{$fields{$dest}}=~s/\s//g; |
my $award='correct_by_override'; |
my $pcr=$entries{$fields{$dest}} / $wgt; |
$grades{"resource.$part.awarded"}=$pcr; |
my $award='correct_by_override'; |
$grades{"resource.$part.solved"}=$award; |
$grades{"resource.$part.awarded"}=$pcr; |
$points{$part}=1; |
$grades{"resource.$part.solved"}=$award; |
|
$points{$part}=1; |
|
} else { |
|
$error_msg = "<br />" . |
|
&mt("Some point values were assigned" |
|
." for problems with a weight " |
|
."of zero. These values were " |
|
."ignored."); |
|
} |
} else { |
} else { |
if ($dest=~/stores_(.*)_awarded/) { if ($points{$1}) {next;} } |
if ($dest=~/stores_(.*)_awarded/) { if ($points{$1}) {next;} } |
if ($dest=~/stores_(.*)_solved/) { if ($points{$1}) {next;} } |
if ($dest=~/stores_(.*)_solved/) { if ($points{$1}) {next;} } |
Line 3604 sub csvuploadassign {
|
Line 3620 sub csvuploadassign {
|
} |
} |
$request->print("<br />\n"); |
$request->print("<br />\n"); |
$request->print(&show_grading_menu_form($symb)); |
$request->print(&show_grading_menu_form($symb)); |
return ''; |
return $error_msg; |
} |
} |
#------------- end of section for handling csv file upload --------- |
#------------- end of section for handling csv file upload --------- |
# |
# |