version 1.50, 2010/03/08 22:31:27
|
version 1.51, 2010/03/15 19:10:59
|
Line 877 sub update_coowners {
|
Line 877 sub update_coowners {
|
} |
} |
if ($settings->{'internal.courseowner'} ne $newattr->{'courseowner'}) { |
if ($settings->{'internal.courseowner'} ne $newattr->{'courseowner'}) { |
my $oldowner_to_coowner; |
my $oldowner_to_coowner; |
|
my @types = ('co-owners'); |
if (($newattr->{'coursecode'}) && ($autocoowners)) { |
if (($newattr->{'coursecode'}) && ($autocoowners)) { |
my $oldowner = $settings->{'internal.courseowner'}; |
my $oldowner = $settings->{'internal.courseowner'}; |
if ($cchash{$oldowner.':cc'}) { |
if ($cchash{$oldowner.':cc'}) { |
if ($settings->{'internal.co-owner'}) { |
my ($result,$desc) = &Apache::lonnet::auto_validate_instcode($cnum,$cdom,$newattr->{'coursecode'},$oldowner); |
my @current = split(',',$settings->{'internal.co-owners'}); |
if ($result eq 'valid') { |
unless (grep(/^\Q$oldowner\E$/,@current)) { |
if ($settings->{'internal.co-owner'}) { |
|
my @current = split(',',$settings->{'internal.co-owners'}); |
|
unless (grep(/^\Q$oldowner\E$/,@current)) { |
|
$oldowner_to_coowner = 1; |
|
} |
|
} else { |
$oldowner_to_coowner = 1; |
$oldowner_to_coowner = 1; |
} |
} |
} else { |
|
$oldowner_to_coowner = 1; |
|
} |
} |
} |
} |
|
} else { |
|
push(@types,'pendingco-owners'); |
} |
} |
foreach my $type ('co-owners','pendingco-owners') { |
foreach my $type (@types) { |
if ($settings->{'internal.'.$type}) { |
if ($settings->{'internal.'.$type}) { |
my @current = split(',',$settings->{'internal.'.$type}); |
my @current = split(',',$settings->{'internal.'.$type}); |
my $newowner = $newattr->{'courseowner'}; |
my $newowner = $newattr->{'courseowner'}; |
Line 960 sub update_coowners {
|
Line 966 sub update_coowners {
|
my @currcoown = split(',',$settings->{'internal.coowners'}); |
my @currcoown = split(',',$settings->{'internal.coowners'}); |
my ($updatecoowners,$delcoowners); |
my ($updatecoowners,$delcoowners); |
foreach my $person (@currcoown) { |
foreach my $person (@currcoown) { |
my ($result,$desc) = &Apache::lonnet::valid_instcode(); |
my ($result,$desc) = &Apache::lonnet::auto_validate_instcode($cnum,$cdom,$newattr->{'coursecode'},$person); |
if ($result eq 'valid') { |
if ($result eq 'valid') { |
push(@newcoowners,$person); |
push(@newcoowners,$person); |
} |
} |
} |
} |
foreach my $item (sort(keys(%cchash))) { |
foreach my $item (sort(keys(%cchash))) { |
my ($uname,$udom,$urole) = split(':',$item); |
my ($uname,$udom,$urole) = split(':',$item); |
|
next if ($uname.':'.$udom eq $newattr->{'courseowner'}); |
unless (grep(/^\Q$uname\E:\Q$udom\E$/,@newcoowners)) { |
unless (grep(/^\Q$uname\E:\Q$udom\E$/,@newcoowners)) { |
push(@newcoowners,$uname.':'.$udom); |
my ($result,$desc) = &Apache::lonnet::auto_validate_instcode($cnum,$cdom,$newattr->{'coursecode'},$uname.':'.$udom); |
|
if ($result eq 'valid') { |
|
push(@newcoowners,$uname.':'.$udom); |
|
} |
} |
} |
} |
} |
if (@newcoowners) { |
if (@newcoowners) { |