Diff for /loncom/interface/loncreateuser.pm between versions 1.109 and 1.110

version 1.109, 2005/09/13 19:13:22 version 1.110, 2006/03/19 22:15:46
Line 116  sub authorpriv { Line 116  sub authorpriv {
 # =================================================================== Phase one  # =================================================================== Phase one
   
 sub print_username_entry_form {  sub print_username_entry_form {
     my $r=shift;      my ($r) = @_;
     my $defdom=$env{'request.role.domain'};      my $defdom=$env{'request.role.domain'};
     my @domains = &Apache::loncommon::get_domains();      my @domains = &Apache::loncommon::get_domains();
     my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain');      my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain');
     my $html=&Apache::lonxml::xmlbegin();  
     my $bodytag =&Apache::loncommon::bodytag('Create Users, Change User Privileges').&Apache::loncommon::help_open_menu('',undef,undef,'',282,'Instructor Interface');  
     my $selscript=&Apache::loncommon::studentbrowser_javascript();      my $selscript=&Apache::loncommon::studentbrowser_javascript();
       my $start_page =
    &Apache::loncommon::start_page('Create Users, Change User Privileges',
          $selscript);
   
     my $sellink=&Apache::loncommon::selectstudent_link      my $sellink=&Apache::loncommon::selectstudent_link
                                         ('crtuser','ccuname','ccdomain');                                          ('crtuser','ccuname','ccdomain');
     my %existingroles=&my_custom_roles();      my %existingroles=&my_custom_roles();
Line 137  sub print_username_entry_form { Line 139  sub print_username_entry_form {
                     'nr'   => "Name of Role",                      'nr'   => "Name of Role",
                     'cre'  => "Custom Role Editor"                      'cre'  => "Custom Role Editor"
        );         );
       my $help = &Apache::loncommon::help_open_menu('',undef,undef,'',282,'Instructor Interface');
     my $helpsiur=&Apache::loncommon::help_open_topic('Course_Change_Privileges');      my $helpsiur=&Apache::loncommon::help_open_topic('Course_Change_Privileges');
     my $helpecpr=&Apache::loncommon::help_open_topic('Course_Editing_Custom_Roles');      my $helpecpr=&Apache::loncommon::help_open_topic('Course_Editing_Custom_Roles');
     $r->print(<<"ENDDOCUMENT");      $r->print(<<"ENDDOCUMENT");
 $html  
 <head>  
 <title>The LearningOnline Network with CAPA</title>  
 $selscript  
 </head>  
 $bodytag  
 <form action="/adm/createuser" method="post" name="crtuser">  <form action="/adm/createuser" method="post" name="crtuser">
 <input type="hidden" name="phase" value="get_user_info">  <input type="hidden" name="phase" value="get_user_info">
 <h2>$lt{siur}$helpsiur</h2>  <h2>$lt{siur}$helpsiur</h2>
Line 167  $lt{'nr'}: $choice <input type="text" si Line 164  $lt{'nr'}: $choice <input type="text" si
 </form>  </form>
 ENDCUSTOM  ENDCUSTOM
     }      }
     $r->print('</body></html>');      $r->print(&Apache::loncommon::end_page());
   }
   
   
   sub user_modification_js {
       my ($pjump_def, $dc_setcourse_code)=@_;
       return <<END;
   <script type="text/javascript" language="Javascript">
   
       function pclose() {
           parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",
                    "height=350,width=350,scrollbars=no,menubar=no");
           parmwin.close();
       }
   
       $pjump_def
       $dc_setcourse_code
   
       function dateset() {
           eval("document.cu."+document.cu.pres_marker.value+
               ".value=document.cu.pres_value.value");
           pclose();
       }
   
       function setSections() {
           var re1 = /^currsec_/;
           for (var i=0;i<document.cu.elements.length;i++) {
               var str = document.cu.elements[i].name;
               var checkcurr = str.match(re1);
               if (checkcurr != null) {
                   var re2 = /^currsec_[a-zA-Z0-9]+_[a-zA-Z0-9]+_(\\w+)\$/;
                   if (document.cu.elements[i-1].checked == true) {
                       var re2 = /^currsec_[a-zA-Z0-9]+_[a-zA-Z0-9]+_(\\w+)\$/;
                       match = re2.exec(str);
                       var role = match[1];
                       if (role == 'cc') {
                           alert("Section designations do not apply to Course Coordinator roles.\\nA course coordinator role will be added with access to all sections.");
                       }
                       else {
                           var sections = '';
                           var numsec = 0;
                           var sections;
                           for (var j=0; j<document.cu.elements[i].length; j++) {
                               if (document.cu.elements[i].options[j].selected == true ) {
                                   if (document.cu.elements[i].options[j].value != "") {
                                       if (numsec == 0) {
                                           if (document.cu.elements[i].options[j].value != "") {
                                               sections = document.cu.elements[i].options[j].value;
                                               numsec ++;
                                           }
                                       }
                                       else {
                                           sections = sections + "," +  document.cu.elements[i].options[j].value
                                           numsec ++;
                                       }
                                   }
                               }
                           }
                           if (numsec > 0) {
                               if (document.cu.elements[i+1].value != "" && document.cu.elements[i+1].value != null) {
                                   sections = sections + "," +  document.cu.elements[i+1].value;
                               } 
                           }
                           else {
                               sections = document.cu.elements[i+1].value;    
                           }
                           var newsecs = document.cu.elements[i+1].value;
                           if (newsecs != null && newsecs != "") {
                               var numsplit = newsecs.split(/,/g);
                               numsec = numsec + numsplit.length;
                           }
                           if ((role == 'st') && (numsec > 1)) {
                               alert("In each course, each user may only have one student role at a time. You had selected "+numsec+" sections.\\nPlease modify your selections so they include no more than one section.")  
                               return;
                           }
                           else { 
                               document.cu.elements[i+2].value = sections;
                           }
                       }
                   }
               }
           }
           document.cu.submit();
       }
   </script>
   END
 }  }
   
 # =================================================================== Phase two  # =================================================================== Phase two
