--- loncom/interface/lonparmset.pm 2015/03/12 02:44:51 1.522.2.17 +++ loncom/interface/lonparmset.pm 2013/06/27 18:22:07 1.535 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.522.2.17 2015/03/12 02:44:51 raeburn Exp $ +# $Id: lonparmset.pm,v 1.535 2013/06/27 18:22:07 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -46,6 +46,8 @@ This module sets coursewide and assessme =over +=pod + =item parmval() Figure out a cascading parameter. @@ -137,21 +139,15 @@ javascript function 'pjump'. extractResourceInformation extracts lots of information about all of the the course's resources into a variety of hashes. -Input: See list below - -=over 4 +Input: See list below: =item * B : Current username =item * B : Domain of current user. -=item * B : Course - -=back - -Outputs: See list below +=item * b (out) : An array that will contain all of the ids in the course. @@ -177,8 +173,6 @@ Outputs: See list below =item * B -=back - =item isdateparm() =item parmmenu() @@ -216,8 +210,6 @@ Returns: nothing Variables used (guessed by Jeremy): -=over - =item * B: ParameterS CATegories? ends up a list of the types of parameters that exist, e.g., tol, weight, acc, opendate, duedate, answerdate, sig, maxtries, type. =item * B: ParameterS PaRTs? a list of the parts of a problem that we are displaying? Used to display only selected parts? @@ -230,8 +222,6 @@ Variables used (guessed by Jeremy): When storing information, store as part 0 When requesting information, request from full part -=back - =item tablestart() =item tableend() @@ -298,6 +288,7 @@ Set portfolio metadata Main handler. Calls &assessparms subroutine. + =back =cut @@ -323,6 +314,31 @@ use HTML::Entities; use LONCAPA qw(:DEFAULT :match); +sub startSettingsScreen { + my ($r,$mode,$crstype)=@_; + + my $tabtext = &mt('Course Settings'); + if ($crstype eq 'Community') { + $tabtext = &mt('Community Settings'); + } + $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, @@ -760,7 +776,7 @@ sub valout { $result = ''.&mt('Change').''; + .' title="'.&mt('Change').'" />'; } else { $result=' '; } @@ -878,7 +894,9 @@ sub page_js { var newWin = window.open(url, wdwName, options); newWin.focus(); } + // ]]> + $selscript ENDJS @@ -906,7 +924,7 @@ COURSECONTENTSCRIPT } sub startpage { - my ($r,$psymb) = @_; + my ($r,$psymb,$crstype) = @_; my %loaditems = ( 'onload' => "group_or_section('cgroup')", @@ -933,13 +951,14 @@ sub startpage { '; my $start_page = - &Apache::loncommon::start_page('Set/Modify Course Parameters',$js, - {'add_entries' => \%loaditems,}); + &Apache::loncommon::start_page('Set/Modify Course Parameters',$js, + {'add_entries' => \%loaditems,}); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode'); 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',$crstype); $r->print(< @@ -1382,8 +1401,8 @@ sub lookUpTableParameter { 'contentopen' => 'time_settings', 'contentclose' => 'time_settings', 'discussend' => 'time_settings', - 'printstartdate' => 'time_settings', - 'printenddate' => 'time_settings', + 'printopendate' => 'time_settings', + 'printclosedate' => 'time_settings', 'weight' => 'grading', 'handgrade' => 'grading', 'maxtries' => 'tries', @@ -1418,7 +1437,7 @@ sub lookUpTableParameter { 'lenient' => 'grading', 'retrypartial' => 'tries', 'discussvote' => 'misc', - 'examcode' => 'high_level_randomization', + 'examcode' => 'high_level_randomization', ); } @@ -1495,23 +1514,26 @@ sub parmboxes { #Print parameters for my $key (sort { $category_order{$a} <=> $category_order{$b} } keys %categoryList) { - next if(@{$categoryList{$key}} == 0); - $r->print('
' - .'

' - .&mt($categories{$key}) - .'

