Diff for /loncom/interface/lonparmset.pm between versions 1.119 and 1.124

version 1.119, 2003/08/06 18:08:02 version 1.124, 2003/09/05 03:47:47
Line 287  sub plink { Line 287  sub plink {
 sub startpage {  sub startpage {
     my ($r,$id,$udom,$csec,$uname,$have_assesments)=@_;      my ($r,$id,$udom,$csec,$uname,$have_assesments)=@_;
   
     my $bodytag=&Apache::loncommon::bodytag('Set Course Parameters','',      my $bodytag=&Apache::loncommon::bodytag('Set/Modify Course Parameters','',
                                             'onUnload="pclose()"');                                              'onUnload="pclose()"');
     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');
Line 343  $selscript Line 343  $selscript
 $bodytag  $bodytag
   
 <form method="post" action="/adm/parmset" name="envform">  <form method="post" action="/adm/parmset" name="envform">
 <h3>Course Environment</h3>  <h4>Course Environment Parameters</h4>
 <input type="submit" name="crsenv" value="Set Course Environment">  <input type="submit" name="crsenv" value="Set Course Environment Parameters" />
   </form>
   <hr />
   <form method="post" action="/adm/helper/parameter.helper" name="helpform">
   <h4>Course Assessment Parameter - Helper Mode</h4>
   <input type="submit" value="Set/Modify Course Assessment Parameter" />
   </form>
   <hr />
   <form method="post" action="/adm/parmset" name="overview">
   <h4>Course Assessment Parameters - Overview Mode</h4>
   <input type="submit" name="overview" value="Modify Course Assessment Parameters" />
 </form>  </form>
 <hr />  <hr />
 <form method="post" action="/adm/parmset" name="parmform">  <form method="post" action="/adm/parmset" name="parmform">
 <h3>Course Assessments</h3>  <h4>Course Assessments Parameters - Table Mode</h4>
   
 <a href="/adm/helper/parameter.helper">Use Assignment Parameter Helper</a>, a  
 simpler interface to set open, due, or answer open dates for problems or  
 sequences.<br />&nbsp;<br />  
 ENDHEAD  ENDHEAD
   
     if (!$have_assesments) {      if (!$have_assesments) {
Line 1040  sub assessparms { Line 1046  sub assessparms {
     if (($prevvisit) || ($pschp) || ($pssymb)) {      if (($prevvisit) || ($pschp) || ($pssymb)) {
         $submitmessage = "Update Course Assessment Parameter Display";          $submitmessage = "Update Course Assessment Parameter Display";
     } else {      } else {
         $submitmessage = "Set Course Assessment Parameters";          $submitmessage = "Set/Modify Course Assessment Parameters";
     }      }
     $r->print('<input type="submit" name="dis" value="'.$submitmessage.'">');      $r->print('<input type="submit" name="dis" value="'.$submitmessage.'">');
   
Line 1658  $output Line 1664  $output
 </html>      </html>    
 ENDENV  ENDENV
 }  }
   ##################################################
   
   my $tableopen;
   
   sub tablestart {
       if ($tableopen) {
    return '';
       } else {
    $tableopen=1;
    return '<table border="2"><tr><th>Parameter</th><th>Delete</th><th>Set to ...</th></tr>';
       }
   }
   
   sub tableend {
       if ($tableopen) {
    $tableopen=0;
    return '</table>';
       } else {
    return'';
       }
   }
   
   sub overview {
       my $r=shift;
       my $bodytag=&Apache::loncommon::bodytag(
                                'Set/Modify Course Assessment Parameters');
       my $dom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
       my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
       $r->print(<<ENDOVER);
   <html>
   <head>
   <title>LON-CAPA Course Environment</title>
   </head>
   $bodytag
   <form method="post" action="/adm/parmset" name="overviewform">
   <input type="hidden" name="overview" value="1" />
   ENDOVER
   # Setting
       my %olddata=&Apache::lonnet::dump('resourcedata',$dom,$crs);
       my %newdata=();
       undef %newdata;
       my @deldata=();
       undef @deldata;
       foreach (keys %ENV) {
    if ($_=~/^form\.([a-z]+)\_(.+)$/) {
       my $cmd=$1;
       my $thiskey=$2;
       if ($cmd eq 'set') {
    my $data=$ENV{$_};
    if ($olddata{$thiskey} ne $data) { $newdata{$thiskey}=$data; }
       } elsif ($cmd eq 'del') {
    push (@deldata,$thiskey);
       } elsif ($cmd eq 'datepointer') {
    my $data=&Apache::lonhtmlcommon::get_date_from_form($ENV{$_});
    if ($olddata{$thiskey} ne $data) { $newdata{$thiskey}=$data; }
       }
    }
       }
   # Store
       &Apache::lonnet::del('resourcedata',\@deldata,$dom,$crs);
       &Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs);
   # Read and display
       my %resourcedata=&Apache::lonnet::dump('resourcedata',$dom,$crs);
       my $oldsection='';
       my $oldrealm='';
       my $oldpart='';
       my $pointer=0;
       $tableopen=0;
       foreach my $thiskey (sort keys %resourcedata) {
    if ($resourcedata{$thiskey.'.type'}) {
       my ($course,$middle,$part,$name)=
    ($thiskey=~/^(\w+)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/);
       my $section='All Students';
       if ($middle=~/^\[(.*)\]\./) {
    $section='Group/Section: '.$1;
    $middle=~s/^\[(.*)\]\.//;
       }
       $middle=~s/\.$//;
       my $realm='<font color="red">All Resources</font>';
       if ($middle=~/^(.+)\_\_\_\(all\)$/) {
    $realm='<font color="green">Folder/Map: '.&Apache::lonnet::gettitle($1).'</font>';
       } elsif ($middle) {
    $realm='<font color="orange">Resource: '.&Apache::lonnet::gettitle($middle).'</font>';
       }
       if ($section ne $oldsection) {
    $r->print(&tableend()."\n<hr /><h1>$section</h1>");
    $oldsection=$section;
    $oldrealm='';
       }
       if ($realm ne $oldrealm) {
    $r->print(&tableend()."\n<h2>$realm</h2>");
    $oldrealm=$realm;
    $oldpart='';
       }
       if ($part ne $oldpart) {
    $r->print(&tableend().
     "\n<h3><font color='blue'>Part: $part</font></h3>");
    $oldpart=$part;
       }
   #
   # Ready to print
   #
       $r->print(&tablestart().'<tr><td><b>'.$name.
         ':</b></td><td><input type="checkbox" name="del_'.
         $thiskey.'" /></td><td>');
       if ($resourcedata{$thiskey.'.type'}=~/^date/) {
    my $jskey='key_'.$pointer;
    $pointer++;
    $r->print(
     &Apache::lonhtmlcommon::date_setter('overviewform',
         $jskey,
         $resourcedata{$thiskey}).
   '<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'
     );
       } else {
    $r->print(
     '<input type="text" name="set_'.$thiskey.'" value="'.
     $resourcedata{$thiskey}.'">');
       }
       $r->print('</td></tr>');
    }
       }
       
       $r->print(&tableend().
         '<p><input type="submit" value="Modify Parameters" /></p></form></body></html>');
   }
   
 ##################################################  ##################################################
 ##################################################  ##################################################
Line 1693  sub handler { Line 1825  sub handler {
     
         $coursename=$ENV{'course.'.$ENV{'request.course.id'}.'.description'};          $coursename=$ENV{'course.'.$ENV{'request.course.id'}.'.description'};
   
  unless (($ENV{'form.crsenv'}) || (!$ENV{'request.course.fn'})) {   if (($ENV{'form.crsenv'}) || (!$ENV{'request.course.fn'})) {
 # --------------------------------------------------------- Bring up assessment  
     &assessparms($r);  
 # ---------------------------------------------- This is for course environment  # ---------------------------------------------- This is for course environment
  } else {  # -------------------------- also call if toplevel map coudl not be initialized
     &crsenv($r);      &crsenv($r);
    } elsif ($ENV{'form.overview'}) {
   # --------------------------------------------------------------- Overview mode
       &overview($r);
    } else {
   # --------------------------------------------------------- Bring up assessment
       &assessparms($r);
  }   }
     } else {      } else {
 # ----------------------------- Not in a course, or not allowed to modify parms  # ----------------------------- Not in a course, or not allowed to modify parms

Removed from v.1.119  
changed lines
  Added in v.1.124


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