version 1.774, 2020/08/31 01:14:06
|
version 1.780, 2021/01/05 21:25:47
|
Line 293 sub showResourceInfo {
|
Line 293 sub showResourceInfo {
|
$result .= '</div></fieldset>'; |
$result .= '</div></fieldset>'; |
} |
} |
$result .= '</div><div style="padding:0;clear:both;margin:0;border:0"></div>'; |
$result .= '</div><div style="padding:0;clear:both;margin:0;border:0"></div>'; |
|
if (!keys(%partsseen)) { |
|
$result = ''; |
|
if ($uploads) { |
|
return '<div style="padding:0;clear:both;margin:0;border:0"></div>'. |
|
'<p class="LC_info">'. |
|
&mt('No dropbox items or essayresponse items with uploadedfiletypes set.'). |
|
'</p>'; |
|
} else { |
|
return '<br clear="all" />'; |
|
} |
|
} |
return $result; |
return $result; |
} |
} |
|
|
Line 1155 LISTJAVASCRIPT
|
Line 1166 LISTJAVASCRIPT
|
$nocompmsg = ''; |
$nocompmsg = ''; |
} |
} |
$gradeTable .= &Apache::lonhtmlcommon::row_title($viewtitle) |
$gradeTable .= &Apache::lonhtmlcommon::row_title($viewtitle) |
.$submission_options |
.$submission_options; |
.&Apache::lonhtmlcommon::row_closure() |
# Check if any gradable |
|
my $showmore; |
|
if ($perm{'mgr'}) { |
|
my @sections; |
|
if ($env{'request.course.sec'} ne '') { |
|
@sections = ($env{'request.course.sec'}); |
|
} else { |
|
@sections = &Apache::loncommon::get_env_multiple('form.section'); |
|
} |
|
if (grep(/^all$/,@sections)) { |
|
$showmore = 1; |
|
} else { |
|
foreach my $sec (@sections) { |
|
if (&canmodify($sec)) { |
|
$showmore = 1; |
|
last; |
|
} |
|
} |
|
} |
|
} |
|
|
|
if ($showmore) { |
|
$gradeTable .= |
|
&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title(&mt('Send Messages')) |
.&Apache::lonhtmlcommon::row_title(&mt('Send Messages')) |
.'<span class="LC_nobreak">' |
.'<span class="LC_nobreak">' |
.'<label><input type="radio" name="compmsg" value="0"'.$nocompmsg.' />' |
.'<label><input type="radio" name="compmsg" value="0"'.$nocompmsg.' />' |
Line 1165 LISTJAVASCRIPT
|
Line 1199 LISTJAVASCRIPT
|
.&mt('Yes').(' 'x2).'</label>' |
.&mt('Yes').(' 'x2).'</label>' |
.&Apache::lonhtmlcommon::row_closure(); |
.&Apache::lonhtmlcommon::row_closure(); |
|
|
$gradeTable .= &Apache::lonhtmlcommon::row_title(&mt('Grading Increments')) |
$gradeTable .= |
|
&Apache::lonhtmlcommon::row_title(&mt('Grading Increments')) |
.'<select name="increment">' |
.'<select name="increment">' |
.'<option value="1">'.&mt('Whole Points').'</option>' |
.'<option value="1">'.&mt('Whole Points').'</option>' |
.'<option value=".5">'.&mt('Half Points').'</option>' |
.'<option value=".5">'.&mt('Half Points').'</option>' |
.'<option value=".25">'.&mt('Quarter Points').'</option>' |
.'<option value=".25">'.&mt('Quarter Points').'</option>' |
.'<option value=".1">'.&mt('Tenths of a Point').'</option>' |
.'<option value=".1">'.&mt('Tenths of a Point').'</option>' |
.'</select>'; |
.'</select>'; |
|
} |
$gradeTable .= |
$gradeTable .= |
&build_section_inputs(). |
&build_section_inputs(). |
'<input type="hidden" name="submitonly" value="'.$submitonly.'" />'."\n". |
'<input type="hidden" name="submitonly" value="'.$submitonly.'" />'."\n". |
Line 3241 sub processHandGrade {
|
Line 3277 sub processHandGrade {
|
# Keywords sorted in alphabatical order |
# Keywords sorted in alphabatical order |
my $loginuser = $env{'user.name'}.':'.$env{'user.domain'}; |
my $loginuser = $env{'user.name'}.':'.$env{'user.domain'}; |
$env{'form.keywords'} =~ s/,\s{0,}|\s+/ /g; |
$env{'form.keywords'} =~ s/,\s{0,}|\s+/ /g; |
$env{'form.keywords'} =~ s/^\s+|\s+$//; |
$env{'form.keywords'} =~ s/^\s+|\s+$//g; |
my (@keywords) = sort(split(/\s+/,$env{'form.keywords'})); |
my (@keywords) = sort(split(/\s+/,$env{'form.keywords'})); |
$env{'form.keywords'} = join(' ',@keywords); |
$env{'form.keywords'} = join(' ',@keywords); |
$keyhash{$symb.'_keywords'} = $env{'form.keywords'}; |
$keyhash{$symb.'_keywords'} = $env{'form.keywords'}; |
Line 3966 sub viewgrades {
|
Line 4002 sub viewgrades {
|
} |
} |
|
|
my ($common_header,$specific_header,@sections,$section_display); |
my ($common_header,$specific_header,@sections,$section_display); |
@sections = &Apache::loncommon::get_env_multiple('form.section'); |
if ($env{'request.course.sec'} ne '') { |
|
@sections = ($env{'request.course.sec'}); |
|
} else { |
|
@sections = &Apache::loncommon::get_env_multiple('form.section'); |
|
} |
|
|
|
# Check if Save button should be usable |
|
my $disabled = ' disabled="disabled"'; |
|
if ($perm{'mgr'}) { |
|
if (grep(/^all$/,@sections)) { |
|
undef($disabled); |
|
} else { |
|
foreach my $sec (@sections) { |
|
if (&canmodify($sec)) { |
|
undef($disabled); |
|
last; |
|
} |
|
} |
|
} |
|
} |
if (grep(/^all$/,@sections)) { |
if (grep(/^all$/,@sections)) { |
@sections = ('all'); |
@sections = ('all'); |
if ($group_display) { |
if ($group_display) { |
Line 4158 sub viewgrades {
|
Line 4213 sub viewgrades {
|
} |
} |
$result.=&Apache::loncommon::end_data_table(); |
$result.=&Apache::loncommon::end_data_table(); |
$result.='<input type="hidden" name="total" value="'.$ctr.'" />'."\n"; |
$result.='<input type="hidden" name="total" value="'.$ctr.'" />'."\n"; |
$result.='<input type="button" value="'.&mt('Save').'" '. |
$result.='<input type="button" value="'.&mt('Save').'"'.$disabled.' '. |
'onclick="javascript:submit();" target="_self" /></form>'."\n"; |
'onclick="javascript:submit();" target="_self" /></form>'."\n"; |
if ($ctr == 0) { |
if ($ctr == 0) { |
my $stu_status = join(' or ',&Apache::loncommon::get_env_multiple('form.Status')); |
my $stu_status = join(' or ',&Apache::loncommon::get_env_multiple('form.Status')); |
Line 5398 sub displayPage {
|
Line 5453 sub displayPage {
|
} |
} |
$curRes = $iterator->next(); |
$curRes = $iterator->next(); |
} |
} |
|
my $disabled; |
|
unless (&canmodify($usec)) { |
|
$disabled = ' disabled="disabled"'; |
|
} |
|
|
$studentTable.= |
$studentTable.= |
'</table>'."\n". |
'</table>'."\n". |
'<input type="button" value="'.&mt('Save').'" '. |
'<input type="button" value="'.&mt('Save').'"'.$disabled.' '. |
'onclick="javascript:checkSubmitPage(this.form,'.$question.');" />'. |
'onclick="javascript:checkSubmitPage(this.form,'.$question.');" />'. |
'</form>'."\n"; |
'</form>'."\n"; |
$request->print($studentTable); |
$request->print($studentTable); |
Line 9461 END
|
Line 9520 END
|
if ($count > 1) { |
if ($count > 1) { |
$formatextra = '<div style="display:none" id="bubbletype">'. |
$formatextra = '<div style="display:none" id="bubbletype">'. |
'<span class="LC_nobreak">'. |
'<span class="LC_nobreak">'. |
&mt('Bubblesheet type:').' '. |
&mt('Bubblesheet type').': '. |
&scantron_scantab().'</span></div>'; |
&scantron_scantab().'</span></div>'; |
$onclick = ' onclick="toggleScantab(this.form);"'; |
$onclick = ' onclick="toggleScantab(this.form);"'; |
$formatjs = <<"END"; |
$formatjs = <<"END"; |
Line 10371 sub grading_menu {
|
Line 10430 sub grading_menu {
|
|
|
$fields{'command'} = 'initialverifyreceipt'; |
$fields{'command'} = 'initialverifyreceipt'; |
my $url5 = &Apache::lonhtmlcommon::build_url('grades/',\%fields); |
my $url5 = &Apache::lonhtmlcommon::build_url('grades/',\%fields); |
|
|
|
my %permissions; |
|
if ($perm{'mgr'}) { |
|
$permissions{'either'} = 'F'; |
|
$permissions{'mgr'} = 'F'; |
|
} |
|
if ($perm{'vgr'}) { |
|
$permissions{'either'} = 'F'; |
|
$permissions{'vgr'} = 'F'; |
|
} |
|
|
my @menu = ({ categorytitle=>'Hand Grading', |
my @menu = ({ categorytitle=>'Hand Grading', |
items =>[ |
items =>[ |
{ linktext => 'Select individual students to grade', |
{ linktext => 'Select individual students to grade', |
url => $url1a, |
url => $url1a, |
permission => 'F', |
permission => $permissions{'either'} |
icon => 'grade_students.png', |
icon => 'grade_students.png', |
linktitle => 'Grade current resource for a selection of students.' |
linktitle => 'Grade current resource for a selection of students.' |
}, |
}, |
{ linktext => 'Grade ungraded submissions', |
{ linktext => 'Grade ungraded submissions', |
url => $url1b, |
url => $url1b, |
permission => 'F', |
permission => $permissions{'either'} |
icon => 'ungrade_sub.png', |
icon => 'ungrade_sub.png', |
linktitle => 'Grade all submissions that have not been graded yet.' |
linktitle => 'Grade all submissions that have not been graded yet.' |
}, |
}, |
|
|
{ linktext => 'Grading table', |
{ linktext => 'Grading table', |
url => $url1c, |
url => $url1c, |
permission => 'F', |
permission => $permissions{'either'} |
icon => 'grading_table.png', |
icon => 'grading_table.png', |
linktitle => 'Grade current resource for all students.' |
linktitle => 'Grade current resource for all students.' |
}, |
}, |
{ linktext => 'Grade page/folder for one student', |
{ linktext => 'Grade page/folder for one student', |
url => $url1d, |
url => $url1d, |
permission => 'F', |
permission => $permissions{'either'} |
icon => 'grade_PageFolder.png', |
icon => 'grade_PageFolder.png', |
linktitle => 'Grade all resources in current page/sequence/folder for one student.' |
linktitle => 'Grade all resources in current page/sequence/folder for one student.' |
}, |
}, |
{ linktext => 'Download submissions', |
{ linktext => 'Download submissions', |
url => $url1e, |
url => $url1e, |
permission => 'F', |
permission => $permissions{'either'} |
icon => 'download_sub.png', |
icon => 'download_sub.png', |
linktitle => 'Download all students submissions.' |
linktitle => 'Download all students submissions.' |
}]}, |
}]}, |
Line 10410 sub grading_menu {
|
Line 10479 sub grading_menu {
|
|
|
{ linktext => 'Upload Scores', |
{ linktext => 'Upload Scores', |
url => $url2, |
url => $url2, |
permission => 'F', |
permission => $permissions{'mgr'}, |
icon => 'uploadscores.png', |
icon => 'uploadscores.png', |
linktitle => 'Specify a file containing the class scores for current resource.' |
linktitle => 'Specify a file containing the class scores for current resource.' |
}, |
}, |
{ linktext => 'Process Clicker', |
{ linktext => 'Process Clicker', |
url => $url3, |
url => $url3, |
permission => 'F', |
permission => $permissions{'mgr'}, |
icon => 'addClickerInfoFile.png', |
icon => 'addClickerInfoFile.png', |
linktitle => 'Specify a file containing the clicker information for this resource.' |
linktitle => 'Specify a file containing the clicker information for this resource.' |
}, |
}, |
{ linktext => 'Grade/Manage/Review Bubblesheets', |
{ linktext => 'Grade/Manage/Review Bubblesheets', |
url => $url4, |
url => $url4, |
permission => 'F', |
permission => $permissions{'mgr'}, |
icon => 'bubblesheet.png', |
icon => 'bubblesheet.png', |
linktitle => 'Grade bubblesheet exams, upload/download bubblesheet data files, and review previously graded bubblesheet exams.' |
linktitle => 'Grade bubblesheet exams, upload/download bubblesheet data files, and review previously graded bubblesheet exams.' |
}, |
}, |
{ linktext => 'Verify Receipt Number', |
{ linktext => 'Verify Receipt Number', |
url => $url5, |
url => $url5, |
permission => 'F', |
permission => $permissions{'either'}, |
icon => 'receipt_number.png', |
icon => 'receipt_number.png', |
linktitle => 'Verify a system-generated receipt number for correct problem solution.' |
linktitle => 'Verify a system-generated receipt number for correct problem solution.' |
} |
} |
Line 11294 sub navmap_errormsg {
|
Line 11363 sub navmap_errormsg {
|
} |
} |
|
|
sub startpage { |
sub startpage { |
my ($r,$symb,$crumbs,$onlyfolderflag,$nodisplayflag,$stuvcurrent,$stuvdisp,$nomenu,$js,$onload,$divforres) = @_; |
my ($r,$symb,$crumbs,$onlyfolderflag,$nodisplayflag,$stuvcurrent,$stuvdisp,$nomenu,$head_extra,$onload,$divforres) = @_; |
my %args; |
my %args; |
if ($onload) { |
if ($onload) { |
my %loaditems = ( |
my %loaditems = ( |
Line 11304 sub startpage {
|
Line 11373 sub startpage {
|
} |
} |
if ($nomenu) { |
if ($nomenu) { |
$args{'only_body'} = 1; |
$args{'only_body'} = 1; |
$r->print(&Apache::loncommon::start_page("Student's Version",$js,\%args)); |
$r->print(&Apache::loncommon::start_page("Student's Version",$head_extra,\%args)); |
} else { |
} else { |
unshift(@$crumbs,{href=>&href_symb_cmd($symb,'gradingmenu'),text=>"Grading"}); |
unshift(@$crumbs,{href=>&href_symb_cmd($symb,'gradingmenu'),text=>"Grading"}); |
$args{'bread_crumbs'} = $crumbs; |
$args{'bread_crumbs'} = $crumbs; |
$r->print(&Apache::loncommon::start_page('Grading',$js,\%args)); |
$r->print(&Apache::loncommon::start_page('Grading',$head_extra,\%args)); |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
&Apache::lonquickgrades::startGradeScreen($r,($env{'form.symb'}?'probgrading':'grading')); |
&Apache::lonquickgrades::startGradeScreen($r,($env{'form.symb'}?'probgrading':'grading')); |
} |
} |
Line 11391 sub handler {
|
Line 11460 sub handler {
|
} else { |
} else { |
$divforres = 1; |
$divforres = 1; |
} |
} |
&startpage($request,$symb,[{href=>"", text=>"Student Submissions"}],undef,undef,$stuvcurrent,$stuvdisp,undef,$js,$onload,$divforres); |
my $head_extra = $js; |
|
unless ($env{'form.vProb'} eq 'no') { |
|
my $csslinks = &Apache::loncommon::css_links($symb); |
|
if ($csslinks) { |
|
$head_extra .= "\n$csslinks"; |
|
} |
|
} |
|
&startpage($request,$symb,[{href=>"", text=>"Student Submissions"}],undef,undef, |
|
$stuvcurrent,$stuvdisp,undef,$head_extra,$onload,$divforres); |
if ($versionform) { |
if ($versionform) { |
|
if ($divforres) { |
|
$request->print('<div style="padding:0;clear:both;margin:0;border:0"></div>'); |
|
} |
$request->print($versionform); |
$request->print($versionform); |
} |
} |
($env{'form.student'} eq '' ? &listStudents($request,$symb,'',$divforres) : &submission($request,0,0,$symb,$divforres,$command)); |
($env{'form.student'} eq '' ? &listStudents($request,$symb,'',$divforres) : &submission($request,0,0,$symb,$divforres,$command)); |
Line 11401 sub handler {
|
Line 11481 sub handler {
|
&choose_task_version_form($symb,$env{'form.student'}, |
&choose_task_version_form($symb,$env{'form.student'}, |
$env{'form.userdom'}, |
$env{'form.userdom'}, |
$env{'form.inhibitmenu'}); |
$env{'form.inhibitmenu'}); |
&startpage($request,$symb,[{href=>"", text=>"Previous Student Version"}],undef,undef,$stuvcurrent,$stuvdisp,$env{'form.inhibitmenu'},$js); |
my $head_extra = $js; |
|
unless ($env{'form.vProb'} eq 'no') { |
|
my $csslinks = &Apache::loncommon::css_links($symb); |
|
if ($csslinks) { |
|
$head_extra .= "\n$csslinks"; |
|
} |
|
} |
|
&startpage($request,$symb,[{href=>"", text=>"Previous Student Version"}],undef,undef, |
|
$stuvcurrent,$stuvdisp,$env{'form.inhibitmenu'},$head_extra); |
if ($versionform) { |
if ($versionform) { |
$request->print($versionform); |
$request->print($versionform); |
} |
} |
Line 11412 sub handler {
|
Line 11500 sub handler {
|
{href=>'',text=>'Select student'}],1,1); |
{href=>'',text=>'Select student'}],1,1); |
&pickStudentPage($request,$symb); |
&pickStudentPage($request,$symb); |
} elsif ($command eq 'displayPage' && $perm{'vgr'}) { |
} elsif ($command eq 'displayPage' && $perm{'vgr'}) { |
|
my $csslinks; |
|
unless ($env{'form.vProb'} eq 'no') { |
|
$csslinks = &Apache::loncommon::css_links($symb,'map'); |
|
} |
&startpage($request,$symb, |
&startpage($request,$symb, |
[{href=>&href_symb_cmd($symb,'all_for_one'),text=>'Grade page/folder for one student'}, |
[{href=>&href_symb_cmd($symb,'all_for_one'),text=>'Grade page/folder for one student'}, |
{href=>'',text=>'Select student'}, |
{href=>'',text=>'Select student'}, |
{href=>'',text=>'Grade student'}],1,1); |
{href=>'',text=>'Grade student'}],1,1,undef,undef,undef,$csslinks); |
&displayPage($request,$symb); |
&displayPage($request,$symb); |
} elsif ($command eq 'gradeByPage' && $perm{'mgr'}) { |
} elsif ($command eq 'gradeByPage' && $perm{'mgr'}) { |
&startpage($request,$symb,[{href=>&href_symb_cmd($symb,'all_for_one'),text=>'Grade page/folder for one student'}, |
&startpage($request,$symb,[{href=>&href_symb_cmd($symb,'all_for_one'),text=>'Grade page/folder for one student'}, |
Line 11424 sub handler {
|
Line 11516 sub handler {
|
{href=>'',text=>'Store grades'}],1,1); |
{href=>'',text=>'Store grades'}],1,1); |
&updateGradeByPage($request,$symb); |
&updateGradeByPage($request,$symb); |
} elsif ($command eq 'processGroup' && $perm{'vgr'}) { |
} elsif ($command eq 'processGroup' && $perm{'vgr'}) { |
|
my $csslinks; |
|
unless ($env{'form.vProb'} eq 'no') { |
|
$csslinks = &Apache::loncommon::css_links($symb); |
|
} |
&startpage($request,$symb,[{href=>'',text=>'...'}, |
&startpage($request,$symb,[{href=>'',text=>'...'}, |
{href=>'',text=>'Modify grades'}],undef,undef,undef,undef,undef,undef,undef,1); |
{href=>'',text=>'Modify grades'}],undef,undef,undef,undef,undef,$csslinks,undef,1); |
&processGroup($request,$symb); |
&processGroup($request,$symb); |
} elsif ($command eq 'gradingmenu' && $perm{'vgr'}) { |
} elsif ($command eq 'gradingmenu' && $perm{'vgr'}) { |
&startpage($request,$symb); |
&startpage($request,$symb); |
Line 11545 sub handler {
|
Line 11641 sub handler {
|
[{href=>&href_symb_cmd($symb,'downloadfilesselect'), text=>'Select which submissions to download'}, |
[{href=>&href_symb_cmd($symb,'downloadfilesselect'), text=>'Select which submissions to download'}, |
{href=>'', text=>'Download submitted files'}], |
{href=>'', text=>'Download submitted files'}], |
undef,undef,undef,undef,undef,undef,undef,1); |
undef,undef,undef,undef,undef,undef,undef,1); |
|
$request->print('<div style="padding:0;clear:both;margin:0;border:0"></div>'); |
&submit_download_link($request,$symb); |
&submit_download_link($request,$symb); |
} elsif ($command) { |
} elsif ($command) { |
&startpage($request,$symb,[{href=>'', text=>'Access denied'}]); |
&startpage($request,$symb,[{href=>'', text=>'Access denied'}]); |