Diff for /loncom/interface/lonparmset.pm between versions 1.318 and 1.328

version 1.318, 2006/06/26 22:22:48 version 1.328, 2006/08/09 20:40:16
Line 508  sub storeparm_by_symb_inner { Line 508  sub storeparm_by_symb_inner {
   
 Format a value for output.  Format a value for output.
   
 Inputs:  $value, $type  Inputs:  $value, $type, $editable
   
 Returns: $value, formatted for output.  If $type indicates it is a date,  Returns: $value, formatted for output.  If $type indicates it is a date,
 localtime($value) is returned.  localtime($value) is returned.
   $editable will return an icon to click on
   
 =cut  =cut
   
 ##################################################  ##################################################
 ##################################################  ##################################################
 sub valout {  sub valout {
     my ($value,$type)=@_;      my ($value,$type,$editable)=@_;
     my $result = '';      my $result = '';
     # Values of zero are valid.      # Values of zero are valid.
     if (! $value && $value ne '0') {      if (! $value && $value ne '0') {
  $result = '  ';   if ($editable) {
       $result = '<span class="LC_clickhere">*</span>';
    } else {
       $result='&nbsp;';
    }
     } 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);
Line 590  sub plink { Line 595  sub plink {
     return '<table width="100%"><tr valign="top" align="right"><td><a name="'.$marker.'" /></td></tr><tr><td align="center">'.      return '<table width="100%"><tr valign="top" align="right"><td><a name="'.$marker.'" /></td></tr><tr><td align="center">'.
  '<a href="javascript:pjump('."'".$type."','".$dis."','".$winvalue."','"   '<a href="javascript:pjump('."'".$type."','".$dis."','".$winvalue."','"
     .$marker."','".$return."','".$call."','".$hour."','".$min."','".$sec."'".');">'.      .$marker."','".$return."','".$call."','".$hour."','".$min."','".$sec."'".');">'.
  &valout($value,$type).'</a></td></tr></table>';   &valout($value,$type,1).'</a></td></tr></table>';
 }  }
   
 sub page_js {  sub page_js {
Line 655  sub startpage { Line 660  sub startpage {
        &page_js(),         &page_js(),
        {'add_entries' => \%loaditems,});         {'add_entries' => \%loaditems,});
     my $breadcrumbs =       my $breadcrumbs = 
  &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting');   &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode');
     $r->print(<<ENDHEAD);      $r->print(<<ENDHEAD);
 $start_page  $start_page
 $breadcrumbs  $breadcrumbs
Line 2187  sub crsenv { Line 2192  sub crsenv {
                     ' ('.&mt('supported types').': Letter [8 1/2x11 in], Legal [8 1/2x14 in],'.                       ' ('.&mt('supported types').': Letter [8 1/2x11 in], Legal [8 1/2x14 in],'. 
                     ' Tabloid [11x17 in], Executive [7 1/2x10 in], A2 [420x594 mm],'.                       ' Tabloid [11x17 in], Executive [7 1/2x10 in], A2 [420x594 mm],'. 
                     ' A3 [297x420 mm], A4 [210x297 mm], A5 [148x210 mm], A6 [105x148 mm])',                      ' A3 [297x420 mm], A4 [210x297 mm], A5 [148x210 mm], A6 [105x148 mm])',
        'print_header_format'
            => '<b>Print header format; substitutions:  %n student name %c course id %a assignment',
              'anonymous_quiz'               'anonymous_quiz'
                  => '<b>'.&mt('Anonymous quiz/exam').'</b><br />'.                   => '<b>'.&mt('Anonymous quiz/exam').'</b><br />'.
                     ' (<tt><b>'.&mt('yes').'</b> '.&mt('to avoid print students names').' </tt>)',                      ' (<tt><b>'.&mt('yes').'</b> '.&mt('to avoid print students names').' </tt>)',
Line 2227  sub crsenv { Line 2234  sub crsenv {
                              'problem_stream_switch',                               'problem_stream_switch',
      'suppress_tries',       'suppress_tries',
                              'default_paper_size',                               'default_paper_size',
        'print_header_format',
                              'disable_receipt_display',                               'disable_receipt_display',
                              'spreadsheet_default_classcalc',                               'spreadsheet_default_classcalc',
                              'spreadsheet_default_studentcalc',                               'spreadsheet_default_studentcalc',
Line 2302  sub crsenv { Line 2310  sub crsenv {
  '</script>';   '</script>';
           
     my $start_page =       my $start_page = 
  &Apache::loncommon::start_page('Set Course Environment Parameters',   &Apache::loncommon::start_page('Set Course Environment',
        $browse_js);         $browse_js);
     my $end_page =       my $end_page = 
  &Apache::loncommon::end_page();   &Apache::loncommon::end_page();
Line 2581  sub listdata { Line 2589  sub listdata {
  $oldpart=$part;   $oldpart=$part;
     }      }
 #  #
 # Preset defaults?  
 #  
             my ($hour,$min,$sec,$val)=('','','','');  
     unless ($$resourcedata{$thiskey}) {  
  my ($parmname)=($thiskey=~/\.(\w+)$/);  
  ($hour,$min,$sec,$val)=&preset_defaults($parmname);  
     }  
   
 #  
 # Ready to print  # Ready to print
 #  #
     $r->print(&tablestart().      $r->print(&tablestart().
Line 2605  sub listdata { Line 2604  sub listdata {
   &Apache::lonhtmlcommon::date_setter('parmform',    &Apache::lonhtmlcommon::date_setter('parmform',
       $jskey,        $jskey,
       $$resourcedata{$thiskey},        $$resourcedata{$thiskey},
       '',1,'','',$hour,$min,$sec).        '',1,'','').
 '<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'.  '<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'.
 &date_sanity_info($$resourcedata{$thiskey})  &date_sanity_info($$resourcedata{$thiskey})
   );    );
Line 2613  sub listdata { Line 2612  sub listdata {
  my $showval;   my $showval;
  if (defined($$resourcedata{$thiskey})) {   if (defined($$resourcedata{$thiskey})) {
     $showval=$$resourcedata{$thiskey};      $showval=$$resourcedata{$thiskey};
  } else {  
     $showval=$val;  
  }   }
  $r->print('<label><input type="radio" name="set_'.$thiskey.   $r->print('<label><input type="radio" name="set_'.$thiskey.
   '" value="yes"');    '" value="yes"');
Line 2632  sub listdata { Line 2629  sub listdata {
  my $showval;   my $showval;
  if (defined($$resourcedata{$thiskey})) {   if (defined($$resourcedata{$thiskey})) {
     $showval=$$resourcedata{$thiskey};      $showval=$$resourcedata{$thiskey};
  } else {  
     $showval=$val;  
  }   }
  $r->print('<input type="text" name="set_'.$thiskey.'" value="'.   $r->print('<input type="text" name="set_'.$thiskey.'" value="'.
   $showval.'">');    $showval.'">');
Line 3000  ENDMAINFORMHEAD Line 2995  ENDMAINFORMHEAD
     my $vgr  = &Apache::lonnet::allowed('vgr',$env{'request.course.id'});      my $vgr  = &Apache::lonnet::allowed('vgr',$env{'request.course.id'});
   
     my @menu =      my @menu =
         (          ( { divider=>'Settings for Your Course',
           { text => 'Set Course Environment Parameters',    },
             { text => 'Set Course Environment',
     action => 'crsenv',      action => 'crsenv',
             permission => $parm_permission,              permission => $parm_permission,
               help => 'Course_Environment',
             },              },
           { text => 'Set Portfolio Metadata',            { text => 'Set Portfolio Metadata',
     action => 'setrestrictmeta',      action => 'setrestrictmeta',
Line 3013  ENDMAINFORMHEAD Line 3010  ENDMAINFORMHEAD
     url => '/adm/slotrequest?command=showslots',      url => '/adm/slotrequest?command=showslots',
     permission => $vgr,      permission => $vgr,
             },              },
   { divider => 1,            { text => 'Set Parameter Setting Default Actions',
               action => 'setdefaults',
               permission => $parm_permission,
               },          
     { divider => 'New and Existing Parameter Settings for Your Resources',
     },      },
           { text => 'Set/Modify Resource Parameters - Helper Mode',            { text => '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',
             },              },
           { text => 'Modify Resource Parameters - Overview Mode',     { text => 'Set/Modify Resource Parameters - Overview Mode',
             action => 'setoverview',  
             permission => $parm_permission,  
             },            
   { text => 'Set Resource Parameters - Overview Mode',  
             action => 'newoverview',              action => 'newoverview',
             permission => $parm_permission,              permission => $parm_permission,
               help => 'Parameter_Overview',
             },              },
           { text => 'Set/Modify Resource Parameters - Table Mode',            { text => 'Set/Modify Resource Parameters - Table Mode',
             action => 'settable',              action => 'settable',
             permission => $parm_permission,              permission => $parm_permission,
             help => 'Cascading_Parameters',              help => 'Table_Mode',
             },              },
           { text => 'Set Parameter Setting Default Actions',             { divider => 'Existing Parameter Settings for Your Resources',
             action => 'setdefaults',    },
     { text => 'Modify Resource Parameters - Overview Mode',
               action => 'setoverview',
             permission => $parm_permission,              permission => $parm_permission,
             },                        help => 'Parameter_Overview',
        },          
   { text => 'Parameter Change Log and Course Blog Posting/User Notification',    { text => 'Parameter Change Log and Course Blog Posting/User Notification',
             action => 'parameterchangelog',              action => 'parameterchangelog',
             permission => $parm_permission,              permission => $parm_permission,
Line 3044  ENDMAINFORMHEAD Line 3046  ENDMAINFORMHEAD
     my $menu_html = '';      my $menu_html = '';
     foreach my $menu_item (@menu) {      foreach my $menu_item (@menu) {
  if ($menu_item->{'divider'}) {   if ($menu_item->{'divider'}) {
     $menu_html .= '<hr />';      $menu_html .= '<h3>'.&mt($menu_item->{'divider'}).'</h3>';
     next;      next;
  }   }
         next if (! $menu_item->{'permission'});          next if (! $menu_item->{'permission'});
Line 3347  sub components { Line 3349  sub components {
     $what,$middle,$uname,$udom,$issection,$realmdescription);      $what,$middle,$uname,$udom,$issection,$realmdescription);
 }  }
   
   my %standard_parms;
   sub load_parameter_names {
       open(my $config,"<$Apache::lonnet::perlvar{'lonTabDir'}/packages.tab");
       while (my $configline=<$config>) {
    if ($configline !~ /\S/ || $configline=~/^\#/) { next; }
    chomp($configline);
    my ($short,$plain)=split(/:/,$configline);
    my (undef,$name,$type)=split(/\&/,$short,3);
    if ($type eq 'display') {
       $standard_parms{$name} = $plain;
    }
       }
       close($config);
       $standard_parms{'int_pos'}      = 'Positive Integer';
       $standard_parms{'int_zero_pos'} = 'Positive Integer or Zero';
       %standard_parms=&Apache::lonlocal::texthash(%standard_parms);
   }
   
 sub standard_parameter_names {  sub standard_parameter_names {
     my ($name)=@_;      my ($name)=@_;
     my %standard_parms=&Apache::lonlocal::texthash('duedate' => 'Due Date',      if (!%standard_parms) {
    'answerdate' => 'Answer Date',   &load_parameter_names();
    'opendate' => 'Open Date',      }
    'maxtries' => 'Max. Number of Tries',  
    'weight' => 'Weight',  
    'date_start' => 'Starting Date',  
    'date_end' => 'Ending Date',  
                                                    'interval' => 'Time Interval Length',  
                                                    'tol' => 'Numerical Tolerance',  
                                                    'sig' => 'Significant Digits',  
                                                    'contentopen' => 'Content Opening Date',  
                                                    'contentclose' => 'Content Closing Date',  
                                                    'discussend' => 'End of Discussion Time',  
                                                    'discusshide' => 'Discussion Hidden',  
                                                    'problemstatus' => 'Problem Status Visible',  
    'int_pos' => 'Positive Integer',  
    'int_zero_pos' => 'Positive Integer or Zero',  
    'hinttries' => 'Number of Tries till Hints appear',  
                                                    'numbubbles' => 'Number of Bubbles in Exam Mode');  
     if ($standard_parms{$name}) {      if ($standard_parms{$name}) {
  return $standard_parms{$name};    return $standard_parms{$name}; 
     } else {       } else { 
Line 3382  sub standard_parameter_names { Line 3386  sub standard_parameter_names {
   
 sub parm_change_log {  sub parm_change_log {
     my ($r)=@_;      my ($r)=@_;
     &startpage($r);      $r->print(&Apache::loncommon::start_page('Parameter Change Log'));
       $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));
   
     my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',      my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',
       $env{'course.'.$env{'request.course.id'}.'.domain'},        $env{'course.'.$env{'request.course.id'}.'.domain'},
       $env{'course.'.$env{'request.course.id'}.'.num'});        $env{'course.'.$env{'request.course.id'}.'.num'});
   
     if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); }      if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); }
   
     $r->print('<form action="/adm/parmset?action=settable"      $r->print('<form action="/adm/parmset?action=parameterchangelog"
                      method="post" name"parameterlog">                       method="post" name="parameterlog">');
                <input type="hidden" name="action"  
                       value="parameterchangelog" />');  
           
     my %saveable_parameters = ('show' => 'scalar',);      my %saveable_parameters = ('show' => 'scalar',);
     &Apache::loncommon::store_course_settings('parameter_log',      &Apache::loncommon::store_course_settings('parameter_log',
Line 3406  sub parm_change_log { Line 3410  sub parm_change_log {
     (&mt('all'),10,20,50,100,1000,10000));      (&mt('all'),10,20,50,100,1000,10000));
   
     $r->print('<nobr>'.&mt('[_1] Records',$countselect).'</nobr>'.      $r->print('<nobr>'.&mt('[_1] Records',$countselect).'</nobr>'.
       '<input type="submit" value="'.&mt('Display').'" />');                '<label>'.&Apache::lonhtmlcommon::checkbox('includetypes',$env{'form.includetypes'},'1').
         ' '.&mt('Include parameter types').'</label>'.
         '<input type="submit" value="'.&mt('Display').'" /></form>');
   
     my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'},      my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'},
      $env{'course.'.$env{'request.course.id'}.'.domain'});       $env{'course.'.$env{'request.course.id'}.'.domain'});
Line 3418  sub parm_change_log { Line 3424  sub parm_change_log {
     foreach my $id (sort { $parmlog{$b}{'exe_time'}<=>$parmlog{$a}{'exe_time'} } (keys(%parmlog))) {      foreach my $id (sort { $parmlog{$b}{'exe_time'}<=>$parmlog{$a}{'exe_time'} } (keys(%parmlog))) {
         my @changes=keys(%{$parmlog{$id}{'logentry'}});          my @changes=keys(%{$parmlog{$id}{'logentry'}});
  my $count=$#changes+1;   my $count=$#changes+1;
    if (!$env{'form.includetypes'}) { $count=$count/2; }
  my $time =   my $time =
     &Apache::lonlocal::locallocaltime($parmlog{$id}{'exe_time'});      &Apache::lonlocal::locallocaltime($parmlog{$id}{'exe_time'});
  my $plainname =    my $plainname = 
Line 3447  sub parm_change_log { Line 3454  sub parm_change_log {
             my $value=$parmlog{$id}{'logentry'}->{$changed};              my $value=$parmlog{$id}{'logentry'}->{$changed};
             my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection,$realmdescription)=              my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection,$realmdescription)=
  &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'});   &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'});
     if ($typeflag) { $istype{$parmname}=$value; }      if ($typeflag) {
    if (!$env{'form.includetypes'}) { next; } 
    $istype{$parmname}=$value; 
       }
     if ($makenewrow) { $r->print($row_start); } else { $makenewrow=1; }      if ($makenewrow) { $r->print($row_start); } else { $makenewrow=1; }
     $r->print('<td>'.$realm.'</td><td>'.$section.'</td><td>'.      $r->print('<td>'.$realm.'</td><td>'.$section.'</td><td>'.
       &standard_parameter_names($parmname).'</td><td>'.        &standard_parameter_names($parmname).'</td><td>'.
Line 3497  sub parm_change_log { Line 3507  sub parm_change_log {
       || $shown<=$env{'form.show'})) { last; }        || $shown<=$env{'form.show'})) { last; }
     }      }
     $r->print(&Apache::loncommon::end_data_table());      $r->print(&Apache::loncommon::end_data_table());
     $r->print('</form>');  
     $r->print(&Apache::loncommon::end_page());      $r->print(&Apache::loncommon::end_page());
 }  }
   
Line 3536  sub handler { Line 3545  sub handler {
     &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/parmset",      &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/parmset",
     text=>"Parameter Manager",      text=>"Parameter Manager",
     faq=>10,      faq=>10,
     bug=>'Instructor Interface'});      bug=>'Instructor Interface',
                                               help => 'Parameter_Manager'});
   
 # ----------------------------------------------------- Needs to be in a course  # ----------------------------------------------------- Needs to be in a course
     my $parm_permission =      my $parm_permission =
Line 3561  sub handler { Line 3571  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'})) {

Removed from v.1.318  
changed lines
  Added in v.1.328


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