Diff for /loncom/interface/Attic/londropadd.pm between versions 1.88 and 1.89

version 1.88, 2003/11/06 20:04:06 version 1.89, 2003/11/06 22:49:59
Line 175  END Line 175  END
   
 ###############################################################  ###############################################################
 ###############################################################  ###############################################################
   sub hidden_input {
       my ($name,$value) = @_;
       return '<input type="hidden" name="'.$name.'" value="'.$value.'" />'."\n";
   }
   
 sub print_upload_manager_header {  sub print_upload_manager_header {
     my ($r,$datatoken,$distotal,$krbdefdom)=@_;      my ($r,$datatoken,$distotal,$krbdefdom)=@_;
     my $javascript;      my $javascript;
Line 193  sub print_upload_manager_header { Line 198  sub print_upload_manager_header {
     } else {      } else {
  $javascript=&upload_manager_javascript_forward_associate();   $javascript=&upload_manager_javascript_forward_associate();
     }      }
     my $javascript_validations=&javascript_validations($krbdefdom);      my $javascript_validations=&javascript_validations('auth',$krbdefdom);
     my $checked=(($ENV{'form.noFirstLine'})?' checked="1"':'');      my $checked=(($ENV{'form.noFirstLine'})?' checked="1"':'');
     $r->print('<h3>'.&mt('Uploading Class List')."</h3>\n".      $r->print('<h3>'.&mt('Uploading Class List')."</h3>\n".
               "<hr>\n".                "<hr>\n".
Line 202  sub print_upload_manager_header { Line 207  sub print_upload_manager_header {
               &mt('Total number of records found in file: [_1].',$distotal).                &mt('Total number of records found in file: [_1].',$distotal).
               "\n".                "\n".
               "</p><hr>\n");                "</p><hr>\n");
     $r->print(<<ENDPICK);      $r->print(&mt('Enter as many fields as you can. '.
 Enter as many fields as you can. The system will inform you and bring you back                    'The system will inform you and bring you back to '.
 to this page if the data selected is insufficient to run your class.<hr />                    'this page if the data selected is insufficient to '.
 <input type="button" value="Reverse Association" onClick="javascript:this.form.associate.value='Reverse Association';submit(this.form);" />                    'enroll students in your class.')."<hr>\n");
 <input type="hidden" name="action"     value="upload" />      $r->print(&hidden_input('action','upload').
 <input type="hidden" name="state"      value="got_file" />                &hidden_input('state','got_file').
 <input type="hidden" name="associate"  value="" />                &hidden_input('associate','').
 <input type="hidden" name="datatoken"  value="$datatoken" />                &hidden_input('datatoken',$datatoken).
 <input type="hidden" name="fileupload" value="$ENV{'form.fileupload'}" />                &hidden_input('fileupload',$ENV{'form.fileupload'}).
 <input type="checkbox" name="noFirstLine" $checked />Ignore First Line                &hidden_input('upfiletype',$ENV{'form.upfiletype'}).
 <input type="hidden" name="upfiletype" value="$ENV{'form.upfiletype'}" />                &hidden_input('upfile_associate',$ENV{'form.upfile_associate'}));
 <input type="hidden" name="upfile_associate"       $r->print('<input type="button" value="Reverse Association" '.
                                        value="$ENV{'form.upfile_associate'}" />                'name="'.&mt('Reverse Association').'" '.
 <hr />                'onClick="javascript:this.form.associate.value=\'Reverse Association\';submit(this.form);" />');
 <script type="text/javascript" language="Javascript">      $r->print('<input type="checkbox" name="noFirstLine" $checked />'.
 $javascript                &mt('Ignore First Line'));
 $javascript_validations      $r->print("<hr />\n".
 </script>                '<script type="text/javascript" language="Javascript">'."\n".
 ENDPICK                $javascript."\n".$javascript_validations.'</script>');
 }  }
   
 ###############################################################  ###############################################################
 ###############################################################  ###############################################################
 sub javascript_validations {  sub javascript_validations {
     my ($krbdefdom)=@_;      my ($mode,$krbdefdom)=@_;
     my %param = ( formname => 'studentform',      my $authheader;
                   kerb_def_dom => $krbdefdom );      if ($mode eq 'auth') {
     my $authheader = &Apache::loncommon::authform_header(%param);          my %param = ( formname => 'studentform',
     my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();                        kerb_def_dom => $krbdefdom );
     return (<<ENDPICK);          $authheader = &Apache::loncommon::authform_header(%param);
       }
       my %alert = &Apache::lonlocal::texthash
           (username => 'You need to specify the username field.',
            authen   => 'You must choose an authentication type.',
            krb      => 'You need to specify the Kerberos domain.',
            ipass    => 'You need to specify the initial password.',
            name     => 'The optional name field was not specified.',
            snum     => 'The optional student number field was not specified.',
            section  => 'The optional section or group field was not specified.', 
            email    => 'The optional email address field was not specified.',
            continue => 'Continue enrollment?',
            );
       
   #    my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
       my $function_name =(<<END);
 function verify_message (vf,founduname,foundpwd,foundname,foundid,foundsec,foundemail) {  function verify_message (vf,founduname,foundpwd,foundname,foundid,foundsec,foundemail) {
   END
       my $auth_checks = (<<END);
     var foundatype=0;      var foundatype=0;
     var message='';  
     if (founduname==0) {      if (founduname==0) {
  alert('You need to specify the username field');   alert('$alert{'username'}');
         return;          return;
     }      }
     // alert('current.radiovalue = '+current.radiovalue);      // alert('current.radiovalue = '+current.radiovalue);
     if (current.radiovalue == null || current.radiovalue == 'nochange') {      if (current.radiovalue == null || current.radiovalue == 'nochange') {
         // They did not check any of the login radiobuttons.          // They did not check any of the login radiobuttons.
         alert('You must choose an authentication type');          alert('$alert{'authen'}');
         return;          return;
     }      }
     foundatype=1;      foundatype=1;
Line 250  function verify_message (vf,founduname,f Line 271  function verify_message (vf,founduname,f
         var alertmsg = '';          var alertmsg = '';
         switch (current.value) {          switch (current.value) {
             case 'krb':               case 'krb': 
                 alertmsg = 'You need to specify the Kerberos domain';                  alertmsg = '$alert{'krb'}';
                 break;                  break;
             case 'loc':              case 'loc':
             case 'fsys':              case 'fsys':
                 alertmsg = 'You need to specify the initial password';                  alertmsg = '$alert{'ipass'}';
                 break;                  break;
             case 'fsys':              case 'fsys':
                 alertmsg = '';                  alertmsg = '';
Line 267  function verify_message (vf,founduname,f Line 288  function verify_message (vf,founduname,f
             return;              return;
         }          }
     }      }
   END
     if (foundname==0) { message='name fields'; }      my $optional_checks = (<<END);
     if (foundid==0) { if (message!='') { message+=', '; } message+='student number field'; }  
     if (foundsec==0) {  if (message!='') { message+=', '; } message+='section or group field'; }  
     if (foundemail==0) {  if (message!='') { message+=', '; } message+='email address field'; }  
     if (message!='') {  
        message='Not specified (optional): '+message+'.  Continue enrollment?';  
        if (confirm(message)) {  
           vf.state.value='enrolling';  
   vf.submit();  
        }  
     } else {  
       vf.state.value='enrolling';  
       vf.submit();  
     }  
 }  
   
 $authheader  
 ENDPICK  
   
 }  
   
 sub javascript_validations_without_auth {  
     my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();  
     return (<<ENDPICK);  
 function verify_message (vf,founduname,foundpwd,foundname,foundid,foundsec,foundemail) {  
     var foundatype=0;  
     var message='';      var message='';
     if (founduname==0) {      if (foundname==0) { 
  alert('You need to specify the username field');          message='$alert{'name'}';
         return;      }
       if (foundid==0) { 
           if (message!='') { 
               message+='\\n'; 
           }
           message+='$alert{'snum'}';
       }
       if (foundsec==0) {
           if (message!='') {
               message+='\\n';
           } 
           message+='$alert{'section'}';
       }
       if (foundemail==0) {
           if (message!='') {
               message+='\\n';
           }
           message+='$alert{'email'}';
     }      }
     if (foundname==0) { message='name fields'; }  
     if (foundid==0) { if (message!='') { message+=', '; } message+='student number field'; }  
     if (foundsec==0) {  if (message!='') { message+=', '; } message+='section or group field'; }  
     if (foundemail==0) {  if (message!='') { message+=', '; } message+='email address field'; }  
     if (message!='') {      if (message!='') {
        message='Not specified (optional): '+message+'.  Continue enrollment?';          message+= '\\n$alert{'continue'}';
        if (confirm(message)) {          if (confirm(message)) {
           vf.state.value='enrolling';              vf.state.value='enrolling';
   vf.submit();              vf.submit();
        }          }
     } else {      } else {
       vf.state.value='enrolling';          vf.state.value='enrolling';
       vf.submit();          vf.submit();
     }      }
 }  }
   
 ENDPICK  END
       my $result = $function_name;
       if ($mode eq 'auth') {
           $result .= $auth_checks;
       }
       $result .= $optional_checks;
       if ($mode eq 'auth') {
           $result .= $authheader;
       }
       return $result;
 }  }
   
 ###############################################################  ###############################################################
Line 774  sub print_enroll_single_student_form { Line 791  sub print_enroll_single_student_form {
         # Set up authentication forms          # Set up authentication forms
         my ($krbdef,$krbdefdom) =          my ($krbdef,$krbdefdom) =
             &Apache::loncommon::get_kerberos_defaults($domain);              &Apache::loncommon::get_kerberos_defaults($domain);
         $javascript_validations=&javascript_validations($krbdefdom);          $javascript_validations=&javascript_validations('auth',$krbdefdom);
         my %param = ( formname => 'document.studentform',          my %param = ( formname => 'document.studentform',
                       kerb_def_dom => $krbdefdom,                        kerb_def_dom => $krbdefdom,
                       kerb_def_auth => $krbdef                        kerb_def_auth => $krbdef
Line 823  END Line 840  END
     } else {      } else {
         # User already exists.  Do not worry about authentication          # User already exists.  Do not worry about authentication
         my %uenv = &Apache::lonnet::dump('environment',$domain,$username);          my %uenv = &Apache::lonnet::dump('environment',$domain,$username);
         $javascript_validations = &javascript_validations_without_auth();          $javascript_validations = &javascript_validations('noauth');
         $user_data_html = <<END;          $user_data_html = <<END;
 <h3>User Data for $username\@$domain</h3>  <h3>User Data for $username\@$domain</h3>
 <input type="hidden" name="lcserver" value="default" />  <input type="hidden" name="lcserver" value="default" />

Removed from v.1.88  
changed lines
  Added in v.1.89


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