--- loncom/interface/lonuserutils.pm	2010/01/20 17:41:25	1.97.2.4
+++ loncom/interface/lonuserutils.pm	2009/10/30 03:57:35	1.101
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Utility functions for managing LON-CAPA user accounts
 #
-# $Id: lonuserutils.pm,v 1.97.2.4 2010/01/20 17:41:25 raeburn Exp $
+# $Id: lonuserutils.pm,v 1.101 2009/10/30 03:57:35 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -236,7 +236,6 @@ sub domain_roles_select {
     #
     # Role types
     my @roletypes = ('domain','author','course','community');
-
     my %lt = &role_type_names();
     #
     # build up the menu information to be passed to
@@ -1138,7 +1137,7 @@ sub date_setting_table {
 }
 
 sub make_dates_default {
-    my ($startdate,$enddate,$context,$crstype = @_;
+    my ($startdate,$enddate,$context,$crstype) = @_;
     my $result = '';
     if ($context eq 'course') {
         my ($cnum,$cdom) = &get_course_identity();
@@ -1432,46 +1431,26 @@ sub print_userlist {
                   '<input type="hidden" name="phase" value="" /></form>');
         return;
     }
-    if (!(($context eq 'domain') && 
-        (($env{'form.roletype'} eq 'course') || ($env{'form.roletype'} eq 'community')))) {
+    if (!(($context eq 'domain') && ($env{'form.roletype'} eq 'course'))) {
         $r->print('&nbsp;'.&list_submit_button(&mt('Update Display')).
                   "\n</p>\n");
     }
     my ($indexhash,$keylist) = &make_keylist_array();
-    my (%userlist,%userinfo,$clearcoursepick);
-    if (($context eq 'domain') && 
-        ($env{'form.roletype'} eq 'course') ||
-        ($env{'form.roletype'} eq 'community')) {
-        my ($crstype,$numcodes,$title,$warning);
-        if ($env{'form.roletype'} eq 'course') {
-            $crstype = 'Course';
-            $numcodes = $totcodes;
-            $title = &mt('Select Courses');
-            $warning = &mt('Warning: data retrieval for multiple courses can take considerable time, as this operation is not currently optimized.');
-        } elsif ($env{'form.roletype'} eq 'community') {
-            $crstype = 'Community';
-            $numcodes = 0;
-            $title = &mt('Select Communities');
-            $warning = &mt('Warning: data retrieval for multiple communities can take considerable time, as this operation is not currently optimized.');
-        }
+    my (%userlist,%userinfo);
+    if ($context eq 'domain' && $env{'form.roletype'} eq 'course') {
         my $courseform =
-            &Apache::lonhtmlcommon::course_selection($formname,$numcodes,
-                            $codetitles,$idlist,$idlist_titles,$crstype);
+            &Apache::lonhtmlcommon::course_selection($formname,$totcodes,
+                                         $codetitles,$idlist,$idlist_titles);
         $r->print('<p>'.&Apache::lonhtmlcommon::start_pick_box()."\n".
                   &Apache::lonhtmlcommon::start_pick_box()."\n".
-                  &Apache::lonhtmlcommon::row_title($title,'LC_oddrow_value')."\n".
+                  &Apache::lonhtmlcommon::row_title(&mt('Select Course(s)'),
+                                                    'LC_oddrow_value')."\n".
                   $courseform."\n".
                   &Apache::lonhtmlcommon::row_closure(1).
                   &Apache::lonhtmlcommon::end_pick_box().'</p>'.
-                  '<p><input type="hidden" name="origroletype" value="'.$env{'form.roletype'}.'" />'.
-                  &list_submit_button(&mt('Update Display')).
-                  "\n".'</p><span class="LC_warning">'.$warning.'</span>'."\n");
-        $clearcoursepick = 0;
-        if (($env{'form.origroletype'} ne '') &&
-            ($env{'form.origroletype'} ne $env{'form.roletype'})) {
-            $clearcoursepick = 1;
-        }
-        if (($env{'form.coursepick'}) && (!$clearcoursepick)) {
+                  '<p>'.&list_submit_button(&mt('Update Display')).
+                  "\n".'</p><span class="LC_warning">'.&mt('Warning: data retrieval for multiple courses can take considerable time, as this operation is not currently optimized.').'</span>'."\n");
+        if ($env{'form.coursepick'}) {
             $r->print('<hr />'.&mt('Searching').' ...<br />&nbsp;<br />');
         }
     } else {
@@ -1544,8 +1523,9 @@ sub print_userlist {
                         }
                     }
                 }
-            } elsif ($env{'form.roletype'} eq 'course') {
-                if (($env{'form.coursepick'}) && (!$clearcoursepick)) {
+            } elsif (($env{'form.roletype'} eq 'course') ||
+                     ($env{'form.roletype'} eq 'community')) {
+                if ($env{'form.coursepick'}) {
                     my %courses = &process_coursepick();
                     my %allusers;
                     my $hidepriv = 1;
@@ -2265,7 +2245,7 @@ END
     if ($env{'form.showrole'} eq 'cr') {
         $rolefilter = &mt('custom');  
     } elsif ($env{'form.showrole'} ne 'Any') {
-        $rolefilter = &Apache::lonnet::plaintext($env{'form.showrole'});
+        $rolefilter = &Apache::lonnet::plaintext($env{'form.showrole'},$crstype);
     }
     my $results_description;
     if ($mode ne 'autoenroll') {
@@ -2288,7 +2268,7 @@ END
 END
             if ($actionselect) {
                 $output .= <<"END";
-<div class="LC_left_float"><fieldset><legend><b>$lt{'ac'}</b></legend>
+<div class="LC_left_float"><fieldset><legend>$lt{'ac'}</legend>
 $actionselect
 <br/><br /><input type="button" value="$lt{'ca'}" onclick="javascript:checkAll(document.$formname.actionlist)" /> &nbsp;
 <input type="button" value="$lt{'ua'}" onclick="javascript:uncheckAll(document.$formname.actionlist)" /><br /><input type="button" value="$lt{'pr'}" onclick="javascript:verify_action('actionlist')" /></fieldset></div>
@@ -2333,7 +2313,7 @@ END
                     }
                 }
             }
-            $output .= '<div class="LC_left_float"><fieldset><legend><b>'.$lt{'link'}.'</b></legend>'.
+            $output .= '<div class="LC_left_float"><fieldset><legend>'.$lt{'link'}.'</legend>'.
                        '<table><tr>';
             my @linkdests = ('aboutme');
             if ($permission->{'cusr'}) {
@@ -2344,6 +2324,7 @@ END
                                          $env{'request.course.sec'})) {
                 push(@linkdests,'track');
             }
+
             $output .= '<td>';
             my $usernamelink = $env{'form.usernamelink'};
             if ($usernamelink eq '') {
@@ -2911,7 +2892,6 @@ sub role_type_names {
                          'author' => 'Co-Author Roles',
                          'course' => 'Course Roles',
                          'community' => 'Community Roles',
-
              );
     return %lt;
 }
@@ -3154,6 +3134,7 @@ ENDJS
                 $date_items;
     if ($context eq 'course' && $env{'form.bulkaction'} eq 'chgsec') {
         my ($cnum,$cdom) = &get_course_identity();
+        my $crstype = &Apache::loncommon::course_type();
         my $info;
         if ($env{'form.showrole'} eq 'st') {
             $output .= '<p>'.$lt{'fors'}.'</p>'; 
@@ -3579,7 +3560,6 @@ sub print_first_users_upload_form {
     $str .= '<input type="hidden" name="action" value="upload" />';
     $str .= '<input type="hidden" name="state"  value="got_file" />';
 
-
     $str .= '<h2>'.&mt('Upload a file containing information about users').'</h2>'."\n";
 
     # Excel and CSV Help
@@ -3673,7 +3653,7 @@ sub upfile_drop_add {
     }
     my ($startdate,$enddate) = &get_dates_from_form();
     if ($env{'form.makedatesdefault'}) {
-        $r->print(&make_dates_default($startdate,$enddate,$context,$crstype);
+        $r->print(&make_dates_default($startdate,$enddate,$context,$crstype));
     }
     # Determine domain and desired host (home server)
     my $defdom=$env{'request.role.domain'};
@@ -3732,7 +3712,7 @@ sub upfile_drop_add {
         } elsif ($setting eq 'course') {
             $defaultrole = $env{'form.courserole'};
             $defaultsec = $env{'form.sections'};
-        }
+        }  
     } elsif ($context eq 'author') {
         $defaultrole = $env{'form.defaultrole'};
     } elsif ($context eq 'course') {