'."\n"); - foreach $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) { - $r->print('' - .'
\n"); } $r->print("\n"); @@ -1679,13 +1701,13 @@ function group_or_section(caller) { # This function shows on table Mode the available Parameters for the selected Resources # sub displaymenu { - my ($r,$allparms,$pscat,$psprt,$keyorder,$divid)=@_; + my ($r,$allparms,$pscat,$psprt,$keyorder)=@_; $r->print(&Apache::lonhtmlcommon::start_pick_box()); $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parameters to View'))); &parmmenu($r,$allparms,$pscat,$keyorder); - $r->print(&Apache::loncommon::start_scrollbox('480px','440px','200px',$divid)); + $r->print(&Apache::loncommon::start_scrollbox()); &parmboxes($r,$allparms,$pscat,$keyorder); $r->print(&Apache::loncommon::end_scrollbox()); @@ -1759,7 +1781,7 @@ sub mapmenu { .'' ); - $r->print(&Apache::loncommon::start_scrollbox('700px','680px','400px','mapmenuscroll')); + $r->print(&Apache::loncommon::start_scrollbox(undef,undef,undef,'mapmenuscroll')); $r->print(&Apache::loncommon::start_data_table(undef,'mapmenuinner')); # Display row: "All Maps or Folders" @@ -1970,8 +1992,8 @@ sub standardkeyorder { 'parameter_0_discussend' => 19, 'parameter_0_discusshide' => 20, 'parameter_0_discussvote' => 21, - 'parameter_0_printstartdate' => 22, - 'parameter_0_printenddate' => 23); + 'parameter_0_printopendate' => 22, + 'parameter_0_printclosedate' => 23); } @@ -2036,7 +2058,7 @@ sub assessparms { my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); - if (!@psprt) { $psprt[0]='0'; } + if (!@psprt) { $psprt[0]='all'; } if (($env{'form.part'}) && ($psprt[0] ne 'all')) { $psprt[0]=$env{'form.part'}; } my $pssymb=''; @@ -2138,7 +2160,7 @@ sub assessparms { my $chome = $env{'course.'.$env{'request.course.id'}.'.home'}; my ($got_chostname,$chostname,$cmajor,$cminor); my $totalstored = 0; - my $now = time; + for (my $i=0;$i<=$#markers;$i++) { my ($needsrelease,$needsnewer,$name); @@ -2172,25 +2194,13 @@ sub assessparms { } } } - } elsif ($markers[$i] =~ /_(type|lenient|retrypartial|discussvote|examcode|printstartdate|printenddate)\&\d+$/) { + } elsif ($markers[$i] =~ /_(type|lenient|retrypartial|discussvote|examcode)\&\d+$/) { $name = $1; my $val = $values[$i]; if ($name eq 'examcode') { - if (&Apache::lonnet::validCODE($values[$i])) { - $val = 'valid'; - } - } elsif ($name eq 'printstartdate') { - if ($val =~ /^\d+$/) { - if ($val > $now) { - $val = 'future'; - } - } - } elsif ($name eq 'printenddate') { - if ($val =~ /^\d+$/) { - if ($val < $now) { - $val = 'past'; - } - } + if (&Apache::lonnet::validCODE($values[$i])) { + $val = 'valid'; + } } $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$val"}; @@ -2201,6 +2211,7 @@ sub assessparms { } $needsnewer = ¶meter_releasecheck($name,$val, $needsrelease, + $chostname, $cmajor,$cminor); } } @@ -2229,7 +2240,8 @@ sub assessparms { if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);} # ------------------------------------------------------------------ Start page - &startpage($r,$pssymb); + my $crstype = &Apache::loncommon::course_type(); + &startpage($r,$pssymb,$crstype); foreach ('tolerance','date_default','date_start','date_end', 'date_interval','int','float','string') { @@ -2281,7 +2293,7 @@ ENDPARMSELSCRIPT # Step 2 $r->print(&Apache::lonhtmlcommon::topic_bar(2,&mt('Parameter Specification'),'parmstep2')); - &displaymenu($r,\%allparms,\@pscat,\@psprt,\%keyorder,'parmmenuscroll'); + &displaymenu($r,\%allparms,\@pscat,\@psprt,\%keyorder); # Step 3 $r->print(&Apache::lonhtmlcommon::topic_bar(3,&mt('User Specification (optional)'),'parmstep3')); @@ -2309,7 +2321,6 @@ ENDPARMSELSCRIPT .'' .'

