Diff for /loncom/interface/loncommon.pm between versions 1.568 and 1.570

version 1.568, 2007/08/24 18:41:06 version 1.570, 2007/08/26 21:09:43
Line 5609  sub get_secgrprole_info { Line 5609  sub get_secgrprole_info {
 }  }
   
 sub user_picker {  sub user_picker {
     my ($dom,$srch,$forcenewuser) = @_;      my ($dom,$srch,$forcenewuser,$caller) = @_;
     my $currdom = $dom;      my $currdom = $dom;
     my %curr_selected = (      my %curr_selected = (
                         srchin => 'dom',                          srchin => 'dom',
Line 5642  sub user_picker { Line 5642  sub user_picker {
                     'instd'     => 'in institutional directory',                      'instd'     => 'in institutional directory',
                     'exact'     => 'is',                      'exact'     => 'is',
                     'contains'  => 'contains',                      'contains'  => 'contains',
                       'begins'    => 'begins with',
                                        );                                         );
     my $domform = &select_dom_form($currdom,'srchdomain',1,1);      my $domform = &select_dom_form($currdom,'srchdomain',1,1);
     my $srchinsel = ' <select name="srchin">';      my $srchinsel = ' <select name="srchin">';
Line 5677  sub user_picker { Line 5678  sub user_picker {
     $srchbysel .= "\n  </select>\n";      $srchbysel .= "\n  </select>\n";
   
     my $srchtypesel = ' <select name="srchtype">';      my $srchtypesel = ' <select name="srchtype">';
     foreach my $option ('exact','contains') {      foreach my $option ('exact','begins','contains') {
         if ($curr_selected{'srchtype'} eq $option) {          if ($curr_selected{'srchtype'} eq $option) {
             $srchtypesel .= '              $srchtypesel .= '
    <option value="'.$option.'" selected="selected">'.$lt{$option}.'</option>';     <option value="'.$option.'" selected="selected">'.$lt{$option}.'</option>';
Line 5691  sub user_picker { Line 5692  sub user_picker {
     my ($newuserscript,$new_user_create);      my ($newuserscript,$new_user_create);
   
     if ($forcenewuser) {      if ($forcenewuser) {
  $new_user_create = '<p> <input type="submit" name="forcenew" value="'.&HTML::Entities::encode(&mt('Make new user "[_1]"',$srchterm),'<>&"').'" onclick="javascript:setSearch(\'1\');" /> </p>';   $new_user_create = '<p> <input type="submit" name="forcenew" value="'.&HTML::Entities::encode(&mt('Make new user "[_1]"',$srchterm),'<>&"').'" onclick="javascript:setSearch(\'1\','.$caller.');" /> </p>';
         $newuserscript = <<"ENDSCRIPT";          $newuserscript = <<"ENDSCRIPT";
   
 function setSearch(createnew) {  function setSearch(createnew,callingForm) {
     if (createnew == 1) {      if (createnew == 1) {
         for (var i=0; i<document.crtuser.srchby.length; i++) {          for (var i=0; i<callingForm.srchby.length; i++) {
             if (document.crtuser.srchby.options[i].value == 'uname') {              if (callingForm.srchby.options[i].value == 'uname') {
                 document.crtuser.srchby.selectedIndex = i;                  callingForm.srchby.selectedIndex = i;
             }              }
         }          }
         for (var i=0; i<document.crtuser.srchin.length; i++) {          for (var i=0; i<callingForm.srchin.length; i++) {
             if ( document.crtuser.srchin.options[i].value == 'dom') {              if ( callingForm.srchin.options[i].value == 'dom') {
  document.crtuser.srchin.selectedIndex = i;   callingForm.srchin.selectedIndex = i;
             }              }
         }          }
         for (var i=0; i<document.crtuser.srchtype.length; i++) {          for (var i=0; i<callingForm.srchtype.length; i++) {
             if (document.crtuser.srchtype.options[i].value == 'exact') {              if (callingForm.srchtype.options[i].value == 'exact') {
                 document.crtuser.srchtype.selectedIndex = i;                  callingForm.srchtype.selectedIndex = i;
             }              }
         }          }
         for (var i=0; i<document.crtuser.srchdomain.length; i++) {          for (var i=0; i<callingForm.srchdomain.length; i++) {
             if (document.crtuser.srchdomain.options[i].value == '$env{'request.role.domain'}') {              if (callingForm.srchdomain.options[i].value == '$env{'request.role.domain'}') {
                 document.crtuser.srchdomain.selectedIndex = i;                  callingForm.srchdomain.selectedIndex = i;
             }              }
         }          }
     }      }
Line 5724  ENDSCRIPT Line 5725  ENDSCRIPT
   
     my $output = <<"END_BLOCK";      my $output = <<"END_BLOCK";
 <script type="text/javascript">  <script type="text/javascript">
 function validateEntry() {  function validateEntry(callingForm) {
   
     var checkok = 1;      var checkok = 1;
     var srchin;      var srchin;
     for (var i=0; i<document.crtuser.srchin.length; i++) {      for (var i=0; i<callingForm.srchin.length; i++) {
  if ( document.crtuser.srchin[i].checked ) {   if ( callingForm.srchin[i].checked ) {
     srchin = document.crtuser.srchin[i].value;      srchin = callingForm.srchin[i].value;
  }   }
     }      }
   
     var srchtype = document.crtuser.srchtype.options[document.crtuser.srchtype.selectedIndex].value;      var srchtype = callingForm.srchtype.options[callingForm.srchtype.selectedIndex].value;
     var srchby = document.crtuser.srchby.options[document.crtuser.srchby.selectedIndex].value;      var srchby = callingForm.srchby.options[callingForm.srchby.selectedIndex].value;
     var srchdomain = document.crtuser.srchdomain.options[document.crtuser.srchdomain.selectedIndex].value;      var srchdomain = callingForm.srchdomain.options[callingForm.srchdomain.selectedIndex].value;
     var srchterm =  document.crtuser.srchterm.value;      var srchterm =  callingForm.srchterm.value;
     var srchin = document.crtuser.srchin.options[document.crtuser.srchin.selectedIndex].value;      var srchin = callingForm.srchin.options[callingForm.srchin.selectedIndex].value;
     var msg = "";      var msg = "";
   
     if (srchterm == "") {      if (srchterm == "") {
Line 5746  function validateEntry() { Line 5747  function validateEntry() {
         msg += "You must include some text to search for.\\n";          msg += "You must include some text to search for.\\n";
     }      }
   
       if (srchtype== 'begins') {
           if (srchterm.length < 2) {
               checkok = 0;
               msg += "The text you are searching for must contain at least two characters when using a 'begins' type search.\\n";
           }
       }
   
     if (srchtype== 'contains') {      if (srchtype== 'contains') {
         if (srchterm.length < 3) {          if (srchterm.length < 3) {
             checkok = 0;              checkok = 0;
Line 5779  function validateEntry() { Line 5787  function validateEntry() {
         return;          return;
     }      }
     if (checkok == 1) {      if (checkok == 1) {
         document.crtuser.submit();          callingForm.submit();
     }      }
 }  }
   

Removed from v.1.568  
changed lines
  Added in v.1.570


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