Diff for /loncom/interface/lonparmset.pm between versions 1.404 and 1.414

version 1.404, 2008/07/09 11:10:06 version 1.414, 2008/11/11 20:12:17
Line 325  sub date_sanity_info { Line 325  sub date_sanity_info {
    my $crsprefix='course.'.$env{'request.course.id'}.'.';     my $crsprefix='course.'.$env{'request.course.id'}.'.';
    if ($env{$crsprefix.'default_enrollment_end_date'}) {     if ($env{$crsprefix.'default_enrollment_end_date'}) {
       if ($checkdate>$env{$crsprefix.'default_enrollment_end_date'}) {        if ($checkdate>$env{$crsprefix.'default_enrollment_end_date'}) {
          $result.='<br />'.&mt('After course enrollment end!');           $result.='<div class="LC_warning">'
                    .&mt('After course enrollment end!')
                    .'</div>';
       }        }
    }     }
    if ($env{$crsprefix.'default_enrollment_start_date'}) {     if ($env{$crsprefix.'default_enrollment_start_date'}) {
       if ($checkdate<$env{$crsprefix.'default_enrollment_start_date'}) {        if ($checkdate<$env{$crsprefix.'default_enrollment_start_date'}) {
          $result.='<br />'.&mt('Before course enrollment start!');           $result.='<div class="LC_warning">'
                    .&mt('Before course enrollment start!')
                    .'</div>';
       }        }
    }     }
   # Preparation for additional warnings about dates in the past/future.
   # An improved, more context sensitive version is recommended,
   # e.g. warn for due and answer dates which are defined before the corresponding open date, etc.
   #   if ($checkdate<time) {
   #      $result.='<div class="LC_info">'
   #              .'('.&mt('in the past').')'
   #              .'</div>';
   #      }
   #   if ($checkdate>time) {
   #      $result.='<div class="LC_info">'
   #              .'('.&mt('in the future').')'
   #              .'</div>';
   #      }
    return $result;     return $result;
 }  }
 ##################################################  ##################################################
