Diff for /loncom/interface/loncoursequeueadmin.pm between versions 1.5 and 1.8

version 1.5, 2009/08/20 20:43:08 version 1.8, 2009/09/04 23:01:58
Line 220  sub display_queued_requests { Line 220  sub display_queued_requests {
     } else {      } else {
         $formaction = '/adm/createcourse';          $formaction = '/adm/createcourse';
         $namespace = 'courserequestqueue';          $namespace = 'courserequestqueue';
         %requesthash = &Apache::lonnet::dump_dom($namespace,$dom,undef,'_approval');          %requesthash = &Apache::lonnet::dump_dom($namespace,$dom,'_approval');
         $nextelement = '<input type="hidden" name="phase" value="requestchange" />';          $nextelement = '<input type="hidden" name="phase" value="requestchange" />';
     }      }
     my ($output,%queue_by_date,%crstypes);      my ($output,%queue_by_date,%crstypes);
Line 293  sub display_queued_requests { Line 293  sub display_queued_requests {
   
                     } else {                      } else {
                         my ($cnum,$ownername,$ownerdom,$type,$cdesc)=split(/:/,$request,5);                          my ($cnum,$ownername,$ownerdom,$type,$cdesc)=split(/:/,$request,5);
                         $detailslink='<a href="javascript::opencoursereqdisplay('.                          $detailslink='<a href="javascript:opencoursereqdisplay('.
                                       "'$dom".'_'."$cnum'".');">'.$cdesc.'</a>';                                        "'$dom','$cnum'".');">'.$cdesc.'</a>';
                         $crstype = $type;                          $crstype = $type;
                         if (defined($crstypes{$type})) {                          if (defined($crstypes{$type})) {
                             $crstype = $crstypes{$type};                              $crstype = $crstypes{$type};
Line 380  sub update_request_queue { Line 380  sub update_request_queue {
         $domdesc = &Apache::lonnet::domain($cdom);          $domdesc = &Apache::lonnet::domain($cdom);
         $namespace = 'courserequestqueue';          $namespace = 'courserequestqueue';
         $beneficiary = 'courserequestor';          $beneficiary = 'courserequestor';
         %requesthash = &Apache::lonnet::dump_dom($namespace,$cdom,undef,'_approval');          %requesthash = &Apache::lonnet::dump_dom($namespace,$cdom,'_approval');
         my $chome = &Apache::lonnet::domain($cdom,'primary');          my $chome = &Apache::lonnet::domain($cdom,'primary');
         $hostname = &Apache::lonnet::hostname($chome);          $hostname = &Apache::lonnet::hostname($chome);
         $protocol = $Apache::lonnet::protocol{$chome};          $protocol = $Apache::lonnet::protocol{$chome};
Line 879  sub course_creation { Line 879  sub course_creation {
         $owneremail = $emails{$email};          $owneremail = $emails{$email};
         last if ($owneremail ne '');          last if ($owneremail ne '');
     }      }
     my %reqdetails = &build_batchcreatehash($dom,$details,$owneremail,$domdefs);      my %reqdetails = &build_batchcreatehash($dom,$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,\$newusermsg,\$addresult,                    \%reqdetails,$longroles,\$logmsg,\$newusermsg,\$addresult,
                   \$enrollcount,\$output,\$keysmsg,$ownerdom,$ownername,$cnum,$crstype);                    \$enrollcount,\$output,\$keysmsg,$ownerdom,$ownername,$cnum,$crstype);
Line 892  sub course_creation { Line 892  sub course_creation {
 }  }
   
 sub build_batchcreatehash {  sub build_batchcreatehash {
     my ($dom,$details,$owneremail,$domdefs) = @_;      my ($dom,$context,$details,$owneremail,$domdefs) = @_;
     my %batchhash;      my %batchhash;
     my @items = qw{owner domain coursehome clonecrs clonedom datemode dateshift enrollstart enrollend accessstart accessend sections crosslists users};      my @items = qw{owner domain coursehome clonecrs clonedom datemode dateshift enrollstart enrollend accessstart accessend sections crosslists users};
     if ((ref($details) eq 'HASH') && (ref($domdefs) eq 'HASH')) {      if ((ref($details) eq 'HASH') && (ref($domdefs) eq 'HASH')) {
Line 913  sub build_batchcreatehash { Line 913  sub build_batchcreatehash {
         } else {          } else {
             $batchhash{'crstype'} = 'Course';              $batchhash{'crstype'} = 'Course';
         }          }
         $batchhash{'users'}{$details->{$owner}} = {          my ($owner_firstname,$owner_lastname);
                                  firstname => $env{'environment.first'},          if ($context eq 'domain') {
                                  lastname  => $env{'environment.last'},              my %userenv = &Apache::lonnet::userenvironment($details->{'domain'},
                                  emailenc  => $emailenc,                                                             $details->{'owner'},
                                  email     => $owneremail,                                                             'firstname','lastname');
                              };              $owner_firstname = $userenv{'firstname'};
               $owner_lastname = $userenv{'lastname'};
           } else {
               $owner_firstname = $env{'environment.firstname'};
               $owner_lastname = $env{'environment.lastname'};
           }
           if (ref($details->{'personnel'}) eq 'HASH') {
               %{$batchhash{'users'}} = %{$details->{'personnel'}};
               if (ref($batchhash{'users'}) eq 'HASH') {  
                   foreach my $userkey (keys(%{$batchhash{'users'}})) {
                       if (ref($batchhash{'users'}{$userkey}) eq 'HASH') {
                           if (ref($batchhash{'users'}{$userkey}{'roles'}) eq 'ARRAY') {
                               foreach my $role (@{$batchhash{'users'}{$userkey}{'roles'}}) {
                                   my $start = '';
                                   my $end = '';
                                   if ($role eq 'st') {
                                       $start = $details->{'accessstart'};
                                       $end = $details->{'accessend'};
                                   }
                                   $batchhash{'users'}{$userkey}{$role}{'start'} = $start;
                                   $batchhash{'users'}{$userkey}{$role}{'end'} = $end;
                               } 
                           }
                       }
                   }
               }
           }
           $batchhash{'users'}{$owner}{firstname} = $owner_firstname;
           $batchhash{'users'}{$owner}{lastname} = $owner_lastname;
           $batchhash{'users'}{$owner}{emailenc} = $emailenc;
           $batchhash{'users'}{$owner}{owneremail} = $owneremail;
     }      }
     return %batchhash;      return %batchhash;
 }  }

Removed from v.1.5  
changed lines
  Added in v.1.8


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