--- loncom/interface/courseprefs.pm 2009/08/19 19:35:00 1.6 +++ loncom/interface/courseprefs.pm 2010/01/03 01:09:41 1.8.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.6 2009/08/19 19:35:00 raeburn Exp $ +# $Id: courseprefs.pm,v 1.8.2.3 2010/01/03 01:09:41 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -268,7 +268,7 @@ sub handler { \@prefs_order,\%prefs,\%values, $cnum,undef,\@allitems); } elsif ($phase eq 'display') { - my $jscript = &get_jscript($cdom,$phase); + my $jscript = &get_jscript($cdom,$phase,$crstype); my @allitems = &get_allitems(%prefs); &Apache::lonconfigsettings::display_settings($r,$cdom,$phase,$context, \@prefs_order,\%prefs,\%values,undef,$jscript,\@allitems); @@ -554,7 +554,6 @@ sub process_changes { if ($newvalues{$ext_entry} ne $values->{$stdrole.'.plaintext'}) { my $dupname = 0; if ($newvalues{$ext_entry} ne '') { - my $dupname = 0; if (grep(/^\Q$newvalues{$ext_entry}\E$/,@replacements)) { $dupname = 1; push(@{$disallowed->{'rolenames'}{'replacements'}},$newvalues{$ext_entry}); @@ -655,7 +654,7 @@ sub process_changes { } foreach my $key (keys(%env)) { if ($key =~ /^form\.\Q$entry\E_($match_username:$match_domain)$/) { - if ($env{'form.'.$key}) { + if ($env{$key}) { my $nothide = $1; if (!grep(/^\Q$nothide\E$/,@new_nothide)) { push(@new_nothide,$nothide); @@ -1074,8 +1073,8 @@ sub get_course { } sub get_jscript { - my ($cdom,$phase) = @_; - my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom); + my ($cdom,$phase,$crstype) = @_; + my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom,$crstype); my ($jscript,$categorize_js); my $stubrowse_js = &Apache::loncommon::studentbrowser_javascript(); my $browse_js = &Apache::loncommon::browser_and_searcher_javascript('parmset'); @@ -1195,14 +1194,14 @@ sub print_courseinfo { if (ref($cathash) eq 'HASH') { $categoriesform = &Apache::loncommon::assign_categories_table($cathash, - $settings->{'categories'})."\n"; + $settings->{'categories'},$crstype)."\n"; } } if (!defined($categoriesform)) { $categoriesform = &mt('No categories defined for this domain'); } - my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom); + my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom,$crstype); my %items = ( 'url' => { @@ -1395,15 +1394,24 @@ sub new_cloners_dom_row { } sub can_modify_catsettings { - my ($dom) = @_; + my ($dom,$crstype) = @_; my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom); my ($can_toggle_cat,$can_categorize); if (ref($domconf{'coursecategories'}) eq 'HASH') { - if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { - $can_toggle_cat = 1; - } - if ($domconf{'coursecategories'}{'categorize'} eq 'crs') { - $can_categorize = 1; + if ($crstype eq 'Community') { + if ($domconf{'coursecategories'}{'togglecatscomm'} eq 'comm') { + $can_toggle_cat = 1; + } + if ($domconf{'coursecategories'}{'categorizecomm'} eq 'comm') { + $can_categorize = 1; + } + } else { + if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { + $can_toggle_cat = 1; + } + if ($domconf{'coursecategories'}{'categorize'} eq 'crs') { + $can_categorize = 1; + } } } return ($can_toggle_cat,$can_categorize); @@ -1419,7 +1427,13 @@ sub assign_course_categories { if (ref($domconf{'coursecategories'}) eq 'HASH') { $cathash = $domconf{'coursecategories'}{'cats'}; if (ref($cathash) eq 'HASH') { - $hascats = 1; + foreach my $cat (keys(%{$cathash})) { + next if ($cat eq 'instcode::0'); + unless ($crstype eq 'Community') { + next if ($cat eq 'communities::0'); + } + $hascats ++; + } } } my $catwin_js; @@ -1462,23 +1476,38 @@ ENDSCRIPT } else { my $onload; } + my ($crscat,$catcrs,$assign); + if ($crstype eq 'Community') { + $crscat = 'Community Categories'; + $catcrs = &mt('Categorize Community'); + $assign = &mt('Assign one or more categories to this community.') + } else { + $crscat = 'Course Categories'; + $catcrs = &mt('Categorize Course'); + $assign = &mt('Assign one or more categories to this course.') + } my $start_page = - &Apache::loncommon::start_page('Course Categories',$catwin_js, + &Apache::loncommon::start_page($crscat,$catwin_js, {'only_body' => 1,}); my $end_page = &Apache::loncommon::end_page(); - my $categoriesform = '
';
if ($num > 1) {
$output .= $lt->{'currone'};
@@ -1681,15 +1710,14 @@ sub user_table {
}
$output .= ' '. ' | '.
- &Apache::loncommon::end_data_table_row();
+ '
'.
$lt->{'add'}.' '. &select_recipient($item,$num,$cdom,$sections). ''. - ' | '.&Apache::loncommon::end_data_table_row().
- &Apache::loncommon::end_data_table();
+ '
'.&mt('Username').' '. + '
|