1) {
+ push(@skipped,&mt("[_1]: point value larger than weight","$username:$domain"));
+ }
$grades{"resource.$part.awarded"}=$pcr;
$grades{"resource.$part.solved"}=$award;
$points{$part}=1;
@@ -4362,8 +4400,8 @@ sub displayPage {
&Apache::loncommon::start_data_table_row().
''.$prob.
(scalar(@{$parts}) == 1 ? ''
- : ' ('.&mt('[_1] parts)',
- scalar(@{$parts}))
+ : ' ('.&mt('[_1]parts)',
+ scalar(@{$parts}).' ')
).
' | ';
$studentTable.='';
@@ -4457,6 +4495,7 @@ sub displaySubByDates {
my $interaction;
my $no_increment = 1;
+ my %lastrndseed;
for ($version=1;$version<=$$record{'version'};$version++) {
my $timestamp =
&Apache::lonlocal::locallocaltime($$record{$version.':timestamp'});
@@ -4474,9 +4513,9 @@ sub displaySubByDates {
my @versionKeys = split(/\:/,$$record{$version.':keys'});
my @displaySub = ();
foreach my $partid (@{$parts}) {
- my $hidden;
- if (($$record{$version.':resource.'.$partid.'.type'} eq 'anonsurvey') ||
- ($$record{$version.':resource.'.$partid.'.type'} eq 'anonsurveycred')) {
+ my ($hidden,$type);
+ $type = $$record{$version.':resource.'.$partid.'.type'};
+ if (($type eq 'anonsurvey') || ($type eq 'anonsurveycred')) {
$hidden = 1;
}
my @matchKey = ($isTask ? sort(grep /^resource\.\d+\.\Q$partid\E\.award$/,@versionKeys)
@@ -4499,23 +4538,34 @@ sub displaySubByDates {
if ($hidden) {
$displaySub[0].= &mt('Anonymous Survey').'';
} else {
+ my ($trial,$rndseed,$newvariation);
+ if ($type eq 'randomizetry') {
+ $trial = $$record{"$where.$partid.tries"};
+ $rndseed = $$record{"$where.$partid.rndseed"};
+ }
if ($$record{"$where.$partid.tries"} eq '') {
$displaySub[0].=&mt('Trial not counted');
} else {
$displaySub[0].=&mt('Trial: [_1]',
$$record{"$where.$partid.tries"});
+ if ($rndseed || $lastrndseed{$partid}) {
+ if ($rndseed ne $lastrndseed{$partid}) {
+ $newvariation = ' ('.&mt('New variation this try').')';
+ }
+ }
+ $lastrndseed{$partid} = $rndseed;
}
my $responseType=($isTask ? 'Task'
: $responseType->{$partid}->{$responseId});
if (!exists($orders{$partid})) { $orders{$partid}={}; }
- if (!exists($orders{$partid}->{$responseId})) {
+ if ((!exists($orders{$partid}->{$responseId})) || ($trial)) {
$orders{$partid}->{$responseId}=
&get_order($partid,$responseId,$symb,$uname,$udom,
- $no_increment);
+ $no_increment,$type,$trial,$rndseed);
}
- $displaySub[0].=''; # /nobreak
+ $displaySub[0].=''.$newvariation.''; # /nobreak
$displaySub[0].=' '.
- &cleanRecord($$record{$version.':'.$matchKey},$responseType,$symb,$partid,$responseId,$record,$orders{$partid}->{$responseId},"$version:",$uname,$udom).' ';
+ &cleanRecord($$record{$version.':'.$matchKey},$responseType,$symb,$partid,$responseId,$record,$orders{$partid}->{$responseId},"$version:",$uname,$udom,$type,$trial,$rndseed).' ';
}
}
}
@@ -4614,7 +4664,7 @@ sub updateGradeByPage {
&Apache::loncommon::start_data_table_row().
' | '.$prob.
(scalar(@{$parts}) == 1 ? ''
- : ' ('.&mt('[quant,_1, part]',scalar(@{$parts}))
+ : ' ('.&mt('[quant,_1,part]',scalar(@{$parts}))
.')').' | ';
$studentTable.=' '.$title.' | ';
@@ -8380,32 +8430,32 @@ sub grading_menu {
{ linktext => 'Select individual students to grade',
url => $url1a,
permission => 'F',
- icon => 'edit-find-replace.png',
+ icon => 'grade_students.png',
linktitle => 'Grade current resource for a selection of students.'
},
{ linktext => 'Grade ungraded submissions.',
url => $url1b,
permission => 'F',
- icon => 'edit-find-replace.png',
+ icon => 'ungrade_sub.png',
linktitle => 'Grade all submissions that have not been graded yet.'
},
{ linktext => 'Grading table',
url => $url1c,
permission => 'F',
- icon => 'edit-find-replace.png',
+ icon => 'grading_table.png',
linktitle => 'Grade current resource for all students.'
},
{ linktext => 'Grade page/folder for one student',
url => $url1d,
permission => 'F',
- icon => 'edit-find-replace.png',
+ icon => 'grade_PageFolder.png',
linktitle => 'Grade all resources in current page/sequence/folder for one student.'
},
{ linktext => 'Download submissions',
url => $url1e,
permission => 'F',
- icon => 'edit-find-replace.png',
+ icon => 'download_sub.png',
linktitle => 'Download all students submissions.'
}]},
{ categorytitle=>'Automated Grading',
@@ -8426,13 +8476,13 @@ sub grading_menu {
{ linktext => 'Grade/Manage/Review Bubblesheets',
url => $url4,
permission => 'F',
- icon => 'stat.png',
+ icon => 'bubblesheet.png',
linktitle => 'Grade scantron exams, upload/download scantron data files, and review previously graded scantron exams.'
},
{ linktext => 'Verify Receipt Number',
url => $url5,
permission => 'F',
- icon => 'edit-find-replace.png',
+ icon => 'receipt_number.png',
linktitle => 'Verify a system-generated receipt number for correct problem solution.'
}
@@ -9137,7 +9187,7 @@ sub startpage {
unshift(@$crumbs,{href=>&href_symb_cmd($symb,'gradingmenu'),text=>"Grading"});
$r->print(&Apache::loncommon::start_page('Grading',undef,
{'bread_crumbs' => $crumbs}));
- $r->print(''.$$crumbs[-1]{'text'}.'
');
+ &Apache::lonquickgrades::startGradeScreen($r,'grading');
unless ($nodisplayflag) {
$r->print(&Apache::lonhtmlcommon::resource_info_box($symb,$onlyfolderflag));
}
@@ -9182,9 +9232,9 @@ sub handler {
&Apache::lonenc::check_decrypt(\$symb);
$ssi_error = 0;
- if ($symb eq '' || $command eq '') {
+ if (($symb eq '' || $command eq '') && ($env{'request.course.id'})) {
#
-# Not called from a resource
+# Not called from a resource, but inside a course
#
&startpage($request,undef,[],1,1);
&select_problem($request);
@@ -9330,6 +9380,7 @@ sub handler {
if ($ssi_error) {
&ssi_print_error($request);
}
+ &Apache::lonquickgrades::endGradeScreen($request);
$request->print(&Apache::loncommon::end_page());
&reset_caches();
return '';