--- loncom/interface/lonparmset.pm 2011/12/28 21:49:54 1.520 +++ loncom/interface/lonparmset.pm 2012/05/07 23:46:11 1.522.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.520 2011/12/28 21:49:54 raeburn Exp $ +# $Id: lonparmset.pm,v 1.522.2.1 2012/05/07 23:46:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -314,27 +314,6 @@ use HTML::Entities; use LONCAPA qw(:DEFAULT :match); -sub startSettingsScreen { - my ($r,$mode)=@_; - - $r->print("\n".''."\n"); - $r->print('
'); -} - -sub endSettingsScreen { - my ($r)=@_; - $r->print('
'); -} - - - sub parmval { my ($what,$id,$def,$uname,$udom,$csec,$cgroup,$courseopt)=@_; return &parmval_by_symb($what,&symbcache($id),$def,$uname,$udom,$csec, @@ -922,7 +901,6 @@ sub startpage { my $escfilter=&Apache::lonhtmlcommon::entity_encode($env{'form.filter'}); my $escpart=&Apache::lonhtmlcommon::entity_encode($env{'form.part'}); $r->print($start_page.$breadcrumbs); - &startSettingsScreen($r,'parmset'); $r->print(< @@ -1295,8 +1273,9 @@ sub parmmenu { } function checkdisset() { - checkthis('discussend','pscat'); + checkthis('discussend','pscat'); checkthis('discusshide','pscat'); + checkthis('discussvote','pscat'); } function checkcontdates() { @@ -1395,6 +1374,7 @@ sub lookUpTableParameter { 'scoreformat' => 'misc', 'lenient' => 'grading', 'retrypartial' => 'tries', + 'discussvote' => 'misc', ); } @@ -1942,10 +1922,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); } @@ -2010,7 +1991,7 @@ sub assessparms { my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); - if (!@psprt) { $psprt[0]='all'; } + if (!@psprt) { $psprt[0]='0'; } if (($env{'form.part'}) && ($psprt[0] ne 'all')) { $psprt[0]=$env{'form.part'}; } my $pssymb=''; @@ -2146,7 +2127,7 @@ sub assessparms { } } } - } elsif ($markers[$i] =~ /_(type|lenient|retrypartial)\&\d+$/) { + } elsif ($markers[$i] =~ /_(type|lenient|retrypartial|discussvote)\&\d+$/) { $name = $1; $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$values[$i]"}; @@ -2288,6 +2269,12 @@ COURSECONTENTSCRIPT '
'); $r->print(&Apache::lonhtmlcommon::topic_bar('',&mt('Additional Display Specification (optional)'))); $r->print(&Apache::lonhtmlcommon::start_pick_box()); + $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parts to View')). + ''); &usermenu($r,$uname,$id,$udom,$csec,$cgroup,$parmlev,\@usersgroups); $r->print(&Apache::lonhtmlcommon::row_closure(1)); $r->print(&Apache::lonhtmlcommon::end_pick_box()); @@ -2725,7 +2712,6 @@ ENDMAPONE } # end of $parmlev eq general } $r->print(''); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } # end sub assessparms @@ -2808,6 +2794,8 @@ 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'; @@ -3140,7 +3128,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,6 +3153,7 @@ sub string_selector { my %skiptype; if (($thistype eq 'string_questiontype') || ($thistype eq 'string_lenient') || + ($thistype eq 'string_discussvote') || ($name eq 'retrypartial')) { my ($got_chostname,$chostname,$cmajor,$cminor); foreach my $possibilities (@{ $strings{$thistype} }) { @@ -3277,7 +3270,6 @@ sub newoverview { my $start_page = &Apache::loncommon::start_page('Set Parameters'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview'); $r->print($start_page.$breadcrumbs); - &startSettingsScreen($r,'parmset'); $r->print(< ENDOVER @@ -3306,7 +3298,7 @@ ENDOVER my $pschp=$env{'form.pschp'}; my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); - if (!@psprt) { $psprt[0]='all'; } + if (!@psprt) { $psprt[0]='0'; } my @selected_sections = &Apache::loncommon::get_env_multiple('form.Section'); @@ -3403,7 +3395,6 @@ ENDOVER $r->print(&tableend(). ((($env{'form.store'}) || ($env{'form.dis'}))?'