Line 274  sub print_user_modification_page { Line 356  sub print_user_modification_page {
     }      }
 ENDSCRIPT  ENDSCRIPT
     }      }
     my $html=&Apache::lonxml::xmlbegin();  
     my $dochead =<<"ENDDOCHEAD";  
 $html  
 <head>  
 <title>The LearningOnline Network with CAPA</title>  
 <script type="text/javascript" language="Javascript">  
   
     function pclose() {      my $js = &user_modification_js($pjump_def, $dc_setcourse_code);
         parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",      my $start_page = 
                  "height=350,width=350,scrollbars=no,menubar=no");   &Apache::loncommon::start_page('Create Users, Change User Privileges',
         parmwin.close();         $js,{'add_entries' => $loaditem,});
     }  
   
     $pjump_def  
     $dc_setcourse_code  
   
     function dateset() {  
         eval("document.cu."+document.cu.pres_marker.value+  
             ".value=document.cu.pres_value.value");  
         pclose();  
     }  
   
     function setSections() {  
         var re1 = /^currsec_/;  
         for (var i=0;i<document.cu.elements.length;i++) {  
             var str = document.cu.elements[i].name;  
             var checkcurr = str.match(re1);  
             if (checkcurr != null) {  
                 var re2 = /^currsec_[a-zA-Z0-9]+_[a-zA-Z0-9]+_(\\w+)\$/;  
                 if (document.cu.elements[i-1].checked == true) {  
                     var re2 = /^currsec_[a-zA-Z0-9]+_[a-zA-Z0-9]+_(\\w+)\$/;  
                     match = re2.exec(str);  
                     var role = match[1];  
                     if (role == 'cc') {  
                         alert("Section designations do not apply to Course Coordinator roles.\\nA course coordinator role will be added with access to all sections.");  
                     }  
                     else {  
                         var sections = '';  
                         var numsec = 0;  
                         var sections;  
                         for (var j=0; j<document.cu.elements[i].length; j++) {  
                             if (document.cu.elements[i].options[j].selected == true ) {  
                                 if (document.cu.elements[i].options[j].value != "") {  
                                     if (numsec == 0) {  
                                         if (document.cu.elements[i].options[j].value != "") {  
                                             sections = document.cu.elements[i].options[j].value;  
                                             numsec ++;  
                                         }  
                                     }  
                                     else {  
                                         sections = sections + "," +  document.cu.elements[i].options[j].value  
                                         numsec ++;  
                                     }  
                                 }  
                             }  
                         }  
                         if (numsec > 0) {  
                             if (document.cu.elements[i+1].value != "" && document.cu.elements[i+1].value != null) {  
                                 sections = sections + "," +  document.cu.elements[i+1].value;  
                             }   
                         }  
                         else {  
                             sections = document.cu.elements[i+1].value;      
                         }  
                         var newsecs = document.cu.elements[i+1].value;  
                         if (newsecs != null && newsecs != "") {  
                             var numsplit = newsecs.split(/,/g);  
                             numsec = numsec + numsplit.length;  
                         }  
                         if ((role == 'st') && (numsec > 1)) {  
                             alert("In each course, each user may only have one student role at a time. You had selected "+numsec+" sections.\\nPlease modify your selections so they include no more than one section.")    
                             return;  
                         }  
                         else {   
                             document.cu.elements[i+2].value = sections;  
                         }  
                     }  
                 }  
             }  
         }  
         document.cu.submit();  
     }  
 </script>  
 </head>  
 ENDDOCHEAD  
     $r->print(&Apache::loncommon::bodytag(  
                                      'Create Users, Change User Privileges',undef,$loaditem));  
     my $forminfo =<<"ENDFORMINFO";      my $forminfo =<<"ENDFORMINFO";
 <form action="/adm/createuser" method="post" name="cu">  <form action="/adm/createuser" method="post" name="cu">
 <input type="hidden" name="phase"       value="update_user_data">  <input type="hidden" name="phase"       value="update_user_data">
