--- loncom/homework/grades.pm 2005/02/01 21:03:13 1.240
+++ loncom/homework/grades.pm 2005/02/12 02:37:00 1.243
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.240 2005/02/01 21:03:13 albertel Exp $
+# $Id: grades.pm,v 1.243 2005/02/12 02:37:00 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2655,15 +2655,17 @@ sub csvupload_javascript_reverse_associa
function verify(vf) {
var foundsomething=0;
var founduname=0;
+ var foundID=0;
var founddomain=0;
for (i=0;i<=vf.nfields.value;i++) {
tw=eval('vf.f'+i+'.selectedIndex');
- if (i==0 && tw!=0) { founduname=1; }
- if (i==1 && tw!=0) { founddomain=1; }
- if (i!=0 && i!=1 && tw!=0) { foundsomething=1; }
+ if (i==0 && tw!=0) { foundID=1; }
+ if (i==1 && tw!=0) { founduname=1; }
+ if (i==2 && tw!=0) { founddomain=1; }
+ if (i!=0 && i!=1 && i!=2 && tw!=0) { foundsomething=1; }
}
- if (founduname==0 || founddomain==0) {
- alert('You need to specify at both the username and domain');
+ if ((founduname==0 && foundID==0) || founddomain==0) {
+ alert('You need to specify the domain and either the username or ID');
return;
}
if (foundsomething==0) {
@@ -2693,15 +2695,17 @@ sub csvupload_javascript_forward_associa
function verify(vf) {
var foundsomething=0;
var founduname=0;
+ var foundID=0;
var founddomain=0;
for (i=0;i<=vf.nfields.value;i++) {
tw=eval('vf.f'+i+'.selectedIndex');
- if (tw==1) { founduname=1; }
- if (tw==2) { founddomain=1; }
- if (tw>2) { foundsomething=1; }
+ if (tw==1) { foundID=1; }
+ if (tw==2) { founduname=1; }
+ if (tw==3) { founddomain=1; }
+ if (tw>3) { foundsomething=1; }
}
- if (founduname==0 || founddomain==0) {
- alert('You need to specify at both the username and domain');
+ if ((founduname==0 && foundID==0) || founddomain==0) {
+ alert('You need to specify the domain and either the username or ID');
return;
}
if (foundsomething==0) {
@@ -2768,7 +2772,9 @@ ENDPICK
sub csvupload_fields {
my ($url,$symb) = @_;
my (@parts) = &getpartlist($url,$symb);
- my @fields=(['username','Student Username'],['domain','Student Domain']);
+ my @fields=(['ID','Student ID'],
+ ['username','Student Username'],
+ ['domain','Student Domain']);
foreach my $part (sort(@parts)) {
my @datum;
my $display=&Apache::lonnet::metadata($url,$part.'.display');
@@ -2899,10 +2905,15 @@ sub csvuploadassign {
my $countdone=0;
foreach my $grade (@gradedata) {
my %entries=&Apache::loncommon::record_sep($grade);
- my $username=$entries{$fields{'username'}};
- $username=~s/\s//g;
my $domain=$entries{$fields{'domain'}};
$domain=~s/\s//g;
+ my $username=$entries{$fields{'username'}};
+ $username=~s/\s//g;
+ if (!$username) {
+ my $id=$entries{$fields{'ID'}};
+ my %ids=&Apache::lonnet::idget($domain,$id);
+ $username=$ids{$id};
+ }
if (!exists($$classlist{"$username:$domain"})) {
push(@skipped,"$username:$domain");
next;
@@ -3063,13 +3074,12 @@ sub getSymbMap {
my @sequences = $navmap->retrieveResources(undef, sub { shift->is_map(); },
1,0,1);
for my $sequence ($navmap->getById('0.0'), @sequences) {
-# if ($navmap->hasResource($sequence, sub { shift->is_problem(); }, 0) ) {
- Apache->request->print($sequence->map_pc()."
");
+ if ($navmap->hasResource($sequence, sub { shift->is_problem(); }, 0) ) {
my $title = $minder.'.'.$sequence->compTitle();
push @titles, $title; # minder in case two titles are identical
$symbx{$title} = $sequence->symb();
$minder++;
-# }
+ }
}
return \@titles,\%symbx;
}
@@ -4327,6 +4337,12 @@ sub scantron_get_correction {
$r->print(" in scanline $i
". $line."\n"); } + my $message="
The ID on the form is ".
+ $$scan_record{'scantron.ID'}."
\n".
+ "The name on the paper is ".
+ $$scan_record{'scantron.LastName'}.",".
+ $$scan_record{'scantron.FirstName'}."
The ID on the form is ".
- $$scan_record{'scantron.ID'}."
\n");
- $r->print("The name on the paper is ".
- $$scan_record{'scantron.LastName'}.",".
- $$scan_record{'scantron.FirstName'}."
How should I handle this?
\n");
$r->print("\n
The CODE on the form is '".
$$scan_record{'scantron.CODE'}."'
\n");
- $r->print("
The ID on the form is ".
- $$scan_record{'scantron.ID'}."
\n");
- $r->print("The name on the paper is ".
- $$scan_record{'scantron.LastName'}.",".
- $$scan_record{'scantron.FirstName'}."
How should I handle this?
\n");
$r->print("\n
");
my $i=0;
@@ -4406,6 +4414,7 @@ ENDSCRIPT
$r->print("
There have been multiple bubbles scanned for a some question(s)
\n"); $r->print(''); + $r->print($message); $r->print("Please indicate which bubble should be used for grading
"); foreach my $question (@{$arg}) { my $selected=$$scan_record{"scantron.$question.answer"}; @@ -4413,6 +4422,7 @@ ENDSCRIPT } } elsif ($error eq 'missingbubble') { $r->print("There have been no bubbles scanned for some question(s)
\n"); + $r->print($message); $r->print("Please indicate which bubble should be used for grading
"); $r->print("Some questions have no scanned bubbles\n"); $r->print('