version 1.91, 2009/12/02 18:33:27
|
version 1.92, 2010/02/21 15:09:36
|
Line 79 sub handler {
|
Line 79 sub handler {
|
$typeelement = '<input type="hidden" name="typeelement" value="'.$env{'form.typeelement'}.'" />'; |
$typeelement = '<input type="hidden" name="typeelement" value="'.$env{'form.typeelement'}.'" />'; |
} |
} |
|
|
# if called when a DC is creating a course |
# if called when a DC is creating a course for another user. |
if ($env{'form.form'} eq 'ccrs') { |
if ($env{'form.form'} eq 'ccrs') { |
($cloneruname,$clonerudom) = ($env{'form.cloner'} =~ /^($match_username):($match_domain)$/); |
($cloneruname,$clonerudom) = ($env{'form.cloner'} =~ /^($match_username):($match_domain)$/); |
} |
} |
Line 309 sub display_matched_courses {
|
Line 309 sub display_matched_courses {
|
my $ccrolechk = ' checked="checked" '; |
my $ccrolechk = ' checked="checked" '; |
my $menuchk = ' '; |
my $menuchk = ' '; |
if ($env{'form.prevphase'} ne '') { |
if ($env{'form.prevphase'} ne '') { |
$ccrolechk = ' '; |
$ccrolechk = ' '; |
$menuchk = ' checked="checked" '; |
$menuchk = ' checked="checked" '; |
} |
} |
$r->print( |
$r->print( |
'<fieldset>' |
'<fieldset>' |
Line 380 sub display_matched_courses {
|
Line 380 sub display_matched_courses {
|
} |
} |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
} |
} |
|
my %cc_cloneable; |
|
if (($env{'form.form'} eq 'ccrs') || ($env{'form.form'} eq 'requestcrs')) { |
|
my ($coord_cloneable,$warning) = |
|
&get_coordinator_cloneable($cloneruname,$clonerudom,$type); |
|
if ($coord_cloneable) { |
|
map {$cc_cloneable{$_} = 1;} split('&',$coord_cloneable); |
|
} |
|
} |
foreach my $description (sort { lc($a) cmp lc($b) } (keys(%by_descrip))) { |
foreach my $description (sort { lc($a) cmp lc($b) } (keys(%by_descrip))) { |
foreach my $course (@{$by_descrip{$description}}) { |
foreach my $course (@{$by_descrip{$description}}) { |
$r->print(&Apache::loncommon::start_data_table_row()); |
$r->print(&Apache::loncommon::start_data_table_row()); |
Line 392 sub display_matched_courses {
|
Line 400 sub display_matched_courses {
|
$instcode = $courses{$course}{'inst_code'}; |
$instcode = $courses{$course}{'inst_code'}; |
$ttype = $courses{$course}{'type'}; |
$ttype = $courses{$course}{'type'}; |
if (($env{'form.form'} eq 'ccrs') || ($env{'form.form'} eq 'requestcrs')) { |
if (($env{'form.form'} eq 'ccrs') || ($env{'form.form'} eq 'requestcrs')) { |
my $cloners = $courses{$course}{'cloners'}; |
if ($cc_cloneable{$courses{$course}{'cnum'}.':'.$courses{$course}{'domain'}}) { |
if ($cloners ne '') { |
$canclone = 1; |
my @cloneable = split(',',$cloners); |
} |
if (grep(/^\*$/,@cloneable)) { |
unless ($canclone) { |
$canclone = 1; |
my $cloners = $courses{$course}{'cloners'}; |
} |
if ($cloners ne '') { |
if (grep(/^\*:\Q$env{'form.clonerudom'}\E$/,@cloneable)) { |
my @cloneable = split(',',$cloners); |
$canclone = 1; |
if (grep(/^\*$/,@cloneable)) { |
} |
$canclone = 1; |
if (grep(/^\Q$cloneruname\E:\Q$clonerudom\E$/,@cloneable)) { |
} |
$canclone = 1; |
if (grep(/^\*:\Q$env{'form.clonerudom'}\E$/,@cloneable)) { |
|
$canclone = 1; |
|
} |
|
if (grep(/^\Q$cloneruname\E:\Q$clonerudom\E$/,@cloneable)) { |
|
$canclone = 1; |
|
} |
} |
} |
} |
} |
} |
} |
Line 762 $typeelement
|
Line 775 $typeelement
|
.&Apache::lonhtmlcommon::row_closure(1); |
.&Apache::lonhtmlcommon::row_closure(1); |
} |
} |
$output .= &Apache::lonhtmlcommon::end_pick_box().'<p>'; |
$output .= &Apache::lonhtmlcommon::end_pick_box().'<p>'; |
my $warning; |
my ($coord_cloneable,$warning); |
if (($env{'form.form'} eq 'ccrs') || ($env{'form.form'} eq 'requestcrs')) { |
if (($env{'form.form'} eq 'ccrs') || ($env{'form.form'} eq 'requestcrs')) { |
my $cloneruhome=&Apache::lonnet::homeserver($cloneruname,$clonerudom); |
($coord_cloneable,$warning) = |
my $cc_clone; |
&get_coordinator_cloneable($cloneruname,$clonerudom,$type); |
if ($cloneruhome eq 'no_host') { |
if ($env{'form.form'} eq 'ccrs') { |
$warning = '<div class="LC_error">'.&mt('Intended course owner does not exist'). |
$output .= '<input type="hidden" name="cloner" value="'.$env{'form.cloner'}.'" />'."\n"; |
'</div>'; |
|
} else { |
|
my $ccrole; |
|
if ($type eq 'Community') { |
|
$ccrole = 'co'; |
|
} elsif ($type eq 'Course') { |
|
$ccrole = 'cc'; |
|
} |
|
if ($env{'form.form'} eq 'ccrs') { |
|
$output .= '<input type="hidden" name="cloner" value="'.$env{'form.cloner'}.'" />'."\n"; |
|
} |
|
my %ccroles = &Apache::lonnet::get_my_roles($cloneruname,$clonerudom, |
|
'userroles',['active'], [$ccrole]); |
|
foreach my $key (sort(keys(%ccroles))) { |
|
my ($cnum,$cdom,$role) = split(':',$key); |
|
$cc_clone .= $cdom.':'.$cnum.'&'; |
|
} |
|
$cc_clone =~ s/\&$//; |
|
} |
} |
if ($cc_clone ne '') { |
if ($coord_cloneable) { |
$output .= '<input type="hidden" name="cc_clone" value="'.$cc_clone.'" />'; |
$output .= '<input type="hidden" name="cc_clone" value="'.$coord_cloneable.'" />'; |
} |
} |
} |
} |
$output .= '<input type="hidden" name="updater" value="">'."\n". |
$output .= '<input type="hidden" name="updater" value="">'."\n". |
Line 797 $typeelement
|
Line 792 $typeelement
|
return $jscript.$warning.$output; |
return $jscript.$warning.$output; |
} |
} |
|
|
|
sub get_coordinator_cloneable { |
|
my ($cloneruname,$clonerudom,$type) = @_; |
|
if (&Apache::lonnet::homeserver($cloneruname,$clonerudom) eq 'no_host') { |
|
my $warning = '<div class="LC_error">'.&mt('Intended course owner does not exist'). |
|
'</div>'; |
|
return ('',$warning); |
|
} else { |
|
my ($cc_clone,$ccrole); |
|
if ($type eq 'Community') { |
|
$ccrole = 'co'; |
|
} elsif ($type eq 'Course') { |
|
$ccrole = 'cc'; |
|
} |
|
my %ccroles = &Apache::lonnet::get_my_roles($cloneruname,$clonerudom, |
|
'userroles',['active'], [$ccrole]); |
|
foreach my $key (sort(keys(%ccroles))) { |
|
my ($cnum,$cdom,$role) = split(':',$key); |
|
$cc_clone .= $cdom.':'.$cnum.'&'; |
|
} |
|
$cc_clone =~ s/\&$//; |
|
return ($cc_clone); |
|
} |
|
} |
|
|
sub instcode_selectors { |
sub instcode_selectors { |
my ($codedom,$formname,$officialjs) = @_; |
my ($codedom,$formname,$officialjs) = @_; |
my ($output,@codetitles,%cat_titles,%cat_order,%cat_items); |
my ($output,@codetitles,%cat_titles,%cat_order,%cat_items); |