Line 402  ENDFORMINFO Line 403  ENDFORMINFO
  my $genhelp=&Apache::loncommon::help_open_topic('Generation');   my $genhelp=&Apache::loncommon::help_open_topic('Generation');
         &initialize_authen_forms();          &initialize_authen_forms();
  $r->print(<<ENDNEWUSER);   $r->print(<<ENDNEWUSER);
 $dochead  $start_page
 <h1>$lt{'cnu'}</h1>  <h1>$lt{'cnu'}</h1>
 $forminfo  $forminfo
 <h2>$lt{'nu'} "$ccuname" $lt{'id'} $ccdomain</h2>  <h2>$lt{'nu'} "$ccuname" $lt{'id'} $ccdomain</h2>
Line 443  ENDNEWUSER Line 444  ENDNEWUSER
                     'gen'  => "generation"                      'gen'  => "generation"
        );         );
  $r->print(<<ENDCHANGEUSER);   $r->print(<<ENDCHANGEUSER);
 $dochead  $start_page
 <h1>$lt{'cup'}</h1>  <h1>$lt{'cup'}</h1>
 $forminfo  $forminfo
 <h2>$lt{'usr'} "$ccuname" $lt{'id'} "$ccdomain"</h2>  <h2>$lt{'usr'} "$ccuname" $lt{'id'} "$ccdomain"</h2>
Line 863  ENDDROW Line 864  ENDDROW
         $r->print(&course_level_table(%inccourses));          $r->print(&course_level_table(%inccourses));
         $r->print('<hr /><input type="button" value="'.&mt('Modify User').'" onClick="setSections()">'."\n");          $r->print('<hr /><input type="button" value="'.&mt('Modify User').'" onClick="setSections()">'."\n");
     }      }
     $r->print("</form></body></html>");      $r->print("</form>".&Apache::loncommon::end_page());
 }  }
   
 # ================================================================= Phase Three  # ================================================================= Phase Three
