Diff for /loncom/interface/loncreateuser.pm between versions 1.335 and 1.347

version 1.335, 2010/03/19 20:21:18 version 1.347, 2010/09/08 02:16:07
Line 1613  sub display_existing_roles { Line 1613  sub display_existing_roles {
             $plaintext=&Apache::lonnet::plaintext($role_code,$class)              $plaintext=&Apache::lonnet::plaintext($role_code,$class)
         } else {          } else {
             $plaintext=              $plaintext=
         "Customrole '$croletitle'<br />defined by $croleuname\@$croleudom";                  &mt('Customrole [_1][_2]defined by [_3]',
                           '"'.$croletitle.'"',
                           '<br />',
                           $croleuname.':'.$croleudom);
         }          }
         $row.= '</td><td>'.$plaintext.          $row.= '</td><td>'.$plaintext.
                '</td><td>'.$area.                 '</td><td>'.$area.
Line 2297  sub update_user_data { Line 2300  sub update_user_data {
   
     $r->print('<h3>'.&mt('User [_1] in domain [_2]',      $r->print('<h3>'.&mt('User [_1] in domain [_2]',
  $env{'form.ccuname'}, $env{'form.ccdomain'}).'</h3>');   $env{'form.ccuname'}, $env{'form.ccdomain'}).'</h3>');
       $r->print('<p class="LC_info">'.&mt('Please be patient').'</p>');
   
     my (%alerts,%rulematch,%inst_results,%curr_rules);      my (%alerts,%rulematch,%inst_results,%curr_rules);
     my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id');      my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id');
     my @usertools = ('aboutme','blog','portfolio');      my @usertools = ('aboutme','blog','portfolio');
Line 2385  sub update_user_data { Line 2390  sub update_user_data {
                     }                      }
                 }                  }
                 foreach my $item (@requestcourses) {                  foreach my $item (@requestcourses) {
                     $newcustom{$item} = $env{'form.crsreq_'.$item};                      if ($env{'form.custom'.$item} == 1) {
                     if ($env{'form.crsreq_'.$item} eq 'autolimit') {                          $newcustom{$item} = $env{'form.crsreq_'.$item};
                         $newcustom{$item} .= '=';                          if ($env{'form.crsreq_'.$item} eq 'autolimit') {
                         unless ($env{'form.crsreq_'.$item.'_limit'} =~ /\D/) {                              $newcustom{$item} .= '=';
                             $newcustom{$item} .= $env{'form.crsreq_'.$item.'_limit'};                              unless ($env{'form.crsreq_'.$item.'_limit'} =~ /\D/) {
                                   $newcustom{$item} .= $env{'form.crsreq_'.$item.'_limit'};
                               }
                         }                          }
                           $changed{$item} = &tool_admin($item,$newcustom{$item},
                                                         \%changeHash,'requestcourses');
                     }                      }
                     $changed{$item} = &tool_admin($item,$newcustom{$item},  
                                                   \%changeHash,'requestcourses');  
                 }                  }
             }              }
             if ($canmodify_status{'inststatus'}) {              if ($canmodify_status{'inststatus'}) {
Line 2436  sub update_user_data { Line 2443  sub update_user_data {
     $r->print($error.&mt('You do not have the authority to modify this users authentification information').'.'.$end);          $r->print($error.&mt('You do not have the authority to modify this users authentification information').'.'.$end);    
  }   }
     }      }
   
       $r->rflush(); # Finish display of header before time consuming actions start
   
     ##      ##
     my (@userroles,%userupdate,$cnum,$cdom,$crstype,%namechanged);      my (@userroles,%userupdate,$cnum,$cdom,%namechanged);
     if ($context eq 'course') {      if ($context eq 'course') {
         ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();          ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();
         $crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum);          $crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum);
