Diff for /loncom/interface/loncoursequeueadmin.pm between versions 1.52.2.2.2.3 and 1.52.2.3.2.4

version 1.52.2.2.2.3, 2020/08/22 02:05:53 version 1.52.2.3.2.4, 2021/06/20 18:37:35
Line 105  sub send_selfserve_notification { Line 105  sub send_selfserve_notification {
         $rawsubj = 'Self-enrollment requests processed';          $rawsubj = 'Self-enrollment requests processed';
         push(@rawmsg,{          push(@rawmsg,{
                       mt => 'Enrollment requests in the following course: [_1] have been processed.',                        mt => 'Enrollment requests in the following course: [_1] have been processed.',
                       args => ["\n$contextdesc"],                        args => ["\n$contextdesc\n"],
                      });                       });
     } elsif ($context eq 'domainmanagers') {      } elsif ($context eq 'domainmanagers') {
         $rawsubj = 'Course/Community requests reviewed';          $rawsubj = 'Course/Community requests reviewed';
         push(@rawmsg,{          push(@rawmsg,{
                       mt  => 'Course/Community creation requests in the following domain: "[_1]" have been reviewed.',                        mt  => 'Course/Community creation requests in the following domain: [_1] have been reviewed.',
                       args => ["\n$contextdesc"],                        args => ["\n$contextdesc\n"],
                      });                       });
         if (ref($textstr) eq 'ARRAY') {          if (ref($textstr) eq 'ARRAY') {
             push(@rawmsg,@{$textstr});              push(@rawmsg,@{$textstr});
Line 119  sub send_selfserve_notification { Line 119  sub send_selfserve_notification {
     } elsif ($context eq 'authormanagers') {      } elsif ($context eq 'authormanagers') {
         $rawsubj = 'Authoring Space requests reviewed';          $rawsubj = 'Authoring Space requests reviewed';
         push(@rawmsg,{          push(@rawmsg,{
                       mt  => 'Authoring requests in the following domain: "[_1]" have been reviewed.',                        mt  => 'Authoring requests in the following domain: [_1] have been reviewed.',
                       args => ["\n$contextdesc"],                        args => ["\n$contextdesc\n"],
                      });                       });
         if (ref($textstr) eq 'ARRAY') {          if (ref($textstr) eq 'ARRAY') {
             push(@rawmsg,@{$textstr});              push(@rawmsg,@{$textstr});
Line 128  sub send_selfserve_notification { Line 128  sub send_selfserve_notification {
     } elsif ($context eq 'usernamemanagers') {      } elsif ($context eq 'usernamemanagers') {
         $rawsubj = 'LON-CAPA account requests reviewed';          $rawsubj = 'LON-CAPA account requests reviewed';
         push(@rawmsg,{          push(@rawmsg,{
                       mt  => 'Account requests in the following domain: "[_1]" have been reviewed.',                        mt  => 'Account requests in the following domain: [_1] have been reviewed.',
                       args => ["\n$contextdesc"],                        args => ["\n$contextdesc\n"],
                      });                       });
         if (ref($textstr) eq 'ARRAY') {          if (ref($textstr) eq 'ARRAY') {
             push(@rawmsg,@{$textstr});              push(@rawmsg,@{$textstr});
Line 879  sub update_request_queue { Line 879  sub update_request_queue {
             my $dbname = 'nohist_requestedusernames';              my $dbname = 'nohist_requestedusernames';
             my $domconfiguser = &Apache::lonnet::get_domainconfiguser($cdom);              my $domconfiguser = &Apache::lonnet::get_domainconfiguser($cdom);
             my %curr = &Apache::lonnet::get($dbname,[$uname],$cdom,$domconfiguser);              my %curr = &Apache::lonnet::get($dbname,[$uname],$cdom,$domconfiguser);
               
             if (ref($curr{$uname}) eq 'HASH') {              if (ref($curr{$uname}) eq 'HASH') {
                 my ($username,$logtoken,$serverid,$encpass,$courseid,$id,$firstname,                  my ($logtoken,$serverid,$encpass,$courseid,$id,$firstname,
                     $middlename,$lastname,$generation,$inststatus);                      $middlename,$lastname,$generation,$inststatus,$email);
                 $curr{$uname}{'timestamp'} = $now;                  $curr{$uname}{'timestamp'} = $now;
                 $curr{$uname}{'adjudicator'} = $env{'user.name'}.':'.$env{'user.domain'};                  $curr{$uname}{'adjudicator'} = $env{'user.name'}.':'.$env{'user.domain'};
                 $courseid   = $curr{$uname}{'courseid'};                  $courseid   = $curr{$uname}{'courseid'};
Line 893  sub update_request_queue { Line 893  sub update_request_queue {
                 $generation = $curr{$uname}{'generation'};                  $generation = $curr{$uname}{'generation'};
                 $inststatus = $curr{$uname}{'inststatus'};                  $inststatus = $curr{$uname}{'inststatus'};
   
                 my ($key,$caller)=split(/&/,$curr{$uname}{'tmpinfo'});                  if ($curr{$uname}{'email'} ne '') {
                 if ($caller eq 'createaccount') {                      $email = $curr{$uname}{'email'};
                     my $upass = &Apache::loncommon::des_decrypt($key,$curr{$uname}{'upass'});                  } elsif ($uname =~ /^[^\@]+\@[^\@]+$/) {
                       $email = $uname;
                   }
   
                   my $upass;
                   if ($curr{$uname}{'tmpinfo'}) {
                       my ($key,$caller)=split(/&/,$curr{$uname}{'tmpinfo'});
                       if ($caller eq 'createaccount') {
                           if ($curr{$uname}{'upass'} eq '') {
                               $upass = $curr{$uname}{'upass'};
                           } else {
                               $upass = &Apache::loncommon::des_decrypt($key,$curr{$uname}{'upass'});
                           }
                       } else {
                           push(@processing_errors,$uname);
                       }
                   } else {
                       $upass = $curr{$uname}{'upass'};
                   }
                   if ($upass eq '') {
                       push(@processing_errors,$uname);
                   } else {
                     undef($curr{$uname}{'upass'});                      undef($curr{$uname}{'upass'});
                     my $result =                      my $result =
                         &Apache::lonnet::modifyuser($cdom,$uname,$id,'internal',$upass,                          &Apache::lonnet::modifyuser($cdom,$uname,$id,'internal',$upass,
                                                     $firstname,$middlename,$lastname,                                                      $firstname,$middlename,$lastname,
                                                     $generation,undef,undef,$uname);                                                      $generation,undef,undef,$email);
                     if ($result eq 'ok') {                      if ($result eq 'ok') {
                         $curr{$uname}{'status'} = 'created';                          $curr{$uname}{'status'} = 'created';
                         push(@completed,$uname);                           push(@completed,$uname); 
Line 921  sub update_request_queue { Line 942  sub update_request_queue {
                     } else {                      } else {
                         push(@processing_errors,$uname);                          push(@processing_errors,$uname);
                     }                      }
                 } else {  
                     push(@processing_errors,$uname);  
                 }                  }
             } else {              } else {
                 push(@invalidusers,$uname);                  push(@invalidusers,$uname);
Line 1627  sub course_creation { Line 1646  sub course_creation {
         $owneremail = $emails{$email};          $owneremail = $emails{$email};
         last if ($owneremail ne '');          last if ($owneremail ne '');
     }      }
     my %reqdetails = &build_batchcreatehash($dom,$context,$details,$owneremail,$domdefs);      my %reqdetails = &build_batchcreatehash($dom,$cnum,$context,$details,$owneremail,$domdefs);
     my $cid = &LONCAPA::batchcreatecourse::build_course($dom,$cnum,'requestcourses',      my $cid = &LONCAPA::batchcreatecourse::build_course($dom,$cnum,'requestcourses',
                   \%reqdetails,$longroles,$logmsg,$clonemsg,$newusermsg,$addresult,                    \%reqdetails,$longroles,$logmsg,$clonemsg,$newusermsg,$addresult,
                   $enrollcount,$output,$keysmsg,$ownerdom,$ownername,$cnum,$crstype,                    $enrollcount,$output,$keysmsg,$ownerdom,$ownername,$cnum,$crstype,
Line 1649  sub course_creation { Line 1668  sub course_creation {
 }  }
   
 sub build_batchcreatehash {  sub build_batchcreatehash {
     my ($dom,$context,$details,$owneremail,$domdefs) = @_;      my ($dom,$cnum,$context,$details,$owneremail,$domdefs) = @_;
     my %batchhash;      my %batchhash;
     my @items = qw{owner domain coursehome clonecrs clonedom datemode dateshift tinyurls enrollstart enrollend accessstart accessend sections users uniquecode};      my @items = qw{owner domain coursehome clonecrs clonedom datemode dateshift tinyurls enrollstart enrollend accessstart accessend sections users uniquecode};
     if ((ref($details) eq 'HASH') && (ref($domdefs) eq 'HASH')) {      if ((ref($details) eq 'HASH') && (ref($domdefs) eq 'HASH')) {
Line 1661  sub build_batchcreatehash { Line 1680  sub build_batchcreatehash {
         if (ref($details->{'crosslists'}) eq 'HASH') {          if (ref($details->{'crosslists'}) eq 'HASH') {
             foreach my $key (keys(%{$details->{'crosslists'}})) {              foreach my $key (keys(%{$details->{'crosslists'}})) {
                 if (ref($details->{'crosslists'}->{$key}) eq 'HASH') {                  if (ref($details->{'crosslists'}->{$key}) eq 'HASH') {
                     $batchhash{'crosslists'}{$key}{'inst'} = $details->{crosslists}->{$key}->{instcode}.$details->{crosslists}->{$key}->{instsec};                      my $instsec = $details->{crosslists}->{$key}->{instsec};
                       $batchhash{'crosslists'}{$key}{'inst'} = $details->{crosslists}->{$key}->{instcode};
                       my $crskey = $cnum.':'.$batchhash{'crosslists'}{$key}{'inst'};
                       my %formatted = &Apache::lonnet::auto_instsec_reformat($dom,'clutter',
                                                                              {$crskey => [$instsec]});
                       if (ref($formatted{$crskey}) eq 'ARRAY') {
                           $batchhash{'crosslists'}{$key}{'inst'} .= $formatted{$crskey}->[0];
                       }
                     $batchhash{'crosslists'}{$key}{'loncapa'} = $details->{crosslists}->{$key}->{loncapa};                      $batchhash{'crosslists'}{$key}{'loncapa'} = $details->{crosslists}->{$key}->{loncapa};
                 }                  }
             }              }
Line 2093  sub process_official_reqs { Line 2119  sub process_official_reqs {
                     my ($result,$postprocess) =                       my ($result,$postprocess) = 
                         &course_creation($dom,$cnum,'domain',$history{'details'},\$logmsg,$clonemsg,\$newusermsg,                          &course_creation($dom,$cnum,'domain',$history{'details'},\$logmsg,$clonemsg,\$newusermsg,
                                          \$addresult,\$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles,                                           \$addresult,\$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles,
                                          \$code,\%customitems,$context,$user_lh);                                           \$code,\%customitems,$context,$user_lh);    
                     if ($result eq 'created') {                      if ($result eq 'created') {
                         $disposition = 'created';                          $disposition = 'created';
                         $reqstatus = 'created';                          $reqstatus = 'created';

Removed from v.1.52.2.2.2.3  
changed lines
  Added in v.1.52.2.3.2.4


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