Line 873  sub update_user_data { Line 874  sub update_user_data {
                                           $env{'form.ccdomain'});                                            $env{'form.ccdomain'});
     # Error messages      # Error messages
     my $error     = '<font color="#ff0000">'.&mt('Error').':</font>';      my $error     = '<font color="#ff0000">'.&mt('Error').':</font>';
     my $end       = '</body></html>';      my $end       = &Apache::loncommon::end_page();
     # Print header  
     my $html=&Apache::lonxml::xmlbegin();  
     $r->print(<<ENDTHREEHEAD);  
 $html  
 <head>  
 <title>The LearningOnline Network with CAPA</title>  
 </head>  
 ENDTHREEHEAD  
     my $title;      my $title;
     if (exists($env{'form.makeuser'})) {      if (exists($env{'form.makeuser'})) {
  $title='Set Privileges for New User';   $title='Set Privileges for New User';
     } else {      } else {
         $title='Modify User Privileges';          $title='Modify User Privileges';
     }      }
     $r->print(&Apache::loncommon::bodytag($title));      $r->print(&Apache::loncommon::start_page($title));
     # Check Inputs      # Check Inputs
     if (! $env{'form.ccuname'} ) {      if (! $env{'form.ccuname'} ) {
  $r->print($error.&mt('No login name specified').'.'.$end);   $r->print($error.&mt('No login name specified').'.'.$end);
Line 1266  END Line 1260  END
 # Flush the course logs so reverse user roles immediately updated  # Flush the course logs so reverse user roles immediately updated
     &Apache::lonnet::flushcourselogs();      &Apache::lonnet::flushcourselogs();
     $r->print('<p><a href="/adm/createuser">Create/Modify Another User</a></p>');      $r->print('<p><a href="/adm/createuser">Create/Modify Another User</a></p>');
     $r->print('</body></html>');      $r->print(&Apache::loncommon::end_page());
 }  }
   
 sub commit_customrole {  sub commit_customrole {
Line 1402  sub custom_role_editor { Line 1396  sub custom_role_editor {
         return;          return;
     }      }
   
     $r->print(&Apache::loncommon::bodytag(      $r->print(&Apache::loncommon::start_page('Custom Role Editor'));
                      'Create Users, Change User Privileges').'<h2>');  
     my $syspriv='';      my $syspriv='';
     my $dompriv='';      my $dompriv='';
     my $coursepriv='';      my $coursepriv='';
     my ($rdummy,$roledef)=      my ($rdummy,$roledef)=
  &Apache::lonnet::get('roles',["rolesdef_$rolename"]);   &Apache::lonnet::get('roles',["rolesdef_$rolename"]);
 # ------------------------------------------------------- Does this role exist?  # ------------------------------------------------------- Does this role exist?
       $r->print('<h2>');
     if (($rdummy ne 'con_lost') && ($roledef ne '')) {      if (($rdummy ne 'con_lost') && ($roledef ne '')) {
  $r->print(&mt('Existing Role').' "');   $r->print(&mt('Existing Role').' "');
 # ------------------------------------------------- Get current role privileges  # ------------------------------------------------- Get current role privileges
Line 1481  ENDCCF Line 1475  ENDCCF
     '</td></tr>');      '</td></tr>');
     }      }
     $r->print(      $r->print(
    '<table><input type="submit" value="'.&mt('Define Role').'" /></form></body></html>');     '<table><input type="submit" value="'.&mt('Define Role').'" /></form>'.
         &Apache::loncommon::end_page());
 }  }
   
 # ---------------------------------------------------------- Call to definerole  # ---------------------------------------------------------- Call to definerole
 sub set_custom_role {  sub set_custom_role {
     my $r=shift;      my ($r) = @_;
   
     my $rolename=$env{'form.rolename'};      my $rolename=$env{'form.rolename'};
   
Line 1497  sub set_custom_role { Line 1492  sub set_custom_role {
         return;          return;
     }      }
   
     $r->print(&Apache::loncommon::bodytag(      $r->print(&Apache::loncommon::start_page('Save Custom Role').'<h2>');
                      'Create Users, Change User Privileges').'<h2>');  
     my ($rdummy,$roledef)=      my ($rdummy,$roledef)=
  &Apache::lonnet::get('roles',["rolesdef_$rolename"]);   &Apache::lonnet::get('roles',["rolesdef_$rolename"]);
   
 # ------------------------------------------------------- Does this role exist?  # ------------------------------------------------------- Does this role exist?
     if (($rdummy ne 'con_lost') && ($roledef ne '')) {      if (($rdummy ne 'con_lost') && ($roledef ne '')) {
  $r->print(&mt('Existing Role').' "');   $r->print(&mt('Existing Role').' "');
Line 1551  sub set_custom_role { Line 1546  sub set_custom_role {
  $rolename));   $rolename));
     }      }
     $r->print('<p><a href="/adm/createuser">Create another role, or Create/Modify a user.</a></p>');      $r->print('<p><a href="/adm/createuser">Create another role, or Create/Modify a user.</a></p>');
     $r->print('</body></html>');      $r->print(&Apache::loncommon::end_page());
 }  }
   
 # ================================================================ Main Handler  # ================================================================ Main Handler

Removed from v.1.109  
changed lines
  Added in v.1.110


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