--- loncom/interface/lonparmset.pm 2011/12/04 14:55:16 1.516 +++ loncom/interface/lonparmset.pm 2012/05/06 22:09:14 1.522 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.516 2011/12/04 14:55:16 www Exp $ +# $Id: lonparmset.pm,v 1.522 2012/05/06 22:09:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -813,6 +813,7 @@ sub valout { &date_sanity_info($value); } else { $result = $value; + $result=~s/\,/\, /gs; $result = &HTML::Entities::encode($result,'"<>&'); } } @@ -854,16 +855,10 @@ sub page_js { return(< // "pclose()", 'onload' => "group_or_section('cgroup')", ); if (!$psymb) { @@ -1301,8 +1295,9 @@ sub parmmenu { } function checkdisset() { - checkthis('discussend','pscat'); + checkthis('discussend','pscat'); checkthis('discusshide','pscat'); + checkthis('discussvote','pscat'); } function checkcontdates() { @@ -1400,6 +1395,8 @@ sub lookUpTableParameter { 'maxcollaborators' => 'misc', 'scoreformat' => 'misc', 'lenient' => 'grading', + 'retrypartial' => 'tries', + 'discussvote' => 'misc', ); } @@ -1947,10 +1944,11 @@ sub standardkeyorder { 'parameter_0_tol' => 16, 'parameter_0_sig' => 17, 'parameter_0_turnoffunit' => 18, - 'parameter_0_discussend' => 19, - 'parameter_0_discusshide' => 20, - 'parameter_0_printopendate' => 21, - 'parameter_0_printclosedate' => 22); + 'parameter_0_discussend' => 19, + 'parameter_0_discusshide' => 20, + 'parameter_0_discussvote' => 21, + 'parameter_0_printopendate' => 22, + 'parameter_0_printclosedate' => 23); } @@ -2151,7 +2149,7 @@ sub assessparms { } } } - } elsif ($markers[$i] =~ /_(type|lenient)\&\d+$/) { + } elsif ($markers[$i] =~ /_(type|lenient|retrypartial|discussvote)\&\d+$/) { $name = $1; $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$values[$i]"}; @@ -2333,7 +2331,7 @@ COURSECONTENTSCRIPT $coursespan += 3; } - $r->print('

'); + $r->print(&Apache::loncommon::start_data_table()); # # This produces the headers # @@ -2513,7 +2511,7 @@ ENDTABLEHEADFOUR } } # end foreach ids # -------------------------------------------------- End entry for one resource - $r->print('
'); + $r->print(&Apache::loncommon::end_data_table); } # end of full #--------------------------------------------------- Entry for parm level map if ($parmlev eq 'map') { @@ -2813,6 +2811,12 @@ sub storedata { $name = 'type'; } elsif ($typeof eq 'string_lenient') { $name = 'lenient'; + } elsif ($typeof eq 'string_discussvote') { + $name = 'discussvote'; + } elsif ($typeof eq 'string_yesno') { + if ($thiskey =~ /\.retrypartial$/) { + $name = 'retrypartial'; + } } if ($name ne '') { my ($needsrelease,$needsnewer); @@ -3141,7 +3145,11 @@ my %strings = 'string_lenient' => [['yes', 'Yes' ], [ 'no', 'No' ], - [ 'default', 'Default - only bubblesheet grading is lenient' ]] + [ 'default', 'Default - only bubblesheet grading is lenient' ]], + 'string_discussvote' + => [['yes','Yes'], + ['notended','Yes, unless discussion ended'], + ['no','No']], ); sub standard_string_options { @@ -3161,7 +3169,9 @@ sub string_selector { my %skiptype; if (($thistype eq 'string_questiontype') || - ($thistype eq 'string_lenient')) { + ($thistype eq 'string_lenient') || + ($thistype eq 'string_discussvote') || + ($name eq 'retrypartial')) { my ($got_chostname,$chostname,$cmajor,$cminor); foreach my $possibilities (@{ $strings{$thistype} }) { next unless (ref($possibilities) eq 'ARRAY'); @@ -3673,6 +3683,11 @@ ENDMAINFORMHEAD my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $vgr = &Apache::lonnet::allowed('vgr',$env{'request.course.id'}); my $mgr = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); + my $dcm = &Apache::lonnet::allowed('dcm',$env{'request.course.id'}); + if ((!$dcm) && ($env{'request.course.sec'} ne '')) { + $dcm = &Apache::lonnet::allowed('dcm',$env{'request.course.id'}. + '/'.$env{'request.course.sec'}); + } my $crstype = &Apache::loncommon::course_type(); my $lc_crstype = lc($crstype); @@ -3692,7 +3707,12 @@ ENDMAINFORMHEAD linktitle => "Reset access times for folders/maps, resources or the $lc_crstype." , icon => 'start-here.png' , }, - + { linktext => 'Blocking Communication/Resource Access', + url => '/adm/setblock', + permission => $dcm, + linktitle => 'Configure blocking of communication/collaboration and access to resources during an exam', + icon => 'comblock.png', + }, { linktext => 'Set Parameter Setting Default Actions', url => '/adm/parmset?action=setdefaults', permission => $parm_permission, @@ -4318,7 +4338,12 @@ sub parm_change_log { my ($r)=@_; &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable', text=>"Parameter Change Log"}); - $r->print(&Apache::loncommon::start_page('Parameter Change Log')); + my $js = ''."\n"; + $r->print(&Apache::loncommon::start_page('Parameter Change Log',$js)); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log')); &startSettingsScreen($r,'parmset'); my %parmlog=&Apache::lonnet::dump('nohist_parameterlog', @@ -4327,7 +4352,9 @@ sub parm_change_log { if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); } - $r->print('

print('
'. + '
'.&mt('Display of Changes').''. + ''); my %saveable_parameters = ('show' => 'scalar',); @@ -4335,10 +4362,9 @@ sub parm_change_log { \%saveable_parameters); &Apache::loncommon::restore_course_settings('parameter_log', \%saveable_parameters); - $r->print(&Apache::loncommon::display_filter(). - ''. - ''); + $r->print(&Apache::loncommon::display_filter('parmslog').' '."\n". + ''. + '

'); my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'}, $env{'course.'.$env{'request.course.id'}.'.domain'}); @@ -4612,8 +4638,10 @@ sub oldversion_warning { my ($name,$value,$chostname,$cmajor,$cminor,$needsrelease) = @_; my $desc; my %stringtypes = ( - type => 'string_questiontype', - lenient => 'string_lenient' + type => 'string_questiontype', + lenient => 'string_lenient', + retrypartial => 'string_yesno', + discussvote => 'string_discussvote', ); if (exists($stringtypes{$name})) { if (ref($strings{$stringtypes{$name}}) eq 'ARRAY') {