Line 551  sub valout { Line 568  sub valout {
     } else {      } else {
         if ($type eq 'date_interval') {          if ($type eq 'date_interval') {
             my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value);              my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value);
               my @timer;
             $year=$year-70;              $year=$year-70;
             $mday--;              $mday--;
             if ($year) {              if ($year) {
  $result.=$year.' yrs ';  #               $result.=&mt('[quant,_1,yr]',$year).' ';
                   push(@timer,&mt('[quant,_1,yr]',$year));
             }              }
             if ($mon) {              if ($mon) {
  $result.=$mon.' mths ';  #               $result.=&mt('[quant,_1,mth]',$mon).' ';
                   push(@timer,&mt('[quant,_1,mth]',$mon));
             }              }
             if ($mday) {              if ($mday) {
  $result.=$mday.' days ';  #               $result.=&mt('[quant,_1,day]',$mday).' ';
                   push(@timer,&mt('[quant,_1,day]',$mday));
             }              }
             if ($hour) {              if ($hour) {
  $result.=$hour.' hrs ';  #               $result.=&mt('[quant,_1,hr]',$hour).' ';
                   push(@timer,&mt('[quant,_1,hr]',$hour));
             }              }
             if ($min) {              if ($min) {
  $result.=$min.' mins ';  #               $result.=&mt('[quant,_1,min]',$min).' ';
                   push(@timer,&mt('[quant,_1,min]',$min));
             }              }
             if ($sec) {              if ($sec) {
  $result.=$sec.' secs ';  #               $result.=&mt('[quant,_1,sec]',$sec).' ';
                   push(@timer,&mt('[quant,_1,sec]',$sec));
             }              }
             $result=~s/\s+$//;  #           $result=~s/\s+$//;
               if (!@timer) { # Special case: all entries 0 -> display "0 secs" intead of empty field to keep this field editable
                   push(@timer,&mt('[quant,_1,sec]',0));
               }
               $result.=join(", ",@timer);
         } elsif (&isdateparm($type)) {          } elsif (&isdateparm($type)) {
             $result = &Apache::lonlocal::locallocaltime($value).              $result = &Apache::lonlocal::locallocaltime($value).
  &date_sanity_info($value);   &date_sanity_info($value);
Line 683  sub startpage { Line 711  sub startpage {
     my %loaditems = ('onunload' => "pclose()",      my %loaditems = ('onunload' => "pclose()",
      'onload'   => "group_or_section('cgroup')",);       'onload'   => "group_or_section('cgroup')",);
   
       if ((($env{'form.command'} eq 'set') && ($env{'form.url'})
        && (!$env{'form.dis'})) || ($env{'form.symb'})) {
    &Apache::lonhtmlcommon::add_breadcrumb({help=>'Problem_Parameters',
       text=>"Problem Parameters"});
       } else {
    &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
      text=>"Table Mode",
      help => 'Course_Setting_Parameters'});
       }
     my $start_page =       my $start_page = 
  &Apache::loncommon::start_page('Set/Modify Course Parameters',   &Apache::loncommon::start_page('Set/Modify Course Parameters',
        &page_js(),         &page_js(),
Line 973  sub extractResourceInformation { Line 1010  sub extractResourceInformation {
     if (!exists($$allparms{$name}) || $$allparms{$name} =~ m/^\s*$/ ) {      if (!exists($$allparms{$name}) || $$allparms{$name} =~ m/^\s*$/ ) {
  my $display= &Apache::lonnet::metadata($srcf,$key.'.display');   my $display= &Apache::lonnet::metadata($srcf,$key.'.display');
  my $parmdis = $display;   my $parmdis = $display;
  $parmdis =~ s/\[Part.*$//g;   $parmdis =~ s/\s*\[Part.*$//g;
  $$allparms{$name}=$parmdis;   $$allparms{$name}=$parmdis;
  if (ref($defkeytype)) {   if (ref($defkeytype)) {
     $$defkeytype{$name}=      $$defkeytype{$name}=
Line 985  sub extractResourceInformation { Line 1022  sub extractResourceInformation {
 # allparts is a hash of all parts  # allparts is a hash of all parts
 #  #
     my $part= &Apache::lonnet::metadata($srcf,$key.'.part');      my $part= &Apache::lonnet::metadata($srcf,$key.'.part');
     $$allparts{$part} = "Part: $part";      $$allparts{$part} = &mt('Part: [_1]',$part);
 #  #
 # Remember all keys going with this resource  # Remember all keys going with this resource
 #  #
Line 1107  ENDSCRIPT Line 1144  ENDSCRIPT
  if ($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat}) {   if ($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat}) {
     $r->print(' checked');      $r->print(' checked');
  }   }
  $r->print('>'.($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey}   $r->print('>'.($$allparms{$tempkey}=~/\S/ ? &mt($$allparms{$tempkey})
                                   : $tempkey)                                    : &mt($tempkey))
   .'</label></td>');    .'</label></td>');
   $cnt++;    $cnt++;
         if ($cnt==3) {          if ($cnt==3) {
Line 1116  ENDSCRIPT Line 1153  ENDSCRIPT
     $cnt=0;      $cnt=0;
  }   }
     }      }
     $r->print('      $r->print('</tr>'
 </tr><tr id=\"LC_parm_overview_parm_menu_selectors\"><td>               .'<tr id=\"LC_parm_overview_parm_menu_selectors\">'
 <a href="javascript:checkall(true, \'pscat\')">Select&nbsp;All</a><br />               .'<td valign="top">'
 <a href="javascript:checkstandard()">Select&nbsp;Common&nbsp;Only</a>               .'<fieldset><legend><b>'.&mt('Parameter Selection').'</b></legend>'
 </td><td>               .'<span class="LC_nobreak">'
 <a href="javascript:checkdates()">Add&nbsp;Problem&nbsp;Dates</a>               .'&bull; <a href="javascript:checkall(true, \'pscat\')">'.&mt('Select All').'</a>'
 <a href="javascript:checkcontdates()">Add&nbsp;Content&nbsp;Dates</a><br />               .'</span>'
 <a href="javascript:checkdisset()">Add&nbsp;Discussion&nbsp;Settings</a>               .'<br />'
 <a href="javascript:checkvisi()">Add&nbsp;Visibilities</a><br />               .'<span class="LC_nobreak">'
 <a href="javascript:checkparts()">Add&nbsp;Part&nbsp;Parameters</a>               .'&bull; <a href="javascript:checkstandard()">'.&mt('Select Common Only').'</a>'
 </td><td>               .'</span>'
 <a href="javascript:checkall(false, \'pscat\')">Unselect&nbsp;All</a>               .'<br />'
 </td>               .'<span class="LC_nobreak">'
 ');               .'&bull; <a href="javascript:checkall(false, \'pscat\')">'.&mt('Unselect All').'</a>'
     $r->print('</tr></table>');               .'</span>'
                .'</fieldset>'
                .'</td>'
                .'<td colspan="2" valign="top">'
                .'<fieldset><legend><b>'.&mt('Add Selection for...').'</b></legend>'
                .'<span class="LC_nobreak">'
                .'&bull; <a href="javascript:checkdates()">'.&mt('Problem Dates').'</a>'
                .'</span>'
                .'<span class="LC_nobreak">'
                .' &bull; <a href="javascript:checkcontdates()">'.&mt('Content Dates').'</a>'
                .'</span>'
   #            .'<br />'
                .'<span class="LC_nobreak">'
                .' &bull; <a href="javascript:checkdisset()">'.&mt('Discussion Settings').'</a>'
                .'</span>'
                .'<span class="LC_nobreak">'
                .' &bull; <a href="javascript:checkvisi()">'.&mt('Visibilities').'</a>'
                .'</span>'
   #            .'<br />'
                .'<span class="LC_nobreak">'
                .' &bull; <a href="javascript:checkparts()">'.&mt('Part Parameters').'</a>'
                .'</span>'
                .'</fieldset>'
                .'</td>'
                .'</tr></table>'
       );
 }  }
   
 sub partmenu {  sub partmenu {
Line 1160  sub usermenu { Line 1222  sub usermenu {
     my $chooseopt=&Apache::loncommon::select_dom_form($udom,'udom').' '.      my $chooseopt=&Apache::loncommon::select_dom_form($udom,'udom').' '.
         &Apache::loncommon::selectstudent_link('parmform','uname','udom');          &Apache::loncommon::selectstudent_link('parmform','uname','udom');
     my $selscript=&Apache::loncommon::studentbrowser_javascript();      my $selscript=&Apache::loncommon::studentbrowser_javascript();
     my %lt=&Apache::lonlocal::texthash(  
     'se'    => "Section",  
                     'gr'    => "Group",  
     'fu'    => "For User",  
     'oi'    => "or ID",  
     'ad'    => "at Domain"  
        );  
     my $sections='';      my $sections='';
     my %sectionhash = &Apache::loncommon::get_sections();      my %sectionhash = &Apache::loncommon::get_sections();
   
     my $groups;      my $groups;
     my %grouphash = &Apache::longroup::coursegroups();      my %grouphash = &Apache::longroup::coursegroups();
   
       my $g_s_header='';
       my $g_s_footer='';
   
     if (%sectionhash) {      if (%sectionhash) {
         $sections=$lt{'se'}.': <select name="csec"';          $sections=&mt('Section:').' <select name="csec"';
         if (%grouphash && $parmlev ne 'full') {          if (%grouphash && $parmlev ne 'full') {
             $sections .= qq| onchange="group_or_section('csec')" |;              $sections .= qq| onchange="group_or_section('csec')" |;
         }          }
Line 1186  sub usermenu { Line 1245  sub usermenu {
         }          }
         $sections.='</select>';          $sections.='</select>';
     }      }
   
     if (%sectionhash && %grouphash && $parmlev ne 'full') {      if (%sectionhash && %grouphash && $parmlev ne 'full') {
         $sections .= '&nbsp;or&nbsp;';          $sections .= '&nbsp;'.&mt('or').'&nbsp;';
         $sections .= qq|          $sections .= qq|
 <script type="text/javascript">  <script type="text/javascript">
 function group_or_section(caller) {  function group_or_section(caller) {
Line 1214  function group_or_section(caller) { Line 1274  function group_or_section(caller) {
     }       } 
   
     if (%grouphash) {      if (%grouphash) {
         $groups=$lt{'gr'}.': <select name="cgroup"';          $groups=&mt('Group:').' <select name="cgroup"';
         if (%sectionhash && $env{'form.action'} eq 'settable') {          if (%sectionhash && $env{'form.action'} eq 'settable') {
             $groups .= qq| onchange="group_or_section('cgroup')" |;              $groups .= qq| onchange="group_or_section('cgroup')" |;
         }          }
Line 1236  function group_or_section(caller) { Line 1296  function group_or_section(caller) {
         }          }
         $groups.='</select>';          $groups.='</select>';
     }      }
     $r->print(<<ENDMENU);  
 <b>      if (%sectionhash || %grouphash) {
 $sections          $g_s_header='<fieldset><legend>'.&mt('Group/Section').'</legend><div>';
 $groups          $g_s_footer='</div></fieldset>';
 <br />      }
 $lt{'fu'}   
 <input type="text" value="$uname" size="12" name="uname" />      $r->print('<b>'
 $lt{'oi'}               .$g_s_header
 <input type="text" value="$id" size="12" name="id" />                .$sections
 $lt{'ad'}               .$groups
 $chooseopt               .$g_s_footer
 </b>               .'<fieldset><legend>'.&mt('User').'</legend><div>'
 ENDMENU               .&mt('For User [_1] or Student/Employee ID [_2] at Domain [_3]'
                    ,'<input type="text" value="'.$uname.'" size="12" name="uname" />'
                    ,'<input type="text" value="'.$id.'" size="12" name="id" /> '
                    ,$chooseopt)
                .'</div></fieldset>'
                .'</b>'
       );
 }  }
   
 sub displaymenu {  sub displaymenu {
Line 1256  sub displaymenu { Line 1322  sub displaymenu {
     $r->print('<table border="1"><tr><th>'.&mt('Select Parameters to View').'</th><th>'.      $r->print('<table border="1"><tr><th>'.&mt('Select Parameters to View').'</th><th>'.
      &mt('Select Parts to View').'</th></tr><tr><td>');         &mt('Select Parts to View').'</th></tr><tr><td>');  
     &parmmenu($r,$allparms,$pscat,$keyorder);      &parmmenu($r,$allparms,$pscat,$keyorder);
     $r->print('</td><td>');      $r->print('</td><td valign="top" align="center">');
     &partmenu($r,$allparts,$psprt);      &partmenu($r,$allparts,$psprt);
     $r->print('</td></tr></table>');      $r->print('</td></tr></table>');
 }  }
Line 2022  sub crsenv { Line 2088  sub crsenv {
     my $r=shift;      my $r=shift;
     my $setoutput='';      my $setoutput='';
   
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=crsenv',
    text=>"Course Environment"});
     my $breadcrumbs =       my $breadcrumbs = 
  &Apache::lonhtmlcommon::breadcrumbs('Edit Course Environment');   &Apache::lonhtmlcommon::breadcrumbs('Edit Course Environment');
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
Line 2126  sub crsenv { Line 2194  sub crsenv {
                 $setoutput.=&mt('Set').' <b>'.$name.'</b> '.&mt('to').' <b>';                  $setoutput.=&mt('Set').' <b>'.$name.'</b> '.&mt('to').' <b>';
                 if ($name =~ /^default_enrollment_(start|end)_date$/) {                  if ($name =~ /^default_enrollment_(start|end)_date$/) {
                     $setoutput .= &Apache::lonlocal::locallocaltime($value);                      $setoutput .= &Apache::lonlocal::locallocaltime($value);
                   } elsif ($name eq 'categories') {
                       $setoutput .= $env{'form.categories_display'};
                 } else {                  } else {
                     $setoutput .= $value;                      $setoutput .= $value;
                 }                  }
Line 2355  sub crsenv { Line 2425  sub crsenv {
              'categories'               'categories'
                  => '<b>'.&mt('Categorize course').'</b> <a href="javascript:catsbrowser()">'.                   => '<b>'.&mt('Categorize course').'</b> <a href="javascript:catsbrowser()">'.
                     &mt('Display Categories').'</a>',                      &mt('Display Categories').'</a>',
                'datelocale' 
                    => '<b>'.&mt('Locale used for course calendar').'</b>',
              );               );
         my @Display_Order = ('url','description','courseid','cloners');          my @Display_Order = ('url','description','courseid','cloners');
         (my $can_toggle_cat,$can_categorize) = &can_modify_catsettings($dom);          (my $can_toggle_cat,$can_categorize) = &can_modify_catsettings($dom);
Line 2378  sub crsenv { Line 2450  sub crsenv {
                              'allow_discussion_post_editing',                               'allow_discussion_post_editing',
                              'languages',                               'languages',
                              'timezone',                               'timezone',
                                'datelocale',
      'nothideprivileged',       'nothideprivileged',
                              'rndseed',                               'rndseed',
                              'receiptalg',                               'receiptalg',
Line 2399  sub crsenv { Line 2472  sub crsenv {
      'disableexampointprint',       'disableexampointprint',
      'task_messages','task_grading'));       'task_messages','task_grading'));
  foreach my $parameter (sort(keys(%values))) {   foreach my $parameter (sort(keys(%values))) {
             unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./)) {              unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./) ||
                       ($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/)
                       || ($parameter eq 'type')) {
                 if (! $descriptions{$parameter}) {                  if (! $descriptions{$parameter}) {
                     $descriptions{$parameter}=$parameter;                      $descriptions{$parameter}=$parameter;
                     push(@Display_Order,$parameter);                      push(@Display_Order,$parameter);
Line 2429  sub crsenv { Line 2504  sub crsenv {
                     &Apache::loncommon::select_timezone($parameter.'_value',                      &Apache::loncommon::select_timezone($parameter.'_value',
                                                         $timezone,                                                          $timezone,
                                                         $onchange,$includeempty).'</td>';                                                          $onchange,$includeempty).'</td>';
               } elsif ($parameter eq 'datelocale') {
                   my $includeempty = 1;
                   my $locale_obj = &Apache::lonlocal::getdatelocale();
                   my $currdatelocale;
                   if (ref($locale_obj)) {
                       $currdatelocale = $locale_obj->id();
                   }
                   $output .= '<td>'.
                       &Apache::loncommon::select_datelocale($parameter.'_value',
                                                             $currdatelocale,
                                                             $onchange,$includeempty).'</td>'; 
               } elsif ($parameter eq 'categories') {
                   my $catdisplay;
                   if ($values{'categories'} ne '') {
                       my @curritems = split(/\&/,$values{'categories'});
                       foreach my $item (@curritems) {
                           my ($name,$parent,$pos) = split(/:/,$item);
                           $catdisplay .= &unescape($name).'&';
                       }
                       $catdisplay =~ s/\&$//;
                   } 
                   $output .= '<td>'.
                              '<input type="hidden" name="categories_value" value="'.
                              $values{'categories'}.'" />'.
                              '<input type="textbox" name="categories_display" value="'.
                              $catdisplay.'" readonly="readonly" size="40" /></td>';
             } else {              } else {
                 $output .= '<td>'.                  $output .= '<td>'.
                     &Apache::lonhtmlcommon::textbox($parameter.'_value',                      &Apache::lonhtmlcommon::textbox($parameter.'_value',
Line 2539  sub assign_course_categories { Line 2640  sub assign_course_categories {
   
 function updateCategories() {  function updateCategories() {
     var newcategories = '';      var newcategories = '';
       var unescapedcats = '';
     if (document.chgcats.usecategory.length) {      if (document.chgcats.usecategory.length) {
         for (var i=0; i<document.chgcats.usecategory.length; i++) {          for (var i=0; i<document.chgcats.usecategory.length; i++) {
             if (document.chgcats.usecategory[i].checked == true) {              if (document.chgcats.usecategory[i].checked == true) {
                 newcategories = newcategories + document.chgcats.usecategory[i].value + '&';                  newcategories = newcategories + document.chgcats.usecategory[i].value + '&';
                   unescapedcats = unescapedcats + document.chgcats.catname[i].value + ' & ';
             }              }
         }          }
         if (newcategories.length > 0) {          if (newcategories.length > 0) {
             newcategories = newcategories.slice(0,-1);              newcategories = newcategories.slice(0,-1);
         }          }
           if (unescapedcats.length > 0) {
               unescapedcats = unescapedcats.slice(0,-3);
           }
     } else {      } else {
          if (document.chgcats.usecategory.checked == true) {           if (document.chgcats.usecategory.checked == true) {
              newcategories = document.chgcats.usecategory.value;               newcategories = document.chgcats.usecategory.value;
                unescapedcats = document.chgcats.catname.value;
          }           }
     }      }
     opener.document.envform.categories_value.value = newcategories;      opener.document.envform.categories_value.value = newcategories;
       opener.document.envform.categories_display.value = unescapedcats;
     opener.document.envform.categories_setparmval.checked = true;      opener.document.envform.categories_setparmval.checked = true;
     alert("$alert");      alert("$alert");
     self.close();      self.close();
Line 2881  sub listdata { Line 2989  sub listdata {
       $$resourcedata{$thiskey},        $$resourcedata{$thiskey},
       '',1,'','').        '',1,'','').
 '<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'.  '<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'.
 (($$resourcedata{$thiskey}!=0)?'<a href="/adm/parmset?&action=dateshift1&timebase='.$$resourcedata{$thiskey}.'">'.  (($$resourcedata{$thiskey}!=0)?'<span class="LC_nobreak"><a href="/adm/parmset?&action=dateshift1&timebase='.$$resourcedata{$thiskey}.'">'.
 &mt('Shift all dates based on this date').'</a>':'').  &mt('Shift all dates based on this date').'</a></span>':'').
 &date_sanity_info($$resourcedata{$thiskey})  &date_sanity_info($$resourcedata{$thiskey})
   );    );
     } elsif ($thistype eq 'date_interval') {      } elsif ($thistype eq 'date_interval') {
Line 3018  sub newoverview { Line 3126  sub newoverview {
   
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
       text=>"Overview Mode"});
     my $start_page = &Apache::loncommon::start_page('Set Parameters');      my $start_page = &Apache::loncommon::start_page('Set Parameters');
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
     $r->print(<<ENDOVER);      $r->print(<<ENDOVER);
Line 3178  sub overview { Line 3288  sub overview {
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
   
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
    text=>"Overview Mode"});
     my $start_page=&Apache::loncommon::start_page('Modify Parameters');      my $start_page=&Apache::loncommon::start_page('Modify Parameters');
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
     $r->print(<<ENDOVER);      $r->print(<<ENDOVER);
Line 3212  sub clean_parameters { Line 3324  sub clean_parameters {
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
   
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=cleanparameters',
       text=>"Clean Parameters"});
     my $start_page=&Apache::loncommon::start_page('Clean Parameters');      my $start_page=&Apache::loncommon::start_page('Clean Parameters');
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Clean');      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Clean');
     $r->print(<<ENDOVER);      $r->print(<<ENDOVER);
Line 3295  sub date_shift_one { Line 3409  sub date_shift_one {
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
   
       &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 $start_page=&Apache::loncommon::start_page('Shift Dates');
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
     $r->print(<<ENDOVER);      $r->print(<<ENDOVER);
Line 3320  sub date_shift_two { Line 3436  sub date_shift_two {
     my ($r) = @_;      my ($r) = @_;
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
       &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 $start_page=&Apache::loncommon::start_page('Shift Dates');
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
     $r->print(<<ENDOVER);      $r->print(<<ENDOVER);
Line 3546  sub header { Line 3664  sub header {
 sub print_main_menu {  sub print_main_menu {
     my ($r,$parm_permission)=@_;      my ($r,$parm_permission)=@_;
     #      #
       $r->print(&header());
       $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Manager'));
     $r->print(<<ENDMAINFORMHEAD);      $r->print(<<ENDMAINFORMHEAD);
 <form method="post" enctype="multipart/form-data"  <form method="post" enctype="multipart/form-data"
       action="/adm/parmset" name="studentform">        action="/adm/parmset" name="studentform">
Line 3557  ENDMAINFORMHEAD Line 3677  ENDMAINFORMHEAD
     my $mgr  = &Apache::lonnet::allowed('mgr',$env{'request.course.id'});      my $mgr  = &Apache::lonnet::allowed('mgr',$env{'request.course.id'});
   
     my @menu =      my @menu =
         ( { divider=>'Settings for Your Course',          ( { categorytitle=>'Settings for Your Course',
   },      items => [
           { text => 'Set Course Environment',    { linktext => 'Set Course Environment',
     action => 'crsenv',      url => '/adm/parmset?action=crsenv',
             permission => $parm_permission,      permission => $parm_permission,
             help => 'Course_Environment',      help => 'Course_Environment',
             },      },
           { text => 'Set Portfolio Metadata',    { linktext => 'Set Portfolio Metadata',
     action => 'setrestrictmeta',      url => '/adm/parmset?action=setrestrictmeta',
             permission => $parm_permission,      permission => $parm_permission,
             },      },
   { text => 'Manage Course Slots',    { linktext => 'Manage Course Slots',
     url => '/adm/slotrequest?command=showslots',      url => '/adm/slotrequest?command=showslots',
     permission => $vgr,      permission => $vgr,
             },      },
   { text => 'Reset Student Access Times',    { linktext => 'Reset Student Access Times',
     url => '/adm/helper/resettimes.helper',      url => '/adm/helper/resettimes.helper',
     permission => $mgr,      permission => $mgr,
             },      },
   
           { text => 'Set Parameter Setting Default Actions',    { linktext => 'Set Parameter Setting Default Actions',
             action => 'setdefaults',      url => '/adm/parmset?action=setdefaults',
             permission => $parm_permission,      permission => $parm_permission,
             },                }]},          
   { divider => 'New and Existing Parameter Settings for Your Resources',    { categorytitle => 'New and Existing Parameter Settings for Your Resources',
     },      items => [
           { text => 'Set/Modify Resource Parameters - Helper Mode',    { linktext => 'Set/Modify Resource Parameters - Helper Mode',
             url => '/adm/helper/parameter.helper',      url => '/adm/helper/parameter.helper',
             permission => $parm_permission,      permission => $parm_permission,
             help => 'Parameter_Helper',      help => 'Parameter_Helper',
             },      },
    { text => 'Set/Modify Resource Parameters - Overview Mode',    { linktext => 'Set/Modify Resource Parameters - Overview Mode',
             action => 'newoverview',      url => '/adm/parmset?action=newoverview',
             permission => $parm_permission,      permission => $parm_permission,
             help => 'Parameter_Overview',      help => 'Parameter_Overview',
             },      },
           { text => 'Set/Modify Resource Parameters - Table Mode',    { linktext => 'Set/Modify Resource Parameters - Table Mode',
             action => 'settable',      url => '/adm/parmset?action=settable',
             permission => $parm_permission,      permission => $parm_permission,
             help => 'Table_Mode',      help => 'Table_Mode',
             },      }]},
            { divider => 'Existing Parameter Settings for Your Resources',             { categorytitle => 'Existing Parameter Settings for Your Resources',
   },       items => [
   { text => 'Modify Resource Parameters - Overview Mode',    { linktext => 'Modify Resource Parameters - Overview Mode',
             action => 'setoverview',      url => '/adm/parmset?action=setoverview',
             permission => $parm_permission,      permission => $parm_permission,
             help => 'Parameter_Overview',      help => 'Parameter_Overview',
      },                },          
   { text => 'Parameter Change Log and Course Blog Posting/User Notification',    { linktext => 'Parameter Change Log and Course Blog Posting/User Notification',
             action => 'parameterchangelog',      url => '/adm/parmset?action=parameterchangelog',
             permission => $parm_permission,      permission => $parm_permission,
             },      }]}
           );            );
     my $menu_html = '';  #---- Remove when done ----
     foreach my $menu_item (@menu) {  #    my $menu_html = '';
  if ($menu_item->{'divider'}) {  #    foreach my $menu_item (@menu) {
     $menu_html .= '<h3>'.&mt($menu_item->{'divider'}).'</h3>';  # if ($menu_item->{'categorytitle'}) {
     next;  #    $menu_html .= '<h3>'.&mt($menu_item->{'categorytitle'}).'</h3>';
  }  #    next;
         next if (! $menu_item->{'permission'});  # }
         $menu_html.='<p>';  #        next if (! $menu_item->{'permission'});
         $menu_html.='<span class="LC_parm_menu_item">';  #        $menu_html.='<p>';
         if (exists($menu_item->{'url'})) {  #        $menu_html.='<span class="LC_parm_menu_item">';
             $menu_html.=qq{<a href="$menu_item->{'url'}">};  #        if (exists($menu_item->{'url'})) {
         } else {  #            $menu_html.=qq{<a href="$menu_item->{'url'}">};
             $menu_html.=  #        } else {
                 qq{<a href="/adm/parmset?action=$menu_item->{'action'}">};  #            $menu_html.=
         }  #                qq{<a href="/adm/parmset?action=$menu_item->{'action'}">};
         $menu_html.= &mt($menu_item->{'text'}).'</a></span>';  #        }
         if (exists($menu_item->{'help'})) {  #        $menu_html.= &mt($menu_item->{'linktext'}).'</a></span>';
             $menu_html.=  #        if (exists($menu_item->{'help'})) {
                 &Apache::loncommon::help_open_topic($menu_item->{'help'});  #            $menu_html.=
         }  #                &Apache::loncommon::help_open_topic($menu_item->{'help'});
         $menu_html.='</p>'.$/;  #        }
     }  #        $menu_html.='</p>'.$/;
     $r->print($menu_html);  #    }
   # --------------------------
   
       $r->print(&Apache::lonhtmlcommon::generate_menu(@menu));
     return;      return;
 }  }
   
 ### Set portfolio metadata  ### Set portfolio metadata
 sub output_row {  sub output_row {
     my ($r, $field_name, $field_text, $added_flag) = @_;      my ($r, $field_name, $field_text, $added_flag) = @_;
Line 3696  sub order_meta_fields { Line 3820  sub order_meta_fields {
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
     $r->print(&Apache::loncommon::start_page('Order Metadata Fields'));      $r->print(&Apache::loncommon::start_page('Order Metadata Fields'));
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',
       text=>"Add Metadata Field"});
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>"/adm/parmset?action=setrestrictmeta",              ({href=>"/adm/parmset?action=setrestrictmeta",
               text=>"Restrict Metadata"},                text=>"Restrict Metadata"},
Line 3781  sub continue { Line 3907  sub continue {
 }  }
 sub addmetafield {  sub addmetafield {
     my ($r)=@_;      my ($r)=@_;
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',
       text=>"Add Metadata Field"});
     $r->print(&Apache::loncommon::start_page('Add Metadata Field'));      $r->print(&Apache::loncommon::start_page('Add Metadata Field'));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Add Metadata Field'));      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Add Metadata Field'));
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
Line 3831  sub setrestrictmeta { Line 3959  sub setrestrictmeta {
     my $output;      my $output;
     my $item_num;      my $item_num;
     my $put_result;      my $put_result;
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setrestrictmeta',
       text=>"Restrict Metadata"});
     $r->print(&Apache::loncommon::start_page('Restrict Metadata'));      $r->print(&Apache::loncommon::start_page('Restrict Metadata'));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata'));      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata'));
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
Line 3938  sub get_deleted_meta_fieldnames { Line 4068  sub get_deleted_meta_fieldnames {
 sub defaultsetter {  sub defaultsetter {
     my ($r) = @_;      my ($r) = @_;
   
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setdefaults',
       text=>"Set Defaults"});
     my $start_page =       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');      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Defaults');
Line 4170  sub standard_parameter_names { Line 4302  sub standard_parameter_names {
   
 sub parm_change_log {  sub parm_change_log {
     my ($r)=@_;      my ($r)=@_;
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
    text=>"Parameter Change Log"});
     $r->print(&Apache::loncommon::start_page('Parameter Change Log'));      $r->print(&Apache::loncommon::start_page('Parameter Change Log'));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));
   
Line 4350  sub handler { Line 4484  sub handler {
   
     &reset_caches();      &reset_caches();
   
     if ($r->header_only) {      &Apache::loncommon::content_type($r,'text/html');
  &Apache::loncommon::content_type($r,'text/html');      $r->send_http_header;
  $r->send_http_header;      return OK if $r->header_only;
  return OK;  
     }  
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     ['action','state',      ['action','state',
                                              'pres_marker',                                               'pres_marker',
Line 4378  sub handler { Line 4511  sub handler {
     my $exists = &check_for_course_info();      my $exists = &check_for_course_info();
   
     if ($env{'request.course.id'} &&  $parm_permission && $exists) {      if ($env{'request.course.id'} &&  $parm_permission && $exists) {
   
         # Start Page  
         &Apache::loncommon::content_type($r,'text/html');  
         $r->send_http_header;  
   
   
         #          #
         # Main switch on form.action and form.state, as appropriate          # Main switch on form.action and form.state, as appropriate
         #          #
Line 4391  sub handler { Line 4518  sub handler {
         #  the table mode          #  the table mode
         if ((($env{'form.command'} eq 'set') && ($env{'form.url'})          if ((($env{'form.command'} eq 'set') && ($env{'form.url'})
      && (!$env{'form.dis'})) || ($env{'form.symb'})) {       && (!$env{'form.dis'})) || ($env{'form.symb'})) {
             &Apache::lonhtmlcommon::add_breadcrumb({help=>'Problem_Parameters',  
     text=>"Problem Parameters"});  
     &assessparms($r);      &assessparms($r);
   
         } elsif (! exists($env{'form.action'})) {          } elsif (! exists($env{'form.action'})) {
             $r->print(&header());  
             $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Manager'));  
             &print_main_menu($r,$parm_permission);              &print_main_menu($r,$parm_permission);
         } elsif ($env{'form.action'} eq 'crsenv' && $parm_permission) {          } elsif ($env{'form.action'} eq 'crsenv') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=crsenv',  
     text=>"Course Environment"});  
             &crsenv($r);               &crsenv($r); 
         } elsif ($env{'form.action'} eq 'setoverview' && $parm_permission) {          } elsif ($env{'form.action'} eq 'setoverview') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',  
     text=>"Overview Mode"});  
     &overview($r);      &overview($r);
  } elsif ($env{'form.action'} eq 'addmetadata' && $parm_permission) {   } elsif ($env{'form.action'} eq 'addmetadata') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',  
     text=>"Add Metadata Field"});  
     &addmetafield($r);      &addmetafield($r);
  } elsif ($env{'form.action'} eq 'ordermetadata' && $parm_permission) {   } elsif ($env{'form.action'} eq 'ordermetadata') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',  
     text=>"Add Metadata Field"});  
     &order_meta_fields($r);      &order_meta_fields($r);
         } elsif ($env{'form.action'} eq 'setrestrictmeta' && $parm_permission) {          } elsif ($env{'form.action'} eq 'setrestrictmeta') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setrestrictmeta',  
     text=>"Restrict Metadata"});  
     &setrestrictmeta($r);      &setrestrictmeta($r);
         } elsif ($env{'form.action'} eq 'newoverview' && $parm_permission) {          } elsif ($env{'form.action'} eq 'newoverview') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',  
     text=>"Overview Mode"});  
     &newoverview($r);      &newoverview($r);
         }  elsif ($env{'form.action'} eq 'setdefaults' && $parm_permission) {          } elsif ($env{'form.action'} eq 'setdefaults') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setdefaults',  
     text=>"Set Defaults"});  
     &defaultsetter($r);      &defaultsetter($r);
  } elsif ($env{'form.action'} eq 'settable' && $parm_permission) {   } elsif ($env{'form.action'} eq 'settable') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',  
     text=>"Table Mode",  
     help => 'Course_Setting_Parameters'});  
     &assessparms($r);      &assessparms($r);
         } elsif ($env{'form.action'} eq 'parameterchangelog' && $parm_permission) {          } elsif ($env{'form.action'} eq 'parameterchangelog') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',  
     text=>"Parameter Change Log"});  
     &parm_change_log($r);      &parm_change_log($r);
         } elsif ($env{'form.action'} eq 'cleanparameters' && $parm_permission) {          } elsif ($env{'form.action'} eq 'cleanparameters') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=cleanparameters',  
     text=>"Clean Parameters"});  
     &clean_parameters($r);      &clean_parameters($r);
         } elsif ($env{'form.action'} eq 'dateshift1' && $parm_permission) {          } elsif ($env{'form.action'} eq 'dateshift1') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},  
                                                     text=>"Shifting Dates"});  
             &date_shift_one($r);              &date_shift_one($r);
         } elsif ($env{'form.action'} eq 'dateshift2' && $parm_permission) {          } elsif ($env{'form.action'} eq 'dateshift2') {
             &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},  
                                                     text=>"Shifting Dates"});  
             &date_shift_two($r);              &date_shift_two($r);
  } elsif ($env{'form.action'} eq 'categorizecourse' && $parm_permission) {   } elsif ($env{'form.action'} eq 'categorizecourse') {
             &assign_course_categories($r);              &assign_course_categories($r);
         }           } 
     } else {      } else {

Removed from v.1.404  
changed lines
  Added in v.1.414


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>