Diff for /loncom/interface/loncommon.pm between versions 1.1075.2.95 and 1.1075.2.96

version 1.1075.2.95, 2015/05/22 17:33:11 version 1.1075.2.96, 2015/07/14 03:03:51
Line 14129  sub check_clone { Line 14129  sub check_clone {
                     $can_clone = 1;                      $can_clone = 1;
                 } elsif (grep(/^\*\:\Q$args->{'ccdomain'}\E$/,@cloners)) {                  } elsif (grep(/^\*\:\Q$args->{'ccdomain'}\E$/,@cloners)) {
                     $can_clone = 1;                      $can_clone = 1;
                   } elsif (grep(/^\Q$args->{'ccuname'}\E:\Q$args->{'ccdomain'}\E$/,@cloners)) {
                       $can_clone = 1;
                 }                  }
                 unless ($can_clone) {                  unless ($can_clone) {
                     if (($clonehash{'internal.coursecode'}) && ($args->{'crscode'}) && ($args->{'clonedomain'} eq  $args->{'course_domain'})) {                      if (($clonehash{'internal.coursecode'}) && ($args->{'crscode'}) &&
                           ($args->{'clonedomain'} eq  $args->{'course_domain'})) {
                         my (%gotdomdefaults,%gotcodedefaults);                          my (%gotdomdefaults,%gotcodedefaults);
                         foreach my $cloner (@cloners) {                          foreach my $cloner (@cloners) {
                             if (($cloner ne '*') && ($cloner !~ /^\*\:$match_domain$/) &&                              if (($cloner ne '*') && ($cloner !~ /^\*\:$match_domain$/) &&
Line 14162  sub check_clone { Line 14165  sub check_clone {
                             }                              }
                         }                          }
                     }                      }
                     unless ($can_clone) {                  }
                         my $ccrole = 'cc';              }
                         if ($args->{'crstype'} eq 'Community') {              unless ($can_clone) {
                             $ccrole = 'co';                  my $ccrole = 'cc';
                         }                  if ($args->{'crstype'} eq 'Community') {
                         my %roleshash =                      $ccrole = 'co';
                             &Apache::lonnet::get_my_roles($args->{'ccuname'},                  }
                                                           $args->{'ccdomain'},                  my %roleshash =
                                                           'userroles',['active'],[$ccrole],                      &Apache::lonnet::get_my_roles($args->{'ccuname'},
                                                           [$args->{'clonedomain'}]);                                                    $args->{'ccdomain'},
                         if (($roleshash{$args->{'clonecourse'}.':'.$args->{'clonedomain'}.':'.$ccrole}) ||                                                    'userroles',['active'],[$ccrole],
                             (grep(/^\Q$args->{'ccuname'}\E:\Q$args->{'ccdomain'}\E$/,@cloners))) {                                                    [$args->{'clonedomain'}]);
                             $can_clone = 1;                  if ($roleshash{$args->{'clonecourse'}.':'.$args->{'clonedomain'}.':'.$ccrole}) {
                         } elsif (&Apache::lonnet::is_course_owner($args->{'clonedomain'},$args->{'clonecourse'},                      $can_clone = 1;
                                                                   $args->{'ccuname'},$args->{'ccdomain'})) {                  } elsif (&Apache::lonnet::is_course_owner($args->{'clonedomain'},$args->{'clonecourse'},
                             $can_clone = 1;                                                            $args->{'ccuname'},$args->{'ccdomain'})) {
                         }                      $can_clone = 1;
                     }  
                 }                  }
             }              }
             unless ($can_clone) {              unless ($can_clone) {

Removed from v.1.1075.2.95  
changed lines
  Added in v.1.1075.2.96


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