--- loncom/homework/grades.pm 2006/01/27 01:52:25 1.306
+++ loncom/homework/grades.pm 2006/02/06 23:39:44 1.309
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.306 2006/01/27 01:52:25 banghart Exp $
+# $Id: grades.pm,v 1.309 2006/02/06 23:39:44 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2418,22 +2418,7 @@ sub version_portfiles {
my ($answer_name,$answer_ver,$answer_ext) =
&file_name_version_ext($answer_file);
my @dir_list = &Apache::lonnet::dirlist($directory,$domain,$stu_name,$portfolio_root);
- foreach my $row (@dir_list) {
- my ($file) = split(/\&/,$row,2);
- my ($file_name,$file_version,$file_ext) =
- &file_name_version_ext($file);
- if (($file_name eq $answer_name) &&
- ($file_ext eq $answer_ext)) {
- # gets here if filename and extension match, regardless of version
- if ($file_version ne '') {
- # a versioned file is found so save it for later
- if ($file_version > $version) {
- $version = $file_version;
- }
- }
- }
- }
- $version++;
+ $version = &get_next_version($answer_name, $answer_ext, \@dir_list);
my $new_answer = &version_selected_portfile($domain, $stu_name, $directory, $answer_file, $version);
if ($new_answer ne 'problem getting file') {
push(@v_portfiles, $directory.$new_answer);
@@ -2449,6 +2434,28 @@ sub version_portfiles {
return 'ok';
}
+sub get_next_version {
+ my ($answer_name, $answer_ext, $dir_list);
+ my $version;
+ foreach my $row (@$dir_list) {
+ my ($file) = split(/\&/,$row,2);
+ my ($file_name,$file_version,$file_ext) =
+ &file_name_version_ext($file);
+ if (($file_name eq $answer_name) &&
+ ($file_ext eq $answer_ext)) {
+ # gets here if filename and extension match, regardless of version
+ if ($file_version ne '') {
+ # a versioned file is found so save it for later
+ if ($file_version > $version) {
+ $version = $file_version;
+ }
+ }
+ }
+ }
+ $version ++;
+ return($version);
+}
+
sub version_selected_portfile {
my ($domain,$stu_name,$directory,$file_name,$version) = @_;
my ($answer_name,$answer_ver,$answer_ext) =
@@ -3319,8 +3326,13 @@ sub csvuploadmap {
unshift(@fields,['none','']);
$i=&Apache::loncommon::csv_samples_select_table($request,\@records,
\@fields);
- my %sone=&Apache::loncommon::record_sep($records[0]);
- $keyfields=join(',',sort(keys(%sone)));
+ foreach my $rec (@records) {
+ my %temp = &Apache::loncommon::record_sep($rec);
+ if (%temp) {
+ $keyfields=join(',',sort(keys(%temp)));
+ last;
+ }
+ }
}
}
&csvuploadmap_footer($request,$i,$keyfields);
@@ -4086,11 +4098,11 @@ sub scantron_CODElist {
sub scantron_CODEunique {
my $result='
+ value="yes" checked="checked" /> Yes
+ value="no" /> No
';
return $result;
}