':''). ''); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3452,7 +3443,6 @@ sub overview { my $start_page=&Apache::loncommon::start_page('Modify Parameters'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview'); $r->print($start_page.$breadcrumbs); - &startSettingsScreen($r,'parmset'); $r->print('
'); # Store modified @@ -3560,7 +3550,6 @@ ENDOVER $r->print(&Apache::loncommon::end_data_table().'

'. ''. '

'); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3574,7 +3563,6 @@ sub date_shift_one { my $start_page=&Apache::loncommon::start_page('Shift Dates'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift'); $r->print($start_page.$breadcrumbs); - &startSettingsScreen($r,'parmset'); $r->print('
'. ''. @@ -3588,7 +3576,6 @@ ate_setter('shiftform', ''. ''. ''); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3601,14 +3588,12 @@ sub date_shift_two { my $start_page=&Apache::loncommon::start_page('Shift Dates'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift'); $r->print($start_page.$breadcrumbs); - &startSettingsScreen($r,'parmset'); my $timeshifted=&Apache::lonhtmlcommon::get_date_from_form('timeshifted'); $r->print(&mt('Shifting all dates such that [_1] becomes [_2]', &Apache::lonlocal::locallocaltime($env{'form.timebase'}), &Apache::lonlocal::locallocaltime($timeshifted))); my $delta=$timeshifted-$env{'form.timebase'}; &dateshift($delta); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3653,7 +3638,7 @@ sub parse_key { sub header { - return &Apache::loncommon::start_page('Settings'); + return &Apache::loncommon::start_page('Parameter Manager'); } @@ -3662,8 +3647,7 @@ sub print_main_menu { my ($r,$parm_permission)=@_; # $r->print(&header()); - $r->print(&Apache::lonhtmlcommon::breadcrumbs('Content and Problem Settings')); - &startSettingsScreen($r,'parmset'); + $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Manager')); $r->print(< @@ -3749,7 +3733,6 @@ ENDMAINFORMHEAD }]} ); $r->print(&Apache::lonhtmlcommon::generate_menu(@menu)); - &endSettingsScreen($r); return; } @@ -3825,7 +3808,6 @@ sub order_meta_fields { text=>"Restrict Metadata"}, {text=>"Order Metadata"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Order Metadata')); - &startSettingsScreen($r,'parmset'); if ($env{'form.storeorder'}) { my $newpos = $env{'form.newpos'} - 1; my $currentpos = $env{'form.currentpos'} - 1; @@ -3895,7 +3877,6 @@ sub order_meta_fields { $idx ++; } $r->print('
'.&mt('Currently set date:').''. &Apache::lonlocal::locallocaltime($env{'form.timebase'}).'
'); - &endSettingsScreen($r); return 'ok'; } @@ -3915,7 +3896,6 @@ sub addmetafield { text=>"Add Metadata Field"}); $r->print(&Apache::loncommon::start_page('Add Metadata Field')); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Add Metadata Field')); - &startSettingsScreen($r,'parmset'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; if (exists($env{'form.undelete'})) { @@ -3957,7 +3937,6 @@ sub addmetafield { $r->print(''); } $r->print(''); - &endSettingsScreen($r); } @@ -3972,7 +3951,6 @@ sub setrestrictmeta { text=>"Restrict Metadata"}); $r->print(&Apache::loncommon::start_page('Restrict Metadata')); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata')); - &startSettingsScreen($r,'parmset'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; my $key_base = $env{'course.'.$env{'request.course.id'}.'.'}; @@ -4045,7 +4023,6 @@ ENDButtons $buttons ENDenv - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); return 'ok'; } @@ -4090,7 +4067,6 @@ sub defaultsetter { &Apache::loncommon::start_page('Parameter Setting Default Actions'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Defaults'); $r->print($start_page.$breadcrumbs); - &startSettingsScreen($r,'parmset'); $r->print('
'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; @@ -4237,7 +4213,6 @@ ENDYESNO $r->print(&Apache::loncommon::end_data_table(). "\n".'
'."\n"); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); return; } @@ -4328,16 +4303,22 @@ 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', $env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); } - $r->print('
print('
'. + '
'.&mt('Display of Changes').''. + ''); my %saveable_parameters = ('show' => 'scalar',); @@ -4345,10 +4326,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'}); @@ -4498,7 +4478,6 @@ sub parm_change_log { || $shown<=$env{'form.show'})) { last; } } $r->print(&Apache::loncommon::end_data_table()); - &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -4625,6 +4604,7 @@ sub oldversion_warning { type => 'string_questiontype', lenient => 'string_lenient', retrypartial => 'string_yesno', + discussvote => 'string_discussvote', ); if (exists($stringtypes{$name})) { if (ref($strings{$stringtypes{$name}}) eq 'ARRAY') { @@ -4668,7 +4648,7 @@ sub handler { &Apache::lonhtmlcommon::clear_breadcrumbs(); &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/parmset", - text=>"Content and Problem Settings", + text=>"Parameter Manager", faq=>10, bug=>'Instructor Interface', help =>