version 1.278, 2005/08/12 21:33:41
|
version 1.289, 2005/09/23 16:57:42
|
Line 471 sub most_similar {
|
Line 471 sub most_similar {
|
|
|
$uessay=~s/\W+/ /gs; |
$uessay=~s/\W+/ /gs; |
|
|
|
# ignore empty submissions (occuring when only files are sent) |
|
|
|
unless ($uessay=~/\w+/) { return ''; } |
|
|
# these will be returned. Do not care if not at least 50 percent similar |
# these will be returned. Do not care if not at least 50 percent similar |
my $limit=0.6; |
my $limit=0.6; |
my $sname=''; |
my $sname=''; |
Line 1366 sub gradeBox {
|
Line 1370 sub gradeBox {
|
my $ctr = 0; |
my $ctr = 0; |
$result.='<table border="0"><tr>'."\n"; # display radio buttons in a nice table 10 across |
$result.='<table border="0"><tr>'."\n"; # display radio buttons in a nice table 10 across |
while ($ctr<=$wgt) { |
while ($ctr<=$wgt) { |
$result.= '<td><nobr><input type="radio" name="RADVAL'.$counter.'_'.$partid.'" '. |
$result.= '<td><nobr><label><input type="radio" name="RADVAL'.$counter.'_'.$partid.'" '. |
'onclick="javascript:writeBox(this.form,\''.$counter.'_'.$partid.'\','. |
'onclick="javascript:writeBox(this.form,\''.$counter.'_'.$partid.'\','. |
$ctr.')" value="'.$ctr.'" '. |
$ctr.')" value="'.$ctr.'" '. |
($score eq $ctr ? 'checked':'').' /> '.$ctr."</nobr></td>\n"; |
($score eq $ctr ? 'checked':'').' /> '.$ctr."</label></nobr></td>\n"; |
$result.=(($ctr+1)%10 == 0 ? '</tr><tr>' : ''); |
$result.=(($ctr+1)%10 == 0 ? '</tr><tr>' : ''); |
$ctr++; |
$ctr++; |
} |
} |
Line 2328 sub version_portfiles {
|
Line 2332 sub version_portfiles {
|
} else { |
} else { |
my $copy_result = &Apache::lonnet::finishuserfileupload($stuname,$domain,'copy', |
my $copy_result = &Apache::lonnet::finishuserfileupload($stuname,$domain,'copy', |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
push(@v_portfiles, $answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
push(@v_portfiles, $directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
['/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]], |
['/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]], |
[$symb,$env{'request.course.id'},'graded']); |
[$symb,$env{'request.course.id'},'graded']); |
Line 2390 sub viewgrades_js {
|
Line 2394 sub viewgrades_js {
|
} |
} |
for (i=0;i<document.classgrade.total.value;i++) { |
for (i=0;i<document.classgrade.total.value;i++) { |
var user = document.classgrade["ctr"+i].value; |
var user = document.classgrade["ctr"+i].value; |
|
user = user.replace(new RegExp(':', 'g'),"_"); |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
Line 2417 sub viewgrades_js {
|
Line 2422 sub viewgrades_js {
|
|
|
for (i=0;i<document.classgrade.total.value;i++) { |
for (i=0;i<document.classgrade.total.value;i++) { |
var user = document.classgrade["ctr"+i].value; |
var user = document.classgrade["ctr"+i].value; |
|
user = user.replace(new RegExp(':', 'g'),"_"); |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
Line 2434 sub viewgrades_js {
|
Line 2440 sub viewgrades_js {
|
} else { |
} else { |
for (i=0;i<document.classgrade.total.value;i++) { |
for (i=0;i<document.classgrade.total.value;i++) { |
var user = document.classgrade["ctr"+i].value; |
var user = document.classgrade["ctr"+i].value; |
|
user = user.replace(new RegExp(':', 'g'),"_"); |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
Line 2492 sub viewgrades_js {
|
Line 2499 sub viewgrades_js {
|
|
|
for (i=0;i<document.classgrade.total.value;i++) { |
for (i=0;i<document.classgrade.total.value;i++) { |
var user = document.classgrade["ctr"+i].value; |
var user = document.classgrade["ctr"+i].value; |
|
user = user.replace(new RegExp(':', 'g'),"_"); |
var resetscore = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var resetscore = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
resetscore.value = document.classgrade["GD_"+user+"_"+partid+"_awarded_s"].value; |
resetscore.value = document.classgrade["GD_"+user+"_"+partid+"_awarded_s"].value; |
var resettries = document.classgrade["GD_"+user+"_"+partid+"_tries"]; |
var resettries = document.classgrade["GD_"+user+"_"+partid+"_tries"]; |
Line 2575 sub viewgrades {
|
Line 2583 sub viewgrades {
|
$result.='<table border="0"><tr>'; |
$result.='<table border="0"><tr>'; |
my $ctr = 0; |
my $ctr = 0; |
while ($ctr<=$weight{$partid}) { # display radio buttons in a nice table 10 across |
while ($ctr<=$weight{$partid}) { # display radio buttons in a nice table 10 across |
$result.= '<td><input type="radio" name="RADVAL_'.$partid.'" '. |
$result.= '<td><label><input type="radio" name="RADVAL_'.$partid.'" '. |
'onclick="javascript:writePoint(\''.$partid.'\','.$weight{$partid}. |
'onclick="javascript:writePoint(\''.$partid.'\','.$weight{$partid}. |
','.$ctr.')" />'.$ctr."</td>\n"; |
','.$ctr.')" />'.$ctr."</label></td>\n"; |
$result.=(($ctr+1)%10 == 0 ? '</tr><tr>' : ''); |
$result.=(($ctr+1)%10 == 0 ? '</tr><tr>' : ''); |
$ctr++; |
$ctr++; |
} |
} |
Line 2656 sub viewgrades {
|
Line 2664 sub viewgrades {
|
sub viewstudentgrade { |
sub viewstudentgrade { |
my ($url,$symb,$courseid,$student,$fullname,$parts,$weight,$ctr,$last_resets) = @_; |
my ($url,$symb,$courseid,$student,$fullname,$parts,$weight,$ctr,$last_resets) = @_; |
my ($uname,$udom) = split(/:/,$student); |
my ($uname,$udom) = split(/:/,$student); |
$student=~s/:/_/; |
|
my %record=&Apache::lonnet::restore($symb,$courseid,$udom,$uname); |
my %record=&Apache::lonnet::restore($symb,$courseid,$udom,$uname); |
my %aggregates = (); |
my %aggregates = (); |
my $result='<tr bgcolor="#ffffdd"><td align="right">'. |
my $result='<tr bgcolor="#ffffdd"><td align="right">'. |
Line 2665 sub viewstudentgrade {
|
Line 2672 sub viewstudentgrade {
|
'<a href="javascript:viewOneStudent(\''.$uname.'\',\''.$udom. |
'<a href="javascript:viewOneStudent(\''.$uname.'\',\''.$udom. |
'\')"; TARGET=_self>'.$fullname.'</a> '. |
'\')"; TARGET=_self>'.$fullname.'</a> '. |
'<font color="#999999">('.$uname.($env{'user.domain'} eq $udom ? '' : ':'.$udom).')</font></td>'."\n"; |
'<font color="#999999">('.$uname.($env{'user.domain'} eq $udom ? '' : ':'.$udom).')</font></td>'."\n"; |
|
$student=~s/:/_/; # colon doen't work in javascript for names |
foreach my $apart (@$parts) { |
foreach my $apart (@$parts) { |
my ($part,$type) = &split_part_type($apart); |
my ($part,$type) = &split_part_type($apart); |
my $score=$record{"resource.$part.$type"}; |
my $score=$record{"resource.$part.$type"}; |
Line 2786 sub editgrades {
|
Line 2794 sub editgrades {
|
for ($i=0; $i<$env{'form.total'}; $i++) { |
for ($i=0; $i<$env{'form.total'}; $i++) { |
my $line; |
my $line; |
my $user = $env{'form.ctr'.$i}; |
my $user = $env{'form.ctr'.$i}; |
my $usercolon = $user; |
my ($uname,$udom)=split(/:/,$user); |
$usercolon =~s/_/:/; |
|
my ($uname,$udom)=split(/_/,$user); |
|
my %newrecord; |
my %newrecord; |
my $updateflag = 0; |
my $updateflag = 0; |
$line .= '<td>'.&nameUserString(undef,$$fullname{$usercolon},$uname,$udom).'</td>'; |
$line .= '<td>'.&nameUserString(undef,$$fullname{$user},$uname,$udom).'</td>'; |
my $usec=$classlist->{"$uname:$udom"}[5]; |
my $usec=$classlist->{"$uname:$udom"}[5]; |
if (!&canmodify($usec)) { |
if (!&canmodify($usec)) { |
my $numcols=scalar(@partid)*4+2; |
my $numcols=scalar(@partid)*4+2; |
Line 2800 sub editgrades {
|
Line 2806 sub editgrades {
|
} |
} |
my %aggregate = (); |
my %aggregate = (); |
my $aggregateflag = 0; |
my $aggregateflag = 0; |
|
$user=~s/:/_/; # colon doen't work in javascript for names |
foreach (@partid) { |
foreach (@partid) { |
my $old_aw = $env{'form.GD_'.$user.'_'.$_.'_awarded_s'}; |
my $old_aw = $env{'form.GD_'.$user.'_'.$_.'_awarded_s'}; |
my $old_part_pcr = $old_aw/($weight{$_} ne '0' ? $weight{$_}:1); |
my $old_part_pcr = $old_aw/($weight{$_} ne '0' ? $weight{$_}:1); |
Line 3062 sub csvuploadmap_footer {
|
Line 3069 sub csvuploadmap_footer {
|
ENDPICK |
ENDPICK |
} |
} |
|
|
sub upcsvScores_form { |
sub checkforfile_js { |
my ($request) = shift; |
|
my ($symb,$url)=&get_symb_and_url($request); |
|
if (!$symb) {return '';} |
|
my $result =<<CSVFORMJS; |
my $result =<<CSVFORMJS; |
<script type="text/javascript" language="javascript"> |
<script type="text/javascript" language="javascript"> |
function checkUpload(formname) { |
function checkUpload(formname) { |
Line 3077 sub upcsvScores_form {
|
Line 3081 sub upcsvScores_form {
|
} |
} |
</script> |
</script> |
CSVFORMJS |
CSVFORMJS |
|
return $result; |
|
} |
|
|
|
sub upcsvScores_form { |
|
my ($request) = shift; |
|
my ($symb,$url)=&get_symb_and_url($request); |
|
if (!$symb) {return '';} |
|
my $result=&checkforfile_js(); |
$env{'form.probTitle'} = &Apache::lonnet::gettitle($symb); |
$env{'form.probTitle'} = &Apache::lonnet::gettitle($symb); |
my ($table) = &showResourceInfo($url,$env{'form.probTitle'}); |
my ($table) = &showResourceInfo($url,$env{'form.probTitle'}); |
$result.=$table; |
$result.=$table; |
Line 3096 CSVFORMJS
|
Line 3108 CSVFORMJS
|
<input type="hidden" name="saveState" value="$env{'form.saveState'}" /> |
<input type="hidden" name="saveState" value="$env{'form.saveState'}" /> |
$upfile_select |
$upfile_select |
<br /><input type="button" onClick="javascript:checkUpload(this.form);" value="Upload Scores" /> |
<br /><input type="button" onClick="javascript:checkUpload(this.form);" value="Upload Scores" /> |
<label><input type="checkbox" name="noFirstLine" />$ignore</lable> |
<label><input type="checkbox" name="noFirstLine" />$ignore</label> |
</form> |
</form> |
ENDUPFORM |
ENDUPFORM |
$result.='</td></tr></table>'."\n"; |
$result.='</td></tr></table>'."\n"; |
Line 3357 LISTJAVASCRIPT
|
Line 3369 LISTJAVASCRIPT
|
$result.='<input type="hidden" name="page" />'."\n". |
$result.='<input type="hidden" name="page" />'."\n". |
'<input type="hidden" name="title" />'."\n"; |
'<input type="hidden" name="title" />'."\n"; |
|
|
$result.=' <b>View Problems Text: </b><input type="radio" name="vProb" value="no" checked="on" /> no '."\n". |
$result.=' <b>View Problems Text: </b><label><input type="radio" name="vProb" value="no" checked="on" /> no </label>'."\n". |
'<input type="radio" name="vProb" value="yes" /> yes '."<br>\n"; |
'<label><input type="radio" name="vProb" value="yes" /> yes </label>'."<br />\n"; |
|
|
$result.=' <b>Submission Details: </b>'. |
$result.=' <b>Submission Details: </b>'. |
'<input type="radio" name="lastSub" value="none" /> none'."\n". |
'<label><input type="radio" name="lastSub" value="none" /> none</label>'."\n". |
'<input type="radio" name="lastSub" value="datesub" checked /> by dates and submissions'."\n". |
'<label><input type="radio" name="lastSub" value="datesub" checked /> by dates and submissions</label>'."\n". |
'<input type="radio" name="lastSub" value="all" /> all details'."\n"; |
'<label><input type="radio" name="lastSub" value="all" /> all details</label>'."\n"; |
|
|
$result.='<input type="hidden" name="section" value="'.$getsec.'" />'."\n". |
$result.='<input type="hidden" name="section" value="'.$getsec.'" />'."\n". |
'<input type="hidden" name="Status" value="'.$env{'form.Status'}.'" />'."\n". |
'<input type="hidden" name="Status" value="'.$env{'form.Status'}.'" />'."\n". |
Line 3391 LISTJAVASCRIPT
|
Line 3403 LISTJAVASCRIPT
|
my ($uname,$udom) = split(/:/,$student); |
my ($uname,$udom) = split(/:/,$student); |
$studentTable.=($ptr%2 == 1 ? '<tr bgcolor="#ffffe6">' : '</td>'); |
$studentTable.=($ptr%2 == 1 ? '<tr bgcolor="#ffffe6">' : '</td>'); |
$studentTable.='<td align="right">'.$ptr.' </td>'; |
$studentTable.='<td align="right">'.$ptr.' </td>'; |
$studentTable.='<td> <input type="radio" name="student" value="'.$student.'" /> ' |
$studentTable.='<td> <label><input type="radio" name="student" value="'.$student.'" /> ' |
.&nameUserString(undef,$$fullname{$student},$uname,$udom)."\n"; |
.&nameUserString(undef,$$fullname{$student},$uname,$udom)."</label>\n"; |
$studentTable.=($ptr%2 == 0 ? '</td></tr>' : ''); |
$studentTable.=($ptr%2 == 0 ? '</td></tr>' : ''); |
$ptr++; |
$ptr++; |
} |
} |
Line 3464 sub displayPage {
|
Line 3476 sub displayPage {
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my ($mapUrl, $id, $resUrl)=&Apache::lonnet::decode_symb($env{'form.page'}); |
my ($mapUrl, $id, $resUrl)=&Apache::lonnet::decode_symb($env{'form.page'}); |
my $map = $navmap->getResourceByUrl($resUrl); # add to navmaps |
my $map = $navmap->getResourceByUrl($resUrl); # add to navmaps |
|
if (!$map) { |
|
$request->print('<font color="red">Unable to view requested sequence. ('.$resUrl.')</font>'); |
|
$request->print(&show_grading_menu_form($symb,$url)); |
|
return; |
|
} |
my $iterator = $navmap->getIterator($map->map_start(), |
my $iterator = $navmap->getIterator($map->map_start(), |
$map->map_finish()); |
$map->map_finish()); |
|
|
Line 3670 sub updateGradeByPage {
|
Line 3686 sub updateGradeByPage {
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my ($mapUrl, $id, $resUrl) = &Apache::lonnet::decode_symb( $env{'form.page'}); |
my ($mapUrl, $id, $resUrl) = &Apache::lonnet::decode_symb( $env{'form.page'}); |
my $map = $navmap->getResourceByUrl($resUrl); # add to navmaps |
my $map = $navmap->getResourceByUrl($resUrl); # add to navmaps |
|
if (!$map) { |
|
$request->print('<font color="red">Unable to grade requested sequence. ('.$resUrl.')</font>'); |
|
my ($symb,$url)=&get_symb_and_url($request); |
|
$request->print(&show_grading_menu_form($symb,$url)); |
|
return; |
|
} |
my $iterator = $navmap->getIterator($map->map_start(), |
my $iterator = $navmap->getIterator($map->map_start(), |
$map->map_finish()); |
$map->map_finish()); |
|
|
Line 4316 sub scantron_process_corrections {
|
Line 4337 sub scantron_process_corrections {
|
} |
} |
} |
} |
if ($err) { |
if ($err) { |
$r->print("Unable to accept last correction, an error occurred :$errmsg:"); |
$r->print("<font color='red'>Unable to accept last correction, an error occurred :$errmsg:</font>"); |
} else { |
} else { |
&scantron_put_line($scanlines,$scan_data,$which,$line,$skip); |
&scantron_put_line($scanlines,$scan_data,$which,$line,$skip); |
&scantron_putfile($scanlines,$scan_data); |
&scantron_putfile($scanlines,$scan_data); |
Line 4370 sub check_for_error {
|
Line 4391 sub check_for_error {
|
sub scantron_warning_screen { |
sub scantron_warning_screen { |
my ($button_text)=@_; |
my ($button_text)=@_; |
my $title=&Apache::lonnet::gettitle($env{'form.selectpage'}); |
my $title=&Apache::lonnet::gettitle($env{'form.selectpage'}); |
|
my %scantron_config=&get_scantron_config($env{'form.scantron_format'}); |
|
my $CODElist="a"; |
|
if ($scantron_config{'CODElocation'} && |
|
$scantron_config{'CODEstart'} && |
|
$scantron_config{'CODElength'}) { |
|
$CODElist=$env{'form.scantron_CODElist'}; |
|
if ($CODElist eq '') { $CODElist='<font color="red">None</font>'; } |
|
$CODElist= |
|
'<tr><td><b>List of CODES to validate against:</b></td><td><tt>'. |
|
$CODElist.'</tt></td></tr>'; |
|
} |
return (<<STUFF); |
return (<<STUFF); |
<p> |
<p> |
<font color="red">Please double check the information |
<font color="red">Please double check the information |
below before clicking on '$button_text'</font> |
below before clicking on '$button_text'</font> |
</p> |
</p> |
<table> |
<table> |
<tr><td><b>Sequence To be Graded:</b></td><td>$title</td></tr> |
<tr><td><b>Sequence to be Graded:</b></td><td>$title</td></tr> |
<tr><td><b>Data File that will be used:</b></td><td><tt>$env{'form.scantron_selectfile'}</tt></td></tr> |
<tr><td><b>Data File that will be used:</b></td><td><tt>$env{'form.scantron_selectfile'}</tt></td></tr> |
|
$CODElist |
</table> |
</table> |
</font> |
</font> |
<br /> |
<br /> |
Line 4869 sub scantron_get_closely_matching_CODEs
|
Line 4902 sub scantron_get_closely_matching_CODEs
|
} |
} |
|
|
sub get_codes { |
sub get_codes { |
my $old_name=$env{'form.scantron_CODElist'}; |
my ($old_name, $cdom, $cnum) = @_; |
my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
if (!$old_name) { |
my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
$old_name=$env{'form.scantron_CODElist'}; |
|
} |
|
if (!$cdom) { |
|
$cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
} |
|
if (!$cnum) { |
|
$cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
|
} |
my %result=&Apache::lonnet::get('CODEs',[$old_name,"type\0$old_name"], |
my %result=&Apache::lonnet::get('CODEs',[$old_name,"type\0$old_name"], |
$cdom,$cnum); |
$cdom,$cnum); |
my %allcodes; |
my %allcodes; |
Line 5363 GRADINGMENUJS
|
Line 5403 GRADINGMENUJS
|
|
|
$result.='</td></tr>'; |
$result.='</td></tr>'; |
|
|
$result.='<tr bgcolor="#ffffe6"valign="top"><td>'. |
$result.='<tr bgcolor="#ffffe6"valign="top"><td><label>'. |
'<input type="radio" name="radioChoice" value="submission" '. |
'<input type="radio" name="radioChoice" value="submission" '. |
($saveCmd eq 'submission' ? 'checked' : '').'> '.'<b>'.&mt('Current Resource').':</b> '.&mt('For one or more students'). |
($saveCmd eq 'submission' ? 'checked' : '').'> '.'<b>'.&mt('Current Resource').':</b> '.&mt('For one or more students'). |
' <select name="submitonly">'. |
'</label> <select name="submitonly">'. |
'<option value="yes" '. |
'<option value="yes" '. |
($saveSub eq 'yes' ? 'selected="on"' : '').'>with submissions</option>'. |
($saveSub eq 'yes' ? 'selected="on"' : '').'>with submissions</option>'. |
'<option value="graded" '. |
'<option value="graded" '. |
Line 5377 GRADINGMENUJS
|
Line 5417 GRADINGMENUJS
|
($saveSub eq 'all' ? 'selected="on"' : '').'>with any status</option></select></td></tr>'."\n"; |
($saveSub eq 'all' ? 'selected="on"' : '').'>with any status</option></select></td></tr>'."\n"; |
|
|
$result.='<tr bgcolor="#ffffe6"valign="top"><td>'. |
$result.='<tr bgcolor="#ffffe6"valign="top"><td>'. |
'<input type="radio" name="radioChoice" value="viewgrades" '. |
'<label><input type="radio" name="radioChoice" value="viewgrades" '. |
($saveCmd eq 'viewgrades' ? 'checked' : '').'> '. |
($saveCmd eq 'viewgrades' ? 'checked' : '').'> '. |
'<b>Current Resource:</b> For all students in selected section or course</td></tr>'."\n"; |
'<b>Current Resource:</b> For all students in selected section or course</label></td></tr>'."\n"; |
|
|
$result.='<tr bgcolor="#ffffe6" valign="top"><td>'. |
$result.='<tr bgcolor="#ffffe6" valign="top"><td>'. |
'<input type="radio" name="radioChoice" value="pickStudentPage" '. |
'<label><input type="radio" name="radioChoice" value="pickStudentPage" '. |
($saveCmd eq 'pickStudentPage' ? 'checked' : '').'> '. |
($saveCmd eq 'pickStudentPage' ? 'checked' : '').'> '. |
'The <b>complete</b> set/page/sequence: For one student</td></tr>'."\n"; |
'The <b>complete</b> set/page/sequence: For one student</label></td></tr>'."\n"; |
|
|
$result.='<tr bgcolor="#ffffe6"><td><br />'. |
$result.='<tr bgcolor="#ffffe6"><td><br />'. |
'<input type="button" onClick="javascript:checkChoice(this.form,\'2\');" value="Next->" />'. |
'<input type="button" onClick="javascript:checkChoice(this.form,\'2\');" value="Next->" />'. |
Line 5412 GRADINGMENUJS
|
Line 5452 GRADINGMENUJS
|
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'. |
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'. |
'<input type="button" onClick="javascript:this.form.action=\'/adm/helper/resettimes.helper\';this.form.submit();'. |
'<input type="button" onClick="javascript:this.form.action=\'/adm/helper/resettimes.helper\';this.form.submit();'. |
'" value="'.&mt('Manage').'" /> access times.</td></tr>'."\n"; |
'" value="'.&mt('Manage').'" /> access times.</td></tr>'."\n"; |
|
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'. |
|
'<input type="button" onClick="javascript:this.form.command.value=\'codelist\';this.form.action=\'/adm/pickcode\';this.form.submit();'. |
|
'" value="'.&mt('View').'" /> saved CODEs.</td></tr>'."\n"; |
|
|
$result.='</form></td></tr></table>'."\n". |
$result.='</form></td></tr></table>'."\n". |
'</td></tr></table>'."\n". |
'</td></tr></table>'."\n". |
Line 5419 GRADINGMENUJS
|
Line 5462 GRADINGMENUJS
|
return $result; |
return $result; |
} |
} |
|
|
|
sub reset_perm { |
|
undef(%perm); |
|
} |
|
|
|
sub init_perm { |
|
&reset_perm(); |
|
if (!($perm{'vgr'}=&Apache::lonnet::allowed('vgr',$env{'request.course.id'}))) { |
|
if ($perm{'vgr'}=&Apache::lonnet::allowed('vgr',$env{'request.course.id'}.'/'.$env{'request.course.sec'})) { |
|
$perm{'vgr_section'}=$env{'request.course.sec'}; |
|
} else { |
|
delete($perm{'vgr'}); |
|
} |
|
} |
|
if (!($perm{'mgr'}=&Apache::lonnet::allowed('mgr',$env{'request.course.id'}))) { |
|
if ($perm{'mgr'}=&Apache::lonnet::allowed('mgr',$env{'request.course.id'}.'/'.$env{'request.course.sec'})) { |
|
$perm{'mgr_section'}=$env{'request.course.sec'}; |
|
} else { |
|
delete($perm{'mgr'}); |
|
} |
|
} |
|
} |
|
|
sub handler { |
sub handler { |
my $request=$_[0]; |
my $request=$_[0]; |
|
|
undef(%perm); |
&reset_perm(); |
if ($env{'browser.mathml'}) { |
if ($env{'browser.mathml'}) { |
&Apache::loncommon::content_type($request,'text/xml'); |
&Apache::loncommon::content_type($request,'text/xml'); |
} else { |
} else { |
Line 5471 sub handler {
|
Line 5536 sub handler {
|
} |
} |
} |
} |
} else { |
} else { |
if (!($perm{'vgr'}=&Apache::lonnet::allowed('vgr',$env{'request.course.id'}))) { |
&init_perm(); |
if ($perm{'vgr'}=&Apache::lonnet::allowed('vgr',$env{'request.course.id'}.'/'.$env{'request.course.sec'})) { |
|
$perm{'vgr_section'}=$env{'request.course.sec'}; |
|
} else { |
|
delete($perm{'vgr'}); |
|
} |
|
} |
|
if (!($perm{'mgr'}=&Apache::lonnet::allowed('mgr',$env{'request.course.id'}))) { |
|
if ($perm{'mgr'}=&Apache::lonnet::allowed('mgr',$env{'request.course.id'}.'/'.$env{'request.course.sec'})) { |
|
$perm{'mgr_section'}=$env{'request.course.sec'}; |
|
} else { |
|
delete($perm{'mgr'}); |
|
} |
|
} |
|
if ($command eq 'submission' && $perm{'vgr'}) { |
if ($command eq 'submission' && $perm{'vgr'}) { |
($env{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0)); |
($env{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0)); |
} elsif ($command eq 'pickStudentPage' && $perm{'vgr'}) { |
} elsif ($command eq 'pickStudentPage' && $perm{'vgr'}) { |