Diff for /loncom/interface/lonuserutils.pm between versions 1.27 and 1.28

version 1.27, 2007/12/22 17:33:26 version 1.28, 2007/12/22 19:12:51
Line 3467  sub upfile_drop_add { Line 3467  sub upfile_drop_add {
                                 }                                  }
                             }                              }
                             if (!$multiple) {                              if (!$multiple) {
                                 ($userresult,$authresult,$roleresult) =                                   ($userresult,$authresult,$roleresult,$idresult) = 
                                     &modifyuserrole($context,$setting,                                      &modifyuserrole($context,$setting,
                                         $changeauth,$cid,$domain,$username,                                           $changeauth,$cid,$domain,$username, 
                                         $id,$amode,$password,$fname,                                          $id,$amode,$password,$fname,
Line 3487  sub upfile_drop_add { Line 3487  sub upfile_drop_add {
                         } else {                          } else {
                             $flushc =                               $flushc = 
                                 &user_change_result($r,$userresult,$authresult,                                  &user_change_result($r,$userresult,$authresult,
                                                     $roleresult,\%counts,$flushc,                                                      $roleresult,$idresult,\%counts,$flushc,
                                                     $username,%userchg);                                                      $username,%userchg);
                         }                          }
                     } else {                      } else {
Line 3732  sub update_user_list { Line 3732  sub update_user_list {
             }              }
         }          }
         my $plrole = &Apache::lonnet::plaintext($role);          my $plrole = &Apache::lonnet::plaintext($role);
         my ($uid,$first,$middle,$last,$gene,$sec);  
         my $start = $env{'form.'.$item.'_start'};          my $start = $env{'form.'.$item.'_start'};
         my $end = $env{'form.'.$item.'_end'};          my $end = $env{'form.'.$item.'_end'};
         if ($choice eq 'drop') {          if ($choice eq 'drop') {
Line 3752  sub update_user_list { Line 3751  sub update_user_list {
                     &Apache::lonnet::revokerole($udom,$uname,$scope,$role);                      &Apache::lonnet::revokerole($udom,$uname,$scope,$role);
             }              }
         } elsif ($choice eq 'delete') {          } elsif ($choice eq 'delete') {
             $start = -1;  
             $end = -1;  
             if ($role eq 'st') {              if ($role eq 'st') {
 # FIXME - how does role deletion affect classlist?  
                 &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,undef,undef,$sec,$end,$start,$type,$locktype,$cid);                  &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,undef,undef,$sec,$end,$start,$type,$locktype,$cid);
             } else {              } else {
                 $result =                  $result =
                     &Apache::lonnet::assignrole($udom,$uname,$scope,$role,$now,                      &Apache::lonnet::assignrole($udom,$uname,$scope,$role,$now,
                                                 0,1);                                                  $start,1);
              }               }
         } else {          } else {
             #reenable, activate, change access dates or change section              #reenable, activate, change access dates or change section
Line 3803  sub update_user_list { Line 3799  sub update_user_list {
                             $nochg = 1;                              $nochg = 1;
                         }                          }
                     } else {                      } else {
                         if (!grep(/^\Q$sec\E$/,@newsecs)) {                          if (@newsecs > 0) {
                             $revresult =                              if (grep(/^\Q$sec\E$/,@newsecs)) {
                                &Apache::lonnet::revokerole($udom,$uname,$scope,$role);                                  push(@retained,$sec);
                               } else {
                                   $revresult =
                                       &Apache::lonnet::revokerole($udom,$uname,
                                                                   $scope,$role);
                               }
                         } else {                          } else {
                             push(@retained,$sec);                              $revresult =
                                   &Apache::lonnet::revokerole($udom,$uname,
                                                               $scope,$role);
                         }                          }
                     }                      }
                 } else {                  } else {
                     push(@retained,$sec);                      if ($sec eq '') {
                           $nochg = 1;
                       } else { 
                           push(@retained,$sec);
                       }
                 }                  }
                 # add new sections                  # add new sections
                 if (@newsecs == 0) {                  if (@newsecs == 0) {
                     if (!$nochg) {                      if (!$nochg) {
                         if ($sec ne '') {                          if ($role eq 'st') {
                             if ($role eq 'st') {                              $result = 
                                 $result =                                   &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,undef,undef,undef,$end,$start,$type,$locktype,$cid);
                                     &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,undef,undef,undef,$end,$start,$type,$locktype,$cid);                          } else {
                             } else {                              my $newscope = $scopestem;
                                 my $newscope = $scopestem;                              $result = &Apache::lonnet::assignrole($udom,$uname,$newscope,$role,$end,$start);
                                 $result = &Apache::lonnet::assignrole($udom,$uname,$newscope,$role,$end,$start);  
                             }  
                         }                          }
                     }                      }
                 } else {                  } else {
Line 3986  sub get_groupslist { Line 3991  sub get_groupslist {
 }  }
   
 sub setsections_javascript {  sub setsections_javascript {
     my ($form,$groupslist) = @_;      my ($formname,$groupslist,$mode) = @_;
     my ($checkincluded,$finish,$roleplace,$setsection_js);      my ($checkincluded,$finish,$rolecode,$setsection_js);
     if ($form eq 'cu') {      if ($mode eq 'upload') {
           $checkincluded = 'formname.name == "'.$formname.'"';
           $finish = "return 'ok';";
           $rolecode = "var role = formname.defaultrole.options[formname.defaultrole.selectedIndex].value;\n";
       } elsif ($formname eq 'cu') {
         $checkincluded = 'formname.elements[i-1].checked == true';          $checkincluded = 'formname.elements[i-1].checked == true';
         $finish = 'formname.submit()';          $finish = 'formname.submit()';
         $roleplace = 3;          $rolecode = "var match = str.split('_');
                   var role = match[3];\n";
       } elsif ($formname eq 'enrollstudent') {
           $checkincluded = 'formname.name == "'.$formname.'"';
           $finish = 'formname.submit()';
           $rolecode = "var match = str.split('_');
                   var role = match[1];\n";
     } else {      } else {
         $checkincluded = 'formname.name == "'.$form.'"';           $checkincluded = 'formname.name == "'.$formname.'"'; 
         $finish = "seccheck = 'ok';";          $finish = "seccheck = 'ok';";
         $roleplace = 1;          $rolecode = "var match = str.split('_');
                   var role = match[1];\n";
         $setsection_js = "var seccheck = 'alert';";           $setsection_js = "var seccheck = 'alert';"; 
     }      }
     my %alerts = &Apache::lonlocal::texthash(      my %alerts = &Apache::lonlocal::texthash(
Line 4020  function setSections(formname) { Line 4036  function setSections(formname) {
         var checkcurr = str.match(re1);          var checkcurr = str.match(re1);
         if (checkcurr != null) {          if (checkcurr != null) {
             if ($checkincluded) {              if ($checkincluded) {
                 var match = str.split('_');                  $rolecode
                 var role = match[$roleplace];  
                 if (role == 'cc') {                  if (role == 'cc') {
                     alert("$alerts{'secd'}\\n$alerts{'accr'}");                      alert("$alerts{'secd'}\\n$alerts{'accr'}");
                 }                  }
Line 4096  sub can_create_user { Line 4111  sub can_create_user {
     my ($dom,$context,$usertype) = @_;      my ($dom,$context,$usertype) = @_;
     my %domconf = &Apache::lonnet::get_dom('configuration',['usercreation'],$dom);      my %domconf = &Apache::lonnet::get_dom('configuration',['usercreation'],$dom);
     my $cancreate = 1;      my $cancreate = 1;
       if (&Apache::lonnet::allowed('mau',$dom)) {
           return $cancreate;
       }
     if (ref($domconf{'usercreation'}) eq 'HASH') {      if (ref($domconf{'usercreation'}) eq 'HASH') {
         if (ref($domconf{'usercreation'}{'cancreate'}) eq 'HASH') {          if (ref($domconf{'usercreation'}{'cancreate'}) eq 'HASH') {
             if ($context eq 'course' || $context eq 'author') {              if ($context eq 'course' || $context eq 'author') {
Line 4250  sub get_permission { Line 4268  sub get_permission {
     } else {      } else {
         my @allroles = &roles_by_context($context);          my @allroles = &roles_by_context($context);
         foreach my $role (@allroles) {          foreach my $role (@allroles) {
             if (&Apache::lonnet::allowed('c'.$role,$env{'request.role.domain'})) {                $permission{'cusr'} = 1;              if (&Apache::lonnet::allowed('c'.$role,$env{'request.role.domain'})) {
                   $permission{'cusr'} = 1;
                 last;                  last;
             }              }
         }          }
Line 4459  sub sectioncheck_alerts { Line 4478  sub sectioncheck_alerts {
     return %alerts;      return %alerts;
 }  }
   
   
 1;  1;
   

Removed from v.1.27  
changed lines
  Added in v.1.28


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