Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.29 and 1.30

version 1.29, 2001/01/02 20:19:34 version 1.30, 2001/01/02 22:35:30
Line 781  sub makenewsheet { Line 781  sub makenewsheet {
       '";$uhome="'.&Apache::lonnet::homeserver($uname,$udom).        '";$uhome="'.&Apache::lonnet::homeserver($uname,$udom).
       '";$sheettype="'.$stype.        '";$sheettype="'.$stype.
       '";$usymb="'.$usymb.        '";$usymb="'.$usymb.
         '";$csec="'.&Apache::lonnet::usection($udom,$uname,
                                               $ENV{'request.course.id'}).
       '";$cid="'.$ENV{'request.course.id'}.        '";$cid="'.$ENV{'request.course.id'}.
       '";$cfn="'.$ENV{'request.course.fn'}.        '";$cfn="'.$ENV{'request.course.fn'}.
       '";$cnum="'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.        '";$cnum="'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
Line 815  sub writesheet { Line 817  sub writesheet {
               $sheetdata,$chome);                $sheetdata,$chome);
     if ($reply eq 'ok') {      if ($reply eq 'ok') {
           $reply=&Apache::lonnet::reply('put:'.$cdom.':'.$cnum.':'.            $reply=&Apache::lonnet::reply('put:'.$cdom.':'.$cnum.':'.
               &stype.'_spreadsheets:'.                $stype.'_spreadsheets:'.
               &Apache::lonnet::escape($fn).'='.$ENV{'user.name'},                &Apache::lonnet::escape($fn).'='.$ENV{'user.name'},
               $chome);                $chome);
           if ($reply eq 'ok') {            if ($reply eq 'ok') {
Line 1157  sub loadstudent { Line 1159  sub loadstudent {
  if ($_=~/^A(\d+)/) {   if ($_=~/^A(\d+)/) {
    my $row=$1;     my $row=$1;
            unless ($f{$_}=~/^\!/) {             unless ($f{$_}=~/^\!/) {
      #         my @assessdata=split(/\_\_\_\;\_\_\_/,        my @assessdata=&exportsheet(&getuname($safeeval),
      #                        &Apache::lonnet::ssi(                                            &getudom($safeeval),
      #                  '/adm/assesscalc',('utarget' => 'export',                                            'assesscalc',$f{$_});
      #                                     'uname'   => $uname,  
      #                                     'udom'    => $udom,  
 #                  'usymb'   => $f{$_})));  
               my $index=0;                my $index=0;
 #              map {                map {
 #                  if ($assessdata[$index]) {                    if ($assessdata[$index]) {
 #     $c{$_.$row}=$assessdata[$index];       $c{$_.$row}=$assessdata[$index];
 #                     unless ($_ eq 'A') {                        unless ($_ eq 'A') { 
 # $f{$_.$row}='import';   $f{$_.$row}='import';
 #                     }                       }
 #  }    }
 #                  $index++;                    $index++;
 #              } ('A','B','C','D','E','F','G','H','I','J','K','L','M',                } ('A','B','C','D','E','F','G','H','I','J','K','L','M',
 #                 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');                   'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
    }     }
         }          }
     } keys %f;      } keys %f;
Line 1183  sub loadstudent { Line 1182  sub loadstudent {
   
 # --------------------------------------------------- Load data for one student  # --------------------------------------------------- Load data for one student
   
 sub loadclass {  sub loadcourse {
     my $safeeval=shift;      my $safeeval=shift;
     my %c=();      my %c=();
     my %f=&getformulas($safeeval);      my %f=&getformulas($safeeval);
     map {      map {
  if ($_=~/^A(\d+)/) {   if ($_=~/^A(\d+)/) {
    my $row=$1;     my $row=$1;
            unless ($f{$_}=~/^\!/) {             unless (($f{$_}=~/^\!/)
       my ($tname,$tdom)=split(/\:/,$_);  
 #              my @assessdata=split(/\_\_\_\;\_\_\_/,  || ($row>5))
 #                             &Apache::lonnet::ssi(  
 #                      '/adm/studentcalc',('utarget' => 'export',   {
 #                                          'uname'   => $tname,        my @studentdata=&exportsheet(&getuname($safeeval),
 #                                          'udom'    => $tdom)));                                             &getudom($safeeval),
                                              'studentcalc');
               my $index=0;                my $index=0;
 #              map {                map {
 #                  if ($assessdata[$index]) {                    if ($studentdata[$index]) {
 #     $c{$_.$row}=$assessdata[$index];       $c{$_.$row}=$studentdata[$index];
 #                     unless ($_ eq 'A') {                        unless ($_ eq 'A') { 
 # $f{$_.$row}='import';   $f{$_.$row}='import';
 #                     }                       }
 #  }    }
 #                  $index++;                    $index++;
 #              } ('A','B','C','D','E','F','G','H','I','J','K','L','M',                } ('A','B','C','D','E','F','G','H','I','J','K','L','M',
 #                 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');                   'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
    }     }
         }          }
     } keys %f;      } keys %f;
Line 1484  ENDSCRIPT Line 1484  ENDSCRIPT
   
     my $asheet=&makenewsheet($aname,$adom,$1,$ENV{'form.usymb'});      my $asheet=&makenewsheet($aname,$adom,$1,$ENV{'form.usymb'});
   
 #    if ($ENV{'form.unewfield'}) {  # ------------------------ If a new formula had been entered, go from work copy
 #        $r->print('<h2>Modified Workcopy</h2>');  
 #        $ENV{'form.unewformula'}=~s/\'/\"/g;      if ($ENV{'form.unewfield'}) {
 #        $r->print('<p>New formula: '.$ENV{'form.unewfield'}.'='.          $r->print('<h2>Modified Workcopy</h2>');
 #                  $ENV{'form.unewformula'}.'<p>');          $ENV{'form.unewformula'}=~s/\'/\"/g;
 #        &setfilename($sheetone,$ENV{'form.ufn'});          $r->print('<p>New formula: '.$ENV{'form.unewfield'}.'='.
 # &tmpread($sheetone,$r->dir_config('lonDaemons').'/tmp/',                    $ENV{'form.unewformula'}.'<p>');
 #                 $ENV{'form.usymb'},          &setfilename($asheet,$ENV{'form.ufn'});
 #                 $ENV{'form.unewfield'},$ENV{'form.unewformula'});   &tmpread($asheet,
 #    } elsif ($ENV{'form.saveas'}) {                   $ENV{'form.unewfield'},$ENV{'form.unewformula'});
 #        &setfilename($sheetone,$ENV{'form.ufn'});  
 # &tmpread($sheetone,,       } elsif ($ENV{'form.saveas'}) {
 #                 $ENV{'form.usymb'});          &setfilename($asheet,$ENV{'form.ufn'});
 #    } else {   &tmpread($asheet);
 #        unless ($ENV{'form.ufn'}) {      } else {
 #    }#          &readsheet($asheet,$ENV{'form.ufn'});
 #      }
 #  if (&gettype($sheetone) eq 'classcalc') {  
 # ---------------------------------- For course view: get courselist and update  # -------------------------------------------------- Print out user information
 #       &updatestudentrows($sheetone);  
 #  } else {      unless (&gettype($asheet) eq 'classcalc') {
 # ----------------- For assessment and student: See if all import rows uptodate          $r->print('<p><b>User:</b> '.&getuname($asheet).
 #       $csec=&Apache::lonnet::usection($udom,$uname,$ENV{'request.course.id'});                    '<br><b>Domain:</b> '.&getudom($asheet));
 #       if ($csec eq '-1') {          if (&getcsec($asheet) eq '-1') {
 #          $r->print('<h3><font color=red>'.             $r->print('<h3><font color=red>'.
 #   "User '$uname' at domain '$udom' not a student in this course</font></h3>");                       'Not a student in this course</font></h3>');
 #       }          } else {
 #       &updaterows($sheetone);             $r->print('<br><b>Section/Group:</b> '.&getcsec($asheet));
 #       untie(%parmhash);          }
 #   } else {      }
 #       $r->print('<h3><font color=red>'.  
 #   'Could not initialize import fields (not in a course)</font></h3>');  # ---------------------------------------------------------------- Course title
 #   }  
 # }      $r->print('<h1>'.
               $ENV{'course.'.$ENV{'request.course.id'}.'.description'}.'</h1>');
   
   
 # ---------------------------------------------------- See if something to save  # ---------------------------------------------------- See if something to save
 #    if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) {  
 #        my $fname='';      if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) {
 # if ($ENV{'form.saveas'} && ($fname=$ENV{'form.newfn'})) {          my $fname='';
 #            $fname=~s/\W/\_/g;   if ($ENV{'form.saveas'} && ($fname=$ENV{'form.newfn'})) {
 #            if ($fname eq 'default') { $fname='course_default'; }              $fname=~s/\W/\_/g;
 #            $fname.='_'.&gettype($sheetone);              if ($fname eq 'default') { $fname='course_default'; }
 #            &setfilename($sheetone,$fname);              $fname.='_'.&gettype($asheet);
 #            $ENV{'form.ufn'}=$fname;              &setfilename($asheet,$fname);
 #            my $reply=&writesheet($sheetone);              $ENV{'form.ufn'}=$fname;
 #            unless ($reroute) {      $r->print('<p>Saving spreadsheet: '.
 # $r->print('<p>Saving spreadsheet: '.$reply.'<p>');                           &writesheet($asheet,$ENV{'form.makedefufn'}).'<p>');
 #            }   }
 #            if ($ENV{'form.makedefufn'}) {      }
 #                my $reply=&Apache::lonnet::reply('put:'.  
 #                     $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'.  
 #                     $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.  
 #                     ':environment:spreadsheet_default_'.  
 #                     &gettype($sheetone).'='.  
 #                     &Apache::lonnet::escape($fname),  
 #                     $ENV{'course.'.$ENV{'request.course.id'}.'.home'});  
 #               unless ($reroute) {  
 #           $r->print('<p>Making default spreadsheet: '.$reply.'<p>');  
 #               }  
 #            }  
 #        }  
 #    }  
 # ------------------------------------------------ Write the modified worksheet  # ------------------------------------------------ Write the modified worksheet
 #  
 #   &tmpwrite($sheetone,$r->dir_config('lonDaemons').'/tmp/',  
  #             $ENV{'form.usymb'});  
 #  
 # ----------------------------------------------------- Print user, course, etc  
 #   unless ($reroute) {  
 #    if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) {  
 #        my $fname=$ENV{'form.ufn'};  
 #        $fname=~s/\_[^\_]+$//;  
 #        if ($fname eq 'default') { $fname='course_default'; }  
 #        $r->print('<input type=submit name=saveas value="Save as ...">'.  
 #              '<input type=text size=20 name=newfn value="'.$fname.  
 #              '"> (make default: <input type=checkbox name="makedefufn">)<p>');  
 #    }  
 #    $r->print(&hiddenfield('ufn',$ENV{'form.ufn'}));  
 #    unless (&gettype($sheetone) eq 'classcalc') {  
 #        $r->print('<br><b>User:</b> '.$uname.'<br><b>Domain:</b> '.$udom);  
 #    }  
 #    $r->print('<h1>'.  
 #            $ENV{'course.'.$ENV{'request.course.id'}.'.description'}.'</h1>');  
 #    if ($csec) {  
 #       $r->print('<h3>Group/Section: '.$csec.'</h3>');  
 #    }  
 #   }  
 # -------------------------------------------------------- Import and calculate  
 #  
 #    if (&gettype($sheetone) eq 'assesscalc') {  
 # &rowaassess($sheetone,$ENV{'form.usymb'});  
 #    } elsif  (&gettype($sheetone) eq 'studentcalc') {  
 # &rowazstudent($sheetone);  
 #    } else {  
 #        &rowazclass($sheetone);  
 #    }  
   
      $r->print('<b>Current sheet:</b> '.&getfilename($asheet).'<p>');
   
      &tmpwrite($asheet);
   
   # ----------------------------------------------------------------- Save dialog
   
   
       if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) {
           my $fname=$ENV{'form.ufn'};
           $fname=~s/\_[^\_]+$//;
           if ($fname eq 'default') { $fname='course_default'; }
           $r->print('<input type=submit name=saveas value="Save as ...">'.
                 '<input type=text size=20 name=newfn value="'.$fname.
                 '"> (make default: <input type=checkbox name="makedefufn">)<p>');
       }
   
       $r->print(&hiddenfield('ufn',&getfilename($asheet)));
   
   
   # ----------------------------------------------------- Update sheet, load rows
   
     &readsheet($asheet,'');  
     &updatesheet($asheet);      &updatesheet($asheet);
     &loadrows($asheet);      &loadrows($asheet);
   

Removed from v.1.29  
changed lines
  Added in v.1.30


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