version 1.600, 2010/03/19 22:00:06
|
version 1.601, 2010/03/21 18:31:45
|
Line 8515 sub show_grading_menu_form {
|
Line 8515 sub show_grading_menu_form {
|
return $result; |
return $result; |
} |
} |
|
|
# -- Retrieve choices for grading form |
|
sub savedState { |
|
my %savedState = (); |
|
if ($env{'form.saveState'}) { |
|
foreach (split(/:/,$env{'form.saveState'})) { |
|
my ($key,$value) = split(/=/,$_,2); |
|
$savedState{$key} = $value; |
|
} |
|
} |
|
return \%savedState; |
|
} |
|
|
|
sub grading_menu { |
sub grading_menu { |
my ($request) = @_; |
my ($request) = @_; |
my ($symb)=&get_symb($request); |
my ($symb)=&get_symb($request); |
Line 8537 sub grading_menu {
|
Line 8525 sub grading_menu {
|
my %fields = ('symb'=>&Apache::lonenc::check_encrypt($symb), |
my %fields = ('symb'=>&Apache::lonenc::check_encrypt($symb), |
'probTitle'=>$probTitle, |
'probTitle'=>$probTitle, |
'command'=>'individual', |
'command'=>'individual', |
'saveState'=>"", |
|
'gradingMenu'=>1, |
'gradingMenu'=>1, |
'showgrading'=>"yes"); |
'showgrading'=>"yes"); |
|
|
Line 8623 sub grading_menu {
|
Line 8610 sub grading_menu {
|
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
# '<input type="hidden" name="handgrade" value="'.$hdgrade.'" />'."\n". |
# '<input type="hidden" name="handgrade" value="'.$hdgrade.'" />'."\n". |
'<input type="hidden" name="probTitle" value="'.$probTitle.'" />'."\n". |
'<input type="hidden" name="probTitle" value="'.$probTitle.'" />'."\n". |
'<input type="hidden" name="saveState" value="" />'."\n". |
|
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
|
|
Line 8687 sub submit_options_sequence {
|
Line 8673 sub submit_options_sequence {
|
if (!$symb) {return '';} |
if (!$symb) {return '';} |
&commonJSfunctions($request); |
&commonJSfunctions($request); |
my $result; |
my $result; |
my (undef,$sections) = &getclasslist('all','0'); |
|
my $savedState = &savedState(); |
|
my $saveCmd = ($$savedState{'saveCmd'} eq '' ? 'submission' : $$savedState{'saveCmd'}); |
|
my $saveSec = ($$savedState{'saveSec'} eq '' ? 'all' : $$savedState{'saveSec'}); |
|
my $saveSub = ($$savedState{'saveSub'} eq '' ? 'all' : $$savedState{'saveSub'}); |
|
my $saveStatus = ($$savedState{'saveStatus'} eq '' ? 'Active' : $$savedState{'saveStatus'}); |
|
|
|
# Preselect sections |
|
my $selsec=""; |
|
if (ref($sections)) { |
|
foreach my $section (sort(@$sections)) { |
|
$selsec.='<option value="'.$section.'" '. |
|
($saveSec eq $section ? 'selected="selected"':'').'>'.$section.'</option>'."\n"; |
|
} |
|
} |
|
|
|
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="saveState" value="" />'."\n". |
|
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
|
|
$result.=' |
$result.=' |
<h2> |
<h2> |
'.&mt('Grade complete page/sequence/folder for one student').' |
'.&mt('Grade complete page/sequence/folder for one student').' |
</h2> |
</h2>'. |
|
&selectfield(0). |
<div class="LC_columnSection"> |
'<input type="hidden" name="command" value="pickStudentPage" /> |
|
|
<fieldset> |
|
<legend> |
|
'.&mt('Sections').' |
|
</legend> |
|
<select name="section" multiple="multiple" size="5">'."\n"; |
|
$result.= $selsec; |
|
$result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="selected"' : ''). '>all</option></select> '; |
|
$result.=' |
|
</fieldset> |
|
|
|
<fieldset> |
|
<legend> |
|
'.&mt('Groups').' |
|
</legend> |
|
'.&Apache::lonstatistics::GroupSelect('group','multiple',5).' |
|
</fieldset> |
|
|
|
<fieldset> |
|
<legend> |
|
'.&mt('Access Status').' |
|
</legend> |
|
'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,5,undef,'mult').' |
|
</fieldset> |
|
|
|
</div> |
|
|
|
<br /> |
|
|
|
<input type="hidden" name="command" value="pickStudentPage" /> |
|
<div> |
<div> |
<input type="submit" value="'.&mt('Next').' →" /> |
<input type="submit" value="'.&mt('Next').' →" /> |
</div> |
</div> |
Line 8760 sub submit_options_table {
|
Line 8700 sub submit_options_table {
|
if (!$symb) {return '';} |
if (!$symb) {return '';} |
&commonJSfunctions($request); |
&commonJSfunctions($request); |
my $result; |
my $result; |
my (undef,$sections) = &getclasslist('all','0'); |
|
my $savedState = &savedState(); |
|
my $saveCmd = ($$savedState{'saveCmd'} eq '' ? 'submission' : $$savedState{'saveCmd'}); |
|
my $saveSec = ($$savedState{'saveSec'} eq '' ? 'all' : $$savedState{'saveSec'}); |
|
my $saveSub = ($$savedState{'saveSub'} eq '' ? 'all' : $$savedState{'saveSub'}); |
|
my $saveStatus = ($$savedState{'saveStatus'} eq '' ? 'Active' : $$savedState{'saveStatus'}); |
|
|
|
# Preselect sections |
|
my $selsec=""; |
|
if (ref($sections)) { |
|
foreach my $section (sort(@$sections)) { |
|
$selsec.='<option value="'.$section.'" '. |
|
($saveSec eq $section ? 'selected="selected"':'').'>'.$section.'</option>'."\n"; |
|
} |
|
} |
|
|
|
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="saveState" value="" />'."\n". |
|
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
|
|
$result.=' |
$result.=' |
<h2> |
<h2> |
'.&mt('Grading table').' |
'.&mt('Grading table').' |
</h2> |
</h2>'. |
|
&selectfield(0). |
<div class="LC_columnSection"> |
'<input type="hidden" name="command" value="viewgrades" /> |
|
|
<fieldset> |
|
<legend> |
|
'.&mt('Sections').' |
|
</legend> |
|
<select name="section" multiple="multiple" size="5">'."\n"; |
|
$result.= $selsec; |
|
$result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="selected"' : ''). '>all</option></select> '; |
|
$result.=' |
|
</fieldset> |
|
|
|
<fieldset> |
|
<legend> |
|
'.&mt('Groups').' |
|
</legend> |
|
'.&Apache::lonstatistics::GroupSelect('group','multiple',5).' |
|
</fieldset> |
|
|
|
<fieldset> |
|
<legend> |
|
'.&mt('Access Status').' |
|
</legend> |
|
'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,5,undef,'mult').' |
|
</fieldset> |
|
|
|
</div> |
|
|
|
<br /> |
|
|
|
<input type="hidden" name="command" value="viewgrades" /> |
|
<div> |
<div> |
<input type="submit" value="'.&mt('Next').' →" /> |
<input type="submit" value="'.&mt('Next').' →" /> |
</div> |
</div> |
Line 8838 sub submit_options {
|
Line 8732 sub submit_options {
|
|
|
&commonJSfunctions($request); |
&commonJSfunctions($request); |
my $result; |
my $result; |
my (undef,$sections) = &getclasslist('all','0'); |
|
my $savedState = &savedState(); |
|
my $saveCmd = ($$savedState{'saveCmd'} eq '' ? 'submission' : $$savedState{'saveCmd'}); |
|
my $saveSec = ($$savedState{'saveSec'} eq '' ? 'all' : $$savedState{'saveSec'}); |
|
my $saveSub = ($$savedState{'saveSub'} eq '' ? 'all' : $$savedState{'saveSub'}); |
|
my $saveStatus = ($$savedState{'saveStatus'} eq '' ? 'Active' : $$savedState{'saveStatus'}); |
|
|
|
# Preselect sections |
|
my $selsec=""; |
|
if (ref($sections)) { |
|
foreach my $section (sort(@$sections)) { |
|
$selsec.='<option value="'.$section.'" '. |
|
($saveSec eq $section ? 'selected="selected"':'').'>'.$section.'</option>'."\n"; |
|
} |
|
} |
|
|
|
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
'<input type="hidden" name="probTitle" value="'.$probTitle.'" />'."\n". |
'<input type="hidden" name="probTitle" value="'.$probTitle.'" />'."\n". |
'<input type="hidden" name="saveState" value="" />'."\n". |
|
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
|
|
$result.=' |
$result.=' |
<h2> |
<h2> |
'.&mt('Select individual students to grade').' |
'.&mt('Select individual students to grade').' |
</h2> |
</h2>'.&selectfield(1).' |
|
<input type="hidden" name="command" value="submission" /> |
|
<input type="submit" value="'.&mt('Next').' →" /> |
|
</div> |
|
</div> |
|
|
|
|
|
</form>'; |
|
$result .= &show_grading_menu_form($symb); |
|
return $result; |
|
} |
|
|
<div class="LC_columnSection"> |
sub selectfield { |
|
my ($full)=@_; |
|
my $result='<div class="LC_columnSection"> |
|
|
<fieldset> |
<fieldset> |
<legend> |
<legend> |
'.&mt('Sections').' |
'.&mt('Sections').' |
</legend> |
</legend> |
<select name="section" multiple="multiple" size="5">'."\n"; |
'.&Apache::lonstatistics::SectionSelect('section','multiple',5).' |
$result.= $selsec; |
|
$result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="selected"' : ''). '>all</option></select> '; |
|
$result.=' |
|
</fieldset> |
</fieldset> |
|
|
<fieldset> |
<fieldset> |
Line 8889 sub submit_options {
|
Line 8776 sub submit_options {
|
<legend> |
<legend> |
'.&mt('Access Status').' |
'.&mt('Access Status').' |
</legend> |
</legend> |
'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,5,undef,'mult').' |
'.&Apache::lonhtmlcommon::StatusOptions(undef,undef,5,undef,'mult').' |
</fieldset> |
</fieldset>'; |
|
if ($full) { |
|
$result.=' |
<fieldset> |
<fieldset> |
<legend> |
<legend> |
'.&mt('Submission Status').' |
'.&mt('Submission Status').' |
</legend> |
</legend>'. |
<select name="submitonly" size="5"> |
&Apache::loncommon::select_form('all','submitonly', |
<option value="yes" '. ($saveSub eq 'yes' ? 'selected="selected"' : '').'>'.&mt('with submissions').'</option> |
(&Apache::lonlocal::texthash( |
<option value="queued" '. ($saveSub eq 'queued' ? 'selected="selected"' : '').'>'.&mt('in grading queue').'</option> |
'yes' => 'with submissions', |
<option value="graded" '. ($saveSub eq 'graded' ? 'selected="selected"' : '').'>'.&mt('with ungraded submissions').'</option> |
'queued' => 'in grading queue', |
<option value="incorrect" '.($saveSub eq 'incorrect' ? 'selected="selected"' : '').'>'.&mt('with incorrect submissions').'</option> |
'graded' => 'with ungraded submissions', |
<option value="all" '. ($saveSub eq 'all' ? 'selected="selected"' : '').'>'.&mt('with any status').'</option> |
'incorrect' => 'with incorrect submissions', |
</select> |
'all' => 'with any status'), |
</fieldset> |
'select_form_order' => ['yes','queued','graded','incorrect','all'])). |
|
'</fieldset>'; |
</div> |
} |
|
$result.='</div><br />'; |
<br /> |
|
<input type="hidden" name="command" value="submission" /> |
|
<input type="submit" value="'.&mt('Next').' →" /> |
|
</div> |
|
</div> |
|
|
|
|
|
</form>'; |
|
$result .= &show_grading_menu_form($symb); |
|
return $result; |
return $result; |
} |
} |
|
|
Line 9008 sub process_clicker {
|
Line 8887 sub process_clicker {
|
if (!$symb) {return '';} |
if (!$symb) {return '';} |
my $result=&checkforfile_js(); |
my $result=&checkforfile_js(); |
$env{'form.probTitle'} = &Apache::lonnet::gettitle($symb); |
$env{'form.probTitle'} = &Apache::lonnet::gettitle($symb); |
# my ($table) = &showResourceInfo($symb,$env{'form.probTitle'}); |
|
# $result.=$table; |
|
$result.='<br /><table width="100%" border="0"><tr><td bgcolor="#777777">'."\n"; |
$result.='<br /><table width="100%" border="0"><tr><td bgcolor="#777777">'."\n"; |
$result.='<table width="100%" border="0"><tr bgcolor="#e6ffff"><td>'."\n"; |
$result.='<table width="100%" border="0"><tr bgcolor="#e6ffff"><td>'."\n"; |
$result.=' <b>'.&mt('Specify a file containing the clicker information for this resource.'). |
$result.=' <b>'.&mt('Specify a file containing the clicker information for this resource.'). |
'</b></td></tr>'."\n"; |
'</b></td></tr>'."\n"; |
$result.='<tr bgcolor=#ffffe6><td>'."\n"; |
$result.='<tr bgcolor="#ffffe6"><td>'."\n"; |
# Attempt to restore parameters from last session, set defaults if not present |
# Attempt to restore parameters from last session, set defaults if not present |
my %Saveable_Parameters=&clicker_grading_parameters(); |
my %Saveable_Parameters=&clicker_grading_parameters(); |
&Apache::loncommon::restore_course_settings('grades_clicker', |
&Apache::loncommon::restore_course_settings('grades_clicker', |
Line 9490 sub handler {
|
Line 9367 sub handler {
|
$request->print(&Apache::loncommon::start_page('Grading',undef, |
$request->print(&Apache::loncommon::start_page('Grading',undef, |
{'bread_crumbs' => $brcrum})); |
{'bread_crumbs' => $brcrum})); |
if ($symb eq '' && $command eq '') { |
if ($symb eq '' && $command eq '') { |
if ($env{'user.adv'}) { |
# |
if (($env{'form.codeone'}) && ($env{'form.codetwo'}) && |
# Not called from a resource |
($env{'form.codethree'})) { |
# |
my $token=$env{'form.codeone'}.'*'.$env{'form.codetwo'}.'*'. |
|
$env{'form.codethree'}; |
|
my ($tsymb,$tuname,$tudom,$tcrsid)= |
|
&Apache::lonnet::checkin($token); |
|
if ($tsymb) { |
|
my ($map,$id,$url)=&Apache::lonnet::decode_symb($tsymb); |
|
if (&Apache::lonnet::allowed('mgr',$tcrsid)) { |
|
$request->print(&ssi_with_retries('/res/'.$url, $ssi_retries, |
|
('grade_username' => $tuname, |
|
'grade_domain' => $tudom, |
|
'grade_courseid' => $tcrsid, |
|
'grade_symb' => $tsymb))); |
|
} else { |
|
$request->print('<h3>Not authorized: '.$token.'</h3>'); |
|
} |
|
} else { |
|
$request->print('<h3>Not a valid DocID: '.$token.'</h3>'); |
|
} |
|
} else { |
|
$request->print(&Apache::lonxml::tokeninputfield()); |
|
} |
|
} |
|
} else { |
} else { |
&init_perm(); |
&init_perm(); |
if ($command eq 'submission' && $perm{'vgr'}) { |
if ($command eq 'submission' && $perm{'vgr'}) { |