Diff for /loncom/interface/slotrequest.pm between versions 1.18 and 1.19

version 1.18, 2005/09/13 08:12:03 version 1.19, 2005/10/07 19:44:06
Line 452  STUFF Line 452  STUFF
 }  }
   
 sub show_table {  sub show_table {
     my ($r,$symb,$mgr)=@_;      my ($r,$mgr)=@_;
   
     my ($cnum,$cdom)=&get_course();      my ($cnum,$cdom)=&get_course();
     my %slots=&Apache::lonnet::dump('slots',$cdom,$cnum);      my %slots=&Apache::lonnet::dump('slots',$cdom,$cnum);
       if ( (keys(%slots))[0] =~ /^error: 2 /) {
    undef(%slots);
       } 
     my $available;      my $available;
     if ($mgr eq 'F') {      if ($mgr eq 'F') {
  $r->print('<form method="POST" action="/adm/slotrequest">   $r->print('<form method="POST" action="/adm/slotrequest">
 <input type="hidden" name="command" value="uploadstart" />  <input type="hidden" name="command" value="uploadstart" />
 <input type="hidden" name="symb" value="'.$env{'form.symb'}.'" />  
 <input type="submit" name="start" value="'.&mt('Upload Slot List').'" />  <input type="submit" name="start" value="'.&mt('Upload Slot List').'" />
 </form>');  </form>');
     }      }
     $r->print('<table border="1">      $r->print('<table border="1">
 <tr>  <tr>
     <th></th>
   <th>Slot name</th>    <th>Slot name</th>
   <th>Type</th>    <th>Type</th>
   <th>Description</th>    <th>Description</th>
Line 499  sub show_table { Line 502  sub show_table {
  localtime($slots{$slot}{'uniqueperiod'}[1]);   localtime($slots{$slot}{'uniqueperiod'}[1]);
  }   }
   
    my $edit=(<<EDITFORM);
   <form method="POST">
     <input type="hidden" name="command" value="editslot" />
     <input type="hidden" name="slot" value="$slot" />
     <input type="submit" name="Edit" value="Edit" />
   </form>
   EDITFORM
  $r->print(<<STUFF);   $r->print(<<STUFF);
 <tr>  <tr>
    <td>$edit</td>
  <td>$slot</td>   <td>$slot</td>
  <td>$slots{$slot}->{'type'}</td>   <td>$slots{$slot}->{'type'}</td>
  <td>$description</td>   <td>$description</td>
Line 517  STUFF Line 528  STUFF
 }  }
   
 sub upload_start {  sub upload_start {
     my ($r,$symb)=@_;          my ($r)=@_;    
     $r->print(&Apache::grades::checkforfile_js());      $r->print(&Apache::grades::checkforfile_js());
     my $result.='<table width=100% border=0><tr bgcolor="#e6ffff"><td>'."\n";      my $result.='<table width=100% border=0><tr bgcolor="#e6ffff"><td>'."\n";
     $result.='&nbsp;<b>'.      $result.='&nbsp;<b>'.
Line 528  sub upload_start { Line 539  sub upload_start {
     my $ignore=&mt('Ignore First Line');      my $ignore=&mt('Ignore First Line');
     $result.=<<ENDUPFORM;      $result.=<<ENDUPFORM;
 <form method="post" enctype="multipart/form-data" action="/adm/slotrequest" name="slotupload">  <form method="post" enctype="multipart/form-data" action="/adm/slotrequest" name="slotupload">
 <input type="hidden" name="symb" value="$symb" />  
 <input type="hidden" name="command" value="csvuploadmap" />  <input type="hidden" name="command" value="csvuploadmap" />
 $upfile_select  $upfile_select
 <br /><input type="button" onClick="javascript:checkUpload(this.form);" value="Upload Data" />  <br /><input type="button" onClick="javascript:checkUpload(this.form);" value="Upload Data" />
Line 541  ENDUPFORM Line 551  ENDUPFORM
 }  }
   
 sub csvuploadmap_header {  sub csvuploadmap_header {
     my ($r,$symb,$datatoken,$distotal)= @_;      my ($r,$datatoken,$distotal)= @_;
     my $javascript;      my $javascript;
     if ($env{'form.upfile_associate'} eq 'reverse') {      if ($env{'form.upfile_associate'} eq 'reverse') {
  $javascript=&csvupload_javascript_reverse_associate();   $javascript=&csvupload_javascript_reverse_associate();
Line 565  to this page if the data selected is ins Line 575  to this page if the data selected is ins
 <input type="hidden" name="upfiletype" value="$env{'form.upfiletype'}" />  <input type="hidden" name="upfiletype" value="$env{'form.upfiletype'}" />
 <input type="hidden" name="upfile_associate"   <input type="hidden" name="upfile_associate" 
                                        value="$env{'form.upfile_associate'}" />                                         value="$env{'form.upfile_associate'}" />
 <input type="hidden" name="symb"       value="$symb" />  
 <input type="hidden" name="command"    value="csvuploadassign" />  <input type="hidden" name="command"    value="csvuploadassign" />
 <hr />  <hr />
 <script type="text/javascript" language="Javascript">  <script type="text/javascript" language="Javascript">
Line 640  ENDPICK Line 649  ENDPICK
 }  }
   
 sub csv_upload_map {  sub csv_upload_map {
     my ($r,$symb)= @_;      my ($r)= @_;
   
     my $datatoken;      my $datatoken;
     if (!$env{'form.datatoken'}) {      if (!$env{'form.datatoken'}) {
Line 651  sub csv_upload_map { Line 660  sub csv_upload_map {
     }      }
     my @records=&Apache::loncommon::upfile_record_sep();      my @records=&Apache::loncommon::upfile_record_sep();
     if ($env{'form.noFirstLine'}) { shift(@records); }      if ($env{'form.noFirstLine'}) { shift(@records); }
     &csvuploadmap_header($r,$symb,$datatoken,$#records+1);      &csvuploadmap_header($r,$datatoken,$#records+1);
     my ($i,$keyfields);      my ($i,$keyfields);
     if (@records) {      if (@records) {
  my @fields=&csvupload_fields();   my @fields=&csvupload_fields();
Line 691  sub csvupload_fields { Line 700  sub csvupload_fields {
 }  }
   
 sub csv_upload_assign {  sub csv_upload_assign {
     my ($r,$symb,$mgr)= @_;      my ($r,$mgr)= @_;
     &Apache::loncommon::load_tmp_file($r);      &Apache::loncommon::load_tmp_file($r);
     my @slotdata = &Apache::loncommon::upfile_record_sep();      my @slotdata = &Apache::loncommon::upfile_record_sep();
     if ($env{'form.noFirstLine'}) { shift(@slotdata); }      if ($env{'form.noFirstLine'}) { shift(@slotdata); }
Line 736  sub csv_upload_assign { Line 745  sub csv_upload_assign {
     }      }
     $r->print("<br />Created $countdone slots\n");      $r->print("<br />Created $countdone slots\n");
     $r->print("<br />\n");      $r->print("<br />\n");
     &show_table($r,$symb,$mgr);      &show_table($r,$mgr);
     return '';      return '';
 }  }
   
Line 745  sub handler { Line 754  sub handler {
   
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
     &start_page($r);      &start_page($r);
     my $symb=&Apache::lonnet::unescape($env{'form.symb'});  
     my (undef,undef,$res)=&Apache::lonnet::decode_symb($symb);  
     if ($res !~ /\.task$/) {  
  &fail($r,'not_valid');  
  return OK;  
     }  
     $env{'request.symb'}=$symb;  
     my $vgr=&Apache::lonnet::allowed('vgr',$env{'request.course.id'});      my $vgr=&Apache::lonnet::allowed('vgr',$env{'request.course.id'});
     my $mgr=&Apache::lonnet::allowed('mgr',$env{'request.course.id'});      my $mgr=&Apache::lonnet::allowed('mgr',$env{'request.course.id'});
     if ($env{'form.command'} eq 'showslots' && $vgr eq 'F') {      if ($env{'form.command'} eq 'showslots' && $vgr eq 'F') {
  &show_table($r,$symb,$mgr);   &show_table($r,$mgr);
     } elsif ($env{'form.command'} eq 'uploadstart' && $mgr eq 'F') {      } elsif ($env{'form.command'} eq 'uploadstart' && $mgr eq 'F') {
  &upload_start($r,$symb);   &upload_start($r);
     } elsif ($env{'form.command'} eq 'csvuploadmap' && $mgr eq 'F') {      } elsif ($env{'form.command'} eq 'csvuploadmap' && $mgr eq 'F') {
  &csv_upload_map($r,$symb);   &csv_upload_map($r);
     } elsif ($env{'form.command'} eq 'csvuploadassign' && $mgr eq 'F') {      } elsif ($env{'form.command'} eq 'csvuploadassign' && $mgr eq 'F') {
  if ($env{'form.associate'} ne 'Reverse Association') {   if ($env{'form.associate'} ne 'Reverse Association') {
     &csv_upload_assign($r,$symb,$mgr);      &csv_upload_assign($r,$mgr);
  } else {   } else {
     if ( $env{'form.upfile_associate'} ne 'reverse' ) {      if ( $env{'form.upfile_associate'} ne 'reverse' ) {
  $env{'form.upfile_associate'} = 'reverse';   $env{'form.upfile_associate'} = 'reverse';
     } else {      } else {
  $env{'form.upfile_associate'} = 'forward';   $env{'form.upfile_associate'} = 'forward';
     }      }
     &csv_upload_map($r,$symb);      &csv_upload_map($r);
  }   }
       } elsif ($env{'form.command'} eq 'editslot' && $mgr eq 'F') {
    &show_slot_edit($r);
     } else {      } else {
    my $symb=&Apache::lonnet::unescape($env{'form.symb'});
    my (undef,undef,$res)=&Apache::lonnet::decode_symb($symb);
    if ($res !~ /\.task$/) {
       &fail($r,'not_valid');
       return OK;
    }
    $env{'request.symb'}=$symb;
  my ($status) = &Apache::lonhomework::check_task_access('0');   my ($status) = &Apache::lonhomework::check_task_access('0');
  if ($status eq 'CAN_ANSWER' ||   if ($status eq 'CAN_ANSWER' ||
     $status eq 'NEEDS_CHECKIN' ||      $status eq 'NEEDS_CHECKIN' ||

Removed from v.1.18  
changed lines
  Added in v.1.19


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