Line 2574  sub update_user_data { Line 2584  sub update_user_data {
         }          }
         my ($quotachanged,$oldportfolioquota,$newportfolioquota,$oldinststatus,          my ($quotachanged,$oldportfolioquota,$newportfolioquota,$oldinststatus,
             $newinststatus,$oldisdefault,$newisdefault,%oldsettings,              $newinststatus,$oldisdefault,$newisdefault,%oldsettings,
             %oldsettingstext,%newsettings,%newsettingstext,@disporder);              %oldsettingstext,%newsettings,%newsettingstext,@disporder,
               $olddefquota,$oldsettingstatus,$newdefquota,$newsettingstatus);
         @disporder = ('inststatus');          @disporder = ('inststatus');
         if ($env{'request.role.domain'} eq $env{'form.ccdomain'}) {          if ($env{'request.role.domain'} eq $env{'form.ccdomain'}) {
             push(@disporder,'requestcourses');              push(@disporder,'requestcourses');
Line 2582  sub update_user_data { Line 2593  sub update_user_data {
             push(@disporder,'reqcrsotherdom');              push(@disporder,'reqcrsotherdom');
         }          }
         push(@disporder,('quota','tools'));          push(@disporder,('quota','tools'));
         my ($defquota,my $settingstatus) =           $oldinststatus = $userenv{'inststatus'};
           ($olddefquota,$oldsettingstatus) = 
             &Apache::loncommon::default_quota($env{'form.ccdomain'},$oldinststatus);              &Apache::loncommon::default_quota($env{'form.ccdomain'},$oldinststatus);
           ($newdefquota,$newsettingstatus) = ($olddefquota,$oldsettingstatus);
         my %canshow;          my %canshow;
         if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {          if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {
             $canshow{'quota'} = 1;              $canshow{'quota'} = 1;
Line 2600  sub update_user_data { Line 2613  sub update_user_data {
             $canshow{'inststatus'} = 1;              $canshow{'inststatus'} = 1;
         }          }
         my (%changeHash,%changed);          my (%changeHash,%changed);
         $oldinststatus = $userenv{'inststatus'};  
         if ($oldinststatus eq '') {          if ($oldinststatus eq '') {
             $oldsettings{'inststatus'} = $othertitle;               $oldsettings{'inststatus'} = $othertitle; 
         } else {          } else {
Line 2620  sub update_user_data { Line 2632  sub update_user_data {
                     $changeHash{'inststatus'} = $newinststatus;                      $changeHash{'inststatus'} = $newinststatus;
                     if ($newinststatus ne $oldinststatus) {                      if ($newinststatus ne $oldinststatus) {
                         $changed{'inststatus'} = $newinststatus;                          $changed{'inststatus'} = $newinststatus;
                           ($newdefquota,$newsettingstatus) =
                               &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus);
                     }                      }
                     if (ref($usertypes) eq 'HASH') {                      if (ref($usertypes) eq 'HASH') {
                         $newsettings{'inststatus'} = join(', ',map{ $usertypes->{$_}; } (@inststatuses));                           $newsettings{'inststatus'} = join(', ',map{ $usertypes->{$_}; } (@inststatuses)); 
                     } else {                      } else {
                         $newsettings{'inststatus'} = join(', ',map{ $usertypes->{$_}; } (@inststatuses));                          $newsettings{'inststatus'} = join(', ',@inststatuses);
                     }                      }
                 }                  }
             } else {              } else {
Line 2633  sub update_user_data { Line 2647  sub update_user_data {
                 $newsettings{'inststatus'} = $othertitle;                  $newsettings{'inststatus'} = $othertitle;
                 if ($newinststatus ne $oldinststatus) {                  if ($newinststatus ne $oldinststatus) {
                     $changed{'inststatus'} = $changeHash{'inststatus'};                      $changed{'inststatus'} = $changeHash{'inststatus'};
                       ($newdefquota,$newsettingstatus) =
                           &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus);
                 }                  }
             }              }
         } elsif ($context ne 'selfcreate') {          } elsif ($context ne 'selfcreate') {
             $canshow{'inststatus'} = 1;              $canshow{'inststatus'} = 1;
               $newsettings{'inststatus'} = $oldsettings{'inststatus'};
         }          }
         $changeHash{'portfolioquota'} = $userenv{'portfolioquota'};          $changeHash{'portfolioquota'} = $userenv{'portfolioquota'};
         if ($context eq 'domain') {          if ($context eq 'domain') {
Line 2654  sub update_user_data { Line 2671  sub update_user_data {
                     }                      }
                 } else {                  } else {
                     $changed{'quota'} = &quota_admin('',\%changeHash);                      $changed{'quota'} = &quota_admin('',\%changeHash);
                     $newportfolioquota = $defquota;                      $newportfolioquota = $newdefquota;
                     $newisdefault = 1;                      $newisdefault = 1;
                 }                  }
             } else {              } else {
                 $oldisdefault = 1;                  $oldisdefault = 1;
                 $oldportfolioquota = $defquota;                  $oldportfolioquota = $olddefquota;
                 if ($env{'form.customquota'} == 1) {                  if ($env{'form.customquota'} == 1) {
                     if ($env{'form.portfolioquota'} eq '') {                      if ($env{'form.portfolioquota'} eq '') {
                         $newportfolioquota = 0;                          $newportfolioquota = 0;
Line 2669  sub update_user_data { Line 2686  sub update_user_data {
                     }                      }
                     $changed{'quota'} = &quota_admin($newportfolioquota,\%changeHash);                      $changed{'quota'} = &quota_admin($newportfolioquota,\%changeHash);
                 } else {                  } else {
                     $newportfolioquota = $defquota;                      $newportfolioquota = $newdefquota;
                     $newisdefault = 1;                      $newisdefault = 1;
                 }                  }
             }              }
             if ($oldisdefault) {              if ($oldisdefault) {
                 $oldsettingstext{'quota'} = &get_defaultquota_text($settingstatus);                  $oldsettingstext{'quota'} = &get_defaultquota_text($oldsettingstatus);
             }              }
             if ($newisdefault) {              if ($newisdefault) {
                 $newsettingstext{'quota'} = &get_defaultquota_text($settingstatus);                  $newsettingstext{'quota'} = &get_defaultquota_text($newsettingstatus);
             }              }
             &tool_changes('tools',\@usertools,\%oldsettings,\%oldsettingstext,\%userenv,              &tool_changes('tools',\@usertools,\%oldsettings,\%oldsettingstext,\%userenv,
                           \%changeHash,\%changed,\%newsettings,\%newsettingstext);                            \%changeHash,\%changed,\%newsettings,\%newsettingstext);
Line 2697  sub update_user_data { Line 2714  sub update_user_data {
         $oldsettings{'quota'} = $oldportfolioquota.' Mb';          $oldsettings{'quota'} = $oldportfolioquota.' Mb';
         $newsettings{'quota'} = $newportfolioquota.' Mb';          $newsettings{'quota'} = $newportfolioquota.' Mb';
         if ((keys(%namechanged) > 0) || (keys(%changed) > 0)) {          if ((keys(%namechanged) > 0) || (keys(%changed) > 0)) {
             $changeHash{'firstname'}  = $env{'form.cfirstname'};  
             $changeHash{'middlename'} = $env{'form.cmiddlename'};  
             $changeHash{'lastname'}   = $env{'form.clastname'};  
             $changeHash{'generation'} = $env{'form.cgeneration'};  
             $changeHash{'id'}         = $env{'form.cid'};  
             $changeHash{'permanentemail'} = $env{'form.cpermanentemail'};  
             my ($chgresult,$namechgresult);              my ($chgresult,$namechgresult);
             if (keys(%changed) > 0) {              if (keys(%changed) > 0) {
                 $chgresult =                   $chgresult = 
Line 2743  sub update_user_data { Line 2754  sub update_user_data {
                 }                  }
             }              }
             if (keys(%namechanged) > 0) {              if (keys(%namechanged) > 0) {
             # Make the change                  foreach my $field (@userinfo) {
                       $changeHash{$field}  = $env{'form.c'.$field};
                   }
   # Make the change
                 $namechgresult =                  $namechgresult =
                     &Apache::lonnet::modifyuser($env{'form.ccdomain'},                      &Apache::lonnet::modifyuser($env{'form.ccdomain'},
                         $env{'form.ccuname'},$changeHash{'id'},undef,undef,                          $env{'form.ccuname'},$changeHash{'id'},undef,undef,
                         $changeHash{'firstname'},$changeHash{'middlename'},                          $changeHash{'firstname'},$changeHash{'middlename'},
                         $changeHash{'lastname'},$changeHash{'generation'},                          $changeHash{'lastname'},$changeHash{'generation'},
                         $changeHash{'id'},undef,$changeHash{'permanentemail'});                          $changeHash{'id'},undef,$changeHash{'permanentemail'},undef,\@userinfo);
                 %userupdate = (                  %userupdate = (
                                lastname   => $env{'form.clastname'},                                 lastname   => $env{'form.clastname'},
                                middlename => $env{'form.cmiddlename'},                                 middlename => $env{'form.cmiddlename'},
Line 4131  sub handler { Line 4145  sub handler {
             $r->print(&Apache::lonhtmlcommon::breadcrumbs("Update Users",              $r->print(&Apache::lonhtmlcommon::breadcrumbs("Update Users",
                                                           'Course_View_Class_List'));                                                            'Course_View_Class_List'));
             if ($permission->{'cusr'}) {              if ($permission->{'cusr'}) {
                 &Apache::lonuserutils::update_user_list($r,$context,$setting,$choice);                  &Apache::lonuserutils::update_user_list($r,$context,$setting,$choice,$crstype);
                 $r->print(&Apache::loncommon::end_page());                  $r->print(&Apache::loncommon::end_page());
             } else {              } else {
                 $r->print(&mt('You are not authorized to make bulk changes to user roles'));                  $r->print(&mt('You are not authorized to make bulk changes to user roles'));
Line 4382  sub print_main_menu { Line 4396  sub print_main_menu {
          [           [
             {              {
              linktext => $links{$linkcontext}{'upload'},               linktext => $links{$linkcontext}{'upload'},
              icon => 'sctr.png',               icon => 'uplusr.png',
              #help => 'Course_Create_Class_List',               #help => 'Course_Create_Class_List',
              url => '/adm/createuser?action=upload',               url => '/adm/createuser?action=upload',
              permission => $permission->{'cusr'},               permission => $permission->{'cusr'},
Line 4390  sub print_main_menu { Line 4404  sub print_main_menu {
             },              },
             {              {
              linktext => $links{$linkcontext}{'listusers'},               linktext => $links{$linkcontext}{'listusers'},
              icon => 'edit-find.png',               icon => 'mngcu.png',
              #help => 'Course_View_Class_List',               #help => 'Course_View_Class_List',
              url => '/adm/createuser?action=listusers',               url => '/adm/createuser?action=listusers',
              permission => ($permission->{'view'} || $permission->{'cusr'}),               permission => ($permission->{'view'} || $permission->{'cusr'}),
Line 4522  sub print_main_menu { Line 4536  sub print_main_menu {
             push(@{ $menu[2]->{items} },               push(@{ $menu[2]->{items} }, 
                 {                  {
                  linktext => 'User Self-Enrollment',                   linktext => 'User Self-Enrollment',
                  icon => 'cstr.png',                   icon => 'self_enroll.png',
                  #help => 'Course_Self_Enrollment',                   #help => 'Course_Self_Enrollment',
                  url => '/adm/createuser?action=selfenroll',                   url => '/adm/createuser?action=selfenroll',
                  permission => $permission->{'cusr'},                   permission => $permission->{'cusr'},
Line 4948  ENDSCRIPT Line 4962  ENDSCRIPT
                                    '<input type="checkbox" name="selfenroll_notify"'.$notifyon.' value="'.$cc.'" />'.                                     '<input type="checkbox" name="selfenroll_notify"'.$notifyon.' value="'.$cc.'" />'.
                                    &Apache::loncommon::plainname($ccuname,$ccudom).                                     &Apache::loncommon::plainname($ccuname,$ccudom).
                                    '</label></span></td>';                                     '</label></span></td>';
                         $count;                          $count ++;
                     }                      }
                     my $rem = $count%$numcols;                      my $rem = $count%$numcols;
                     if ($rem) {                      if ($rem) {
Line 4965  ENDSCRIPT Line 4979  ENDSCRIPT
                 my $cid = $env{'request.course.id'};                  my $cid = $env{'request.course.id'};
                 my $currlim = $env{'course.'.$cid.'.internal.selfenroll_limit'};                  my $currlim = $env{'course.'.$cid.'.internal.selfenroll_limit'};
                 my $currcap = $env{'course.'.$cid.'.internal.selfenroll_cap'};                  my $currcap = $env{'course.'.$cid.'.internal.selfenroll_cap'};
                 my $nolimit = ' checked="checked" ';                  $nolimit = ' checked="checked" ';
                 if ($currlim eq 'allstudents') {                  if ($currlim eq 'allstudents') {
                     $crslimit = ' checked="checked" ';                      $crslimit = ' checked="checked" ';
                     $selflimit = ' ';                      $selflimit = ' ';
Line 5021  sub visible_in_cat { Line 5035  sub visible_in_cat {
                    dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',                     dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',
                    dc_addcat => 'Ask a domain coordinator to assign a category to the course.',                     dc_addcat => 'Ask a domain coordinator to assign a category to the course.',
     );      );
     $visactions{'unhide'} = &mt('Use [_1]Set course environment[_2] to change the "Exclude from course catalog" setting.','"<a href="/adm/parmset?action=crsenv">','</a>"');      $visactions{'unhide'} = &mt('Use [_1]Categorize course[_2] to change the "Exclude from course catalog" setting.','<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
     $visactions{'chgcat'} = &mt('Use [_1]Set course environment[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"<a href="/adm/parmset?action=crsenv">','</a>"');      $visactions{'chgcat'} = &mt('Use [_1]Categorize course[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
     $visactions{'addcat'} = &mt('Use [_1]Set course environment[_2] to assign a category to the course.','"<a href="/adm/parmset?action=crsenv">','</a>"');      $visactions{'addcat'} = &mt('Use [_1]Categorize course[_2] to assign a category to the course.','"<a href="/adm/courseprefs?phase=display&actions=courseinfo">','</a>"');
     if (ref($domconf{'coursecategories'}) eq 'HASH') {      if (ref($domconf{'coursecategories'}) eq 'HASH') {
         if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') {          if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') {
             $settable{'togglecats'} = 1;              $settable{'togglecats'} = 1;
Line 6271  sub update_selfenroll_config { Line 6285  sub update_selfenroll_config {
                             $newnum ++;                              $newnum ++;
                         }                          }
                     }                      }
                     for (my $j=0; $j<$env{'form.selfenroll_types_total'}; $j++) {                        if ((!grep(/^$j$/,@deletedoms)) && (!grep(/^$j$/,@activations))) {                      for (my $j=0; $j<$env{'form.selfenroll_types_total'}; $j++) {
                           if ((!grep(/^$j$/,@deletedoms)) && (!grep(/^$j$/,@activations))) {
                             my @types = &Apache::loncommon::get_env_multiple('form.selfenroll_types_'.$j);                              my @types = &Apache::loncommon::get_env_multiple('form.selfenroll_types_'.$j);
                             if (@types > 0) {                              if (@types > 0) {
                                 @types = sort(@types);                                  @types = sort(@types);

Removed from v.1.335  
changed lines
  Added in v.1.347


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