'); } else { - $r->print(); # parameter screen for a single resource. my ($map,$iid,$resource)=&Apache::lonnet::decode_symb($pssymb); my $title = &Apache::lonnet::gettitle($pssymb); @@ -2319,12 +2330,6 @@ ENDPARMSELSCRIPT '
'); $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()); @@ -2439,9 +2444,8 @@ ENDTABLEHEADFOUR my $defbgtwo=''; my $defbgthree = ''; - foreach (@ids) { + foreach my $rid (@ids) { - my $rid=$_; my ($inmapid)=($rid=~/\.(\d+)$/); if ((!$pssymb && @@ -2762,6 +2766,7 @@ ENDMAPONE } # end of $parmlev eq general } $r->print(''); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } # end sub assessparms @@ -2825,7 +2830,6 @@ sub storedata { my @deldata=(); undef @deldata; my ($got_chostname,$chostname,$cmajor,$cminor); - my $now = time; foreach my $key (keys(%env)) { if ($key =~ /^form\.([a-z]+)\_(.+)$/) { my $cmd=$1; @@ -2836,10 +2840,9 @@ sub storedata { $tkey=~s/\.\[useropt\:$tuname\:$tudom\]\./\./; } if ($cmd eq 'set' || $cmd eq 'datepointer' || $cmd eq 'dateinterval') { - my ($data, $typeof, $text, $name, $valchk); + my ($data, $typeof, $text, $name); if ($cmd eq 'set') { $data=$env{$key}; - $valchk = $data; $typeof=$env{'form.typeof_'.$thiskey}; $text = &mt('Saved modified parameter for'); if ($typeof eq 'string_questiontype') { @@ -2849,50 +2852,25 @@ sub storedata { } elsif ($typeof eq 'string_discussvote') { $name = 'discussvote'; } elsif ($typeof eq 'string_examcode') { - $name = 'examcode'; - if (&Apache::lonnet::validCODE($data)) { - $valchk = 'valid'; - } + $name = 'examcode'; } elsif ($typeof eq 'string_yesno') { if ($thiskey =~ /\.retrypartial$/) { $name = 'retrypartial'; } } - } elsif ($cmd eq 'datepointer') { - $data=&Apache::lonhtmlcommon::get_date_from_form($env{$key}); - $typeof=$env{'form.typeof_'.$thiskey}; - $text = &mt('Saved modified date for'); - if ($typeof eq 'date_start') { - if ($thiskey =~ /\.printstartdate$/) { - $name = 'printstartdate'; - if (($data) && ($data > $now)) { - $valchk = 'future'; - } - } - } elsif ($typeof eq 'date_end') { - if ($thiskey =~ /\.printenddate$/) { - $name = 'printenddate'; - if (($data) && ($data < $now)) { - $valchk = 'past'; + if ($name ne '') { + my ($needsrelease,$needsnewer); + $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$data"}; + if ($needsrelease) { + unless ($got_chostname) { + ($chostname,$cmajor,$cminor)=¶meter_release_vars(); + $got_chostname = 1; } + $needsnewer = ¶meter_releasecheck($name,$data, + $needsrelease, + $chostname,$cmajor, + $cminor); } - } - } elsif ($cmd eq 'dateinterval') { - $data=&get_date_interval_from_form($thiskey); - $typeof=$env{'form.typeof_'.$thiskey}; - $text = &mt('Saved modified date for'); - } - if ($name ne '') { - my ($needsrelease,$needsnewer); - $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$valchk"}; - if ($needsrelease) { - unless ($got_chostname) { - ($chostname,$cmajor,$cminor)=¶meter_release_vars(); - $got_chostname = 1; - } - $needsnewer = ¶meter_releasecheck($name,$valchk, - $needsrelease, - $cmajor,$cminor); if ($needsnewer) { $r->print('
'.&oldversion_warning($name,$data, $chostname,$cmajor, @@ -2900,6 +2878,14 @@ sub storedata { next; } } + } elsif ($cmd eq 'datepointer') { + $data=&Apache::lonhtmlcommon::get_date_from_form($env{$key}); + $typeof=$env{'form.typeof_'.$thiskey}; + $text = &mt('Saved modified date for'); + } elsif ($cmd eq 'dateinterval') { + $data=&get_date_interval_from_form($thiskey); + $typeof=$env{'form.typeof_'.$thiskey}; + $text = &mt('Saved modified date for'); } if (defined($data) and $$olddata{$thiskey} ne $data) { if ($tuname) { @@ -2943,7 +2929,7 @@ sub storedata { if (&Apache::lonnet::del('resourcedata',\@deldata,$dom,$crs) eq 'ok') { my %loghash=map { $_ => '' } @deldata; &log_parmset(\%loghash,1); - $r->print('

'.&mt('Deleted quant,_1,parameter]',$delentries/2).'

'); + $r->print('

'.&mt('Deleted [_1] parameter(s)',$delentries).'

'); } else { $r->print('
'. &mt('Error deleting parameters').'
'); @@ -2953,7 +2939,7 @@ sub storedata { if ($putentries) { if (&Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs) eq 'ok') { &log_parmset(\%newdata,0); - $r->print('

'.&mt('Saved [quant,_1,parameter]',$putentries/2).'

'); + $r->print('

'.&mt('Saved [_1] parameter(s)',$putentries/2).'

'); } else { $r->print('
'. &mt('Error saving parameters').'
'); @@ -3191,7 +3177,7 @@ my %strings = => [[ 'problem', 'Standard Problem'], [ 'survey', 'Survey'], [ 'anonsurveycred', 'Anonymous Survey (credit for submission)'], - [ 'exam', 'Exam'], + [ 'exam', 'Bubblesheet Exam'], [ 'anonsurvey', 'Anonymous Survey'], [ 'randomizetry', 'New Randomization Each N Tries (default N=1)'], [ 'practice', 'Practice'], @@ -3237,7 +3223,8 @@ sub string_selector { $got_chostname = 1; } my $needsnewer=¶meter_releasecheck($name,$parmval,$needsrelease, - $cmajor,$cminor); + $chostname,$cmajor, + $cminor); if ($needsnewer) { $skiptype{$parmval} = 1; } @@ -3335,6 +3322,7 @@ sub newoverview { my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview', text=>"Overview Mode"}); @@ -3354,6 +3342,7 @@ sub newoverview { {'add_entries' => \%loaditems,}); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview'); $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset',$crstype); $r->print(< ENDOVER @@ -3382,7 +3371,7 @@ ENDOVER my $pschp=$env{'form.pschp'}; my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); - if (!@psprt) { $psprt[0]='0'; } + if (!@psprt) { $psprt[0]='all'; } my @selected_sections = &Apache::loncommon::get_env_multiple('form.Section'); @@ -3479,6 +3468,7 @@ ENDOVER $r->print(&tableend(). ((($env{'form.store'}) || ($env{'form.dis'}))?'

':''). ''); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3521,12 +3511,14 @@ sub overview { my ($r) = @_; my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview', text=>"Overview Mode"}); my $start_page=&Apache::loncommon::start_page('Modify Parameters'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview'); $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset',$crstype); $r->print('
'); # Store modified @@ -3624,8 +3616,8 @@ ENDOVER my ($map,$resid,$url) = &Apache::lonnet::decode_symb($data{'realm'}); $r->print(&mt('Resource: [_1]with ID: [_2]in folder [_3]', - $url.'
   ', - $resid.'
   ',$map)); + $url.'
   ', + $resid.'
   ',$map)); } $r->print('
   '.&mt('Part: [_1]',$data{'parameter_part'})); $r->print(''); @@ -3635,6 +3627,7 @@ ENDOVER $r->print(&Apache::loncommon::end_data_table().'

'. ''. '

'); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3642,17 +3635,20 @@ sub date_shift_one { my ($r) = @_; my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'}, text=>"Shifting Dates"}); my $start_page=&Apache::loncommon::start_page('Shift Dates'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift'); $r->print($start_page.$breadcrumbs); - $r->print('
'. + &startSettingsScreen($r,'parmset',$crstype); + $r->print(''. ''. '
'.&mt('Currently set date:').''. &Apache::lonlocal::locallocaltime($env{'form.timebase'}).'
'.&mt('Shifted date:').''. - &Apache::lonhtmlcommon::date_setter('shiftform', + &Apache::lonhtmlcommon::dshowerfuck.net +ate_setter('shiftform', 'timeshifted', $env{'form.timebase'},, ''). @@ -3660,6 +3656,7 @@ sub date_shift_one { ''. ''. ''); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3667,23 +3664,20 @@ sub date_shift_two { my ($r) = @_; my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'}, text=>"Shifting Dates"}); my $start_page=&Apache::loncommon::start_page('Shift Dates'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift'); $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset',$crstype); my $timeshifted=&Apache::lonhtmlcommon::get_date_from_form('timeshifted'); - $r->print('

'.&mt('Shift Dates').'

'. - '

'.&mt('Shifting all dates such that [_1] becomes [_2]', + $r->print(&mt('Shifting all dates such that [_1] becomes [_2]', &Apache::lonlocal::locallocaltime($env{'form.timebase'}), - &Apache::lonlocal::locallocaltime($timeshifted)).'

'); + &Apache::lonlocal::locallocaltime($timeshifted))); my $delta=$timeshifted-$env{'form.timebase'}; &dateshift($delta); - $r->print( - &Apache::lonhtmlcommon::confirm_success(&mt('Done')). - '

'. - &Apache::lonhtmlcommon::actionbox( - [''.&mt('Content and Problem Settings').''])); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3728,7 +3722,7 @@ sub parse_key { sub header { - return &Apache::loncommon::start_page('Content and Problem Settings'); + return &Apache::loncommon::start_page('Settings'); } @@ -3738,6 +3732,10 @@ sub print_main_menu { # $r->print(&header()); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Content and Problem Settings')); + my $crstype = &Apache::loncommon::course_type(); + my $lc_crstype = lc($crstype); + + &startSettingsScreen($r,'parmset',$crstype); $r->print(< @@ -3753,9 +3751,6 @@ ENDMAINFORMHEAD '/'.$env{'request.course.sec'}); } - my $crstype = &Apache::loncommon::course_type(); - my $lc_crstype = lc($crstype); - my @menu = ( { categorytitle=>"Content Settings for this $crstype", items => [ @@ -3823,7 +3818,7 @@ ENDMAINFORMHEAD }]} ); $r->print(&Apache::lonhtmlcommon::generate_menu(@menu)); - $r->print(''.&Apache::loncommon::end_page()); + &endSettingsScreen($r); return; } @@ -3891,6 +3886,7 @@ sub order_meta_fields { my $idx = 1; my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};; $r->print(&Apache::loncommon::start_page('Order Metadata Fields')); &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata', text=>"Add Metadata Field"}); @@ -3899,6 +3895,7 @@ sub order_meta_fields { text=>"Restrict Metadata"}, {text=>"Order Metadata"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Order Metadata')); + &startSettingsScreen($r,'parmset',$crstype); if ($env{'form.storeorder'}) { my $newpos = $env{'form.newpos'} - 1; my $currentpos = $env{'form.currentpos'} - 1; @@ -3952,7 +3949,7 @@ sub order_meta_fields { foreach my $key (@fields_in_order) { $r->print('
'); $r->print('
'); - $r->print(''); for (my $i = 1;$i le $num_fields;$i ++) { if ($i eq $idx) { $r->print(''); @@ -3968,6 +3965,7 @@ sub order_meta_fields { $idx ++; } $r->print('
'); + &endSettingsScreen($r); return 'ok'; } @@ -3989,6 +3987,8 @@ sub addmetafield { $r->print(&Apache::lonhtmlcommon::breadcrumbs('Add Metadata Field')); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; + &startSettingsScreen($r,'parmset',$crstype); if (exists($env{'form.undelete'})) { my @meta_fields = &Apache::loncommon::get_env_multiple('form.undeletefield'); foreach my $meta_field(@meta_fields) { @@ -4028,6 +4028,7 @@ sub addmetafield { $r->print(''); } $r->print(''); + &endSettingsScreen($r); } @@ -4044,6 +4045,8 @@ sub setrestrictmeta { $r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata')); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; + &startSettingsScreen($r,'parmset',$crstype); my $key_base = $env{'course.'.$env{'request.course.id'}.'.'}; my $save_field = ''; if ($env{'form.restrictmeta'}) { @@ -4114,6 +4117,7 @@ ENDButtons $buttons ENDenv + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); return 'ok'; } @@ -4154,14 +4158,16 @@ sub defaultsetter { &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setdefaults', text=>"Set Defaults"}); + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; my $start_page = - &Apache::loncommon::start_page('Parameter Setting Default Actions'); + &Apache::loncommon::start_page('Parameter Setting Default Actions'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Defaults'); $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset',$crstype); $r->print('
'); - my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; - my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; my @ids=(); my %typep=(); my %keyp=(); @@ -4215,8 +4221,8 @@ sub defaultsetter { foreach my $key (keys %allparms) { $newrules{$key.'_triggers'}=$triggers{$key}; } - &Apache::lonnet::put('parmdefactions',\%newrules,$dom,$crs); - &Apache::lonnet::del('parmdefactions',\@delrules,$dom,$crs); + &Apache::lonnet::put('parmdefactions',\%newrules,$cdom,$cnum); + &Apache::lonnet::del('parmdefactions',\@delrules,$cdom,$cnum); &resetrulescache(); } my %lt=&Apache::lonlocal::texthash('days' => 'Days', @@ -4304,6 +4310,7 @@ ENDYESNO $r->print(&Apache::loncommon::end_data_table(). "\n".'
'."\n"); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); return; } @@ -4392,6 +4399,9 @@ sub standard_parameter_types { sub parm_change_log { my ($r)=@_; + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'} &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable', text=>"Parameter Change Log"}); my $js = ''."\n"; $r->print(&Apache::loncommon::start_page('Parameter Change Log',$js)); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log')); - my %parmlog=&Apache::lonnet::dump('nohist_parameterlog', - $env{'course.'.$env{'request.course.id'}.'.domain'}, - $env{'course.'.$env{'request.course.id'}.'.num'}); + &startSettingsScreen($r,'parmset',$crstype); + my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',$cdom,$cnum); if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); } @@ -4421,8 +4430,7 @@ sub parm_change_log { ''. '
'); - my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'}, - $env{'course.'.$env{'request.course.id'}.'.domain'}); + my $courseopt=&Apache::lonnet::get_courseresdata($cnum,$cdom); $r->print(&Apache::loncommon::start_data_table().&Apache::loncommon::start_data_table_header_row(). ''.&mt('Time').''.&mt('User').''.&mt('Extent').''.&mt('Users').''. &mt('Parameter').''.&mt('Part').''.&mt('New Value').''.&mt('Announce').''. @@ -4569,6 +4577,7 @@ sub parm_change_log { || $shown<=$env{'form.show'})) { last; } } $r->print(&Apache::loncommon::end_data_table()); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -4617,10 +4626,10 @@ sub update_slots { context => 'parameter', ); &Apache::lonnet::write_log('course','slotreservationslog',\%storehash, - '',$uname,$udom,$cnum,$cdom); + '',$uname,$udom,$cnum,$cdom); &Apache::lonnet::write_log('course',$cdom.'_'.$cnum.'_slotlog',\%storehash, - '',$uname,$udom,$uname,$udom); + '',$uname,$udom,$uname,$udom); } return $success; } @@ -4651,9 +4660,9 @@ sub delete_slots { context => 'parameter', ); &Apache::lonnet::write_log('course','slotreservationslog',\%storehash, - 1,$uname,$udom,$cnum,$cdom); + 1,$uname,$udom,$cnum,$cdom); &Apache::lonnet::write_log('course',$cdom.'_'.$cnum.'_slotlog',\%storehash, - 1,$uname,$udom,$uname,$udom); + 1,$uname,$udom,$uname,$udom); } } } @@ -4676,7 +4685,7 @@ sub parameter_release_vars { } sub parameter_releasecheck { - my ($name,$value,$needsrelease,$cmajor,$cminor) = @_; + my ($name,$value,$needsrelease,$chostname,$cmajor,$cminor) = @_; my $needsnewer; my ($needsmajor,$needsminor) = split(/\./,$needsrelease); if (($cmajor < $needsmajor) || @@ -4711,19 +4720,6 @@ sub oldversion_warning { } } } - } elsif (($name eq 'printstartdate') || ($name eq 'printenddate')) { - my $now = time; - if ($value =~ /^\d+$/) { - if ($name eq 'printstartdate') { - if ($value > $now) { - $desc = &Apache::lonlocal::locallocaltime($value); - } - } elsif ($name eq 'printenddate') { - if ($value < $now) { - $desc = &Apache::lonlocal::locallocaltime($value); - } - } - } } my $standard_name = &standard_parameter_names($name); return '

'.