--- loncom/interface/lonuserutils.pm 2010/01/20 18:22:35 1.97.2.5 +++ loncom/interface/lonuserutils.pm 2009/09/12 17:06:16 1.100 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utility functions for managing LON-CAPA user accounts # -# $Id: lonuserutils.pm,v 1.97.2.5 2010/01/20 18:22:35 raeburn Exp $ +# $Id: lonuserutils.pm,v 1.100 2009/09/12 17:06:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -235,7 +235,7 @@ sub domain_roles_select { # domain context # # Role types - my @roletypes = ('domain','author','course','community'); + my @roletypes = ('domain','author','course'); my %lt = &role_type_names(); # # build up the menu information to be passed to @@ -247,10 +247,6 @@ sub domain_roles_select { foreach my $roletype (@roletypes) { # set up the text for this domain $select_menus{$roletype}->{'text'}= $lt{$roletype}; - my $crstype; - if ($roletype eq 'community') { - $crstype = 'Community'; - } # we want a choice of 'default' as the default in the second menu if ($env{'form.roletype'} ne '') { $select_menus{$roletype}->{'default'} = $env{'form.showrole'}; @@ -265,7 +261,7 @@ sub domain_roles_select { @roles = &construction_space_roles(); } else { my $custom = 1; - @roles = &course_roles('domain',undef,$custom,$roletype); + @roles = &course_roles('domain',undef,$custom); } my $order = ['Any',@roles]; $select_menus{$roletype}->{'order'} = $order; @@ -275,15 +271,14 @@ sub domain_roles_select { &mt('Custom role'); } else { $select_menus{$roletype}->{'select2'}->{$role} = - &Apache::lonnet::plaintext($role,$crstype); + &Apache::lonnet::plaintext($role); } } $select_menus{$roletype}->{'select2'}->{'Any'} = &mt('Any'); } my $result = &Apache::loncommon::linked_select_forms ('studentform',(' 'x3).&mt('Role: '),$env{'form.roletype'}, - 'roletype','showrole',\%select_menus, - ['domain','author','course','community']); + 'roletype','showrole',\%select_menus,['domain','author','course']); return $result; } @@ -748,7 +743,7 @@ ENDPICK ############################################################### ############################################################### sub print_upload_manager_footer { - my ($r,$i,$keyfields,$defdom,$today,$halfyear,$context,$permission,$crstype) = @_; + my ($r,$i,$keyfields,$defdom,$today,$halfyear,$context,$permission) = @_; my $form = 'document.studentform'; my $formname = 'studentform'; my ($krbdef,$krbdefdom) = @@ -766,7 +761,7 @@ sub print_upload_manager_footer { my $intform = &Apache::loncommon::authform_internal(%param); my $locform = &Apache::loncommon::authform_local(%param); my $date_table = &date_setting_table(undef,undef,$context,undef, - $formname,$permission,$crstype); + $formname,$permission); my $Str = "\n".'<div class="LC_left_float">'; $Str .= &hidden_input('nfields',$i); @@ -865,26 +860,15 @@ sub print_upload_manager_footer { my ($cnum,$cdom) = &get_course_identity(); my $rowtitle = &mt('section'); my $secbox = §ion_picker($cdom,$cnum,'Any',$rowtitle, - $permission,$context,'upload',$crstype); + $permission,$context,'upload'); $Str .= $secbox .&Apache::lonhtmlcommon::row_closure(); - my %lt; - if ($crstype eq 'Community') { - %lt = &Apache::lonlocal::texthash ( - disp => 'Display members with current/future access who are not in the uploaded file', - stus => 'Members selected from this list can be dropped.' - ); - } else { - %lt = &Apache::lonlocal::texthash ( - disp => 'Display students with current/future access who are not in the uploaded file', - stus => 'Students selected from this list can be dropped.' - ); - } + $Str .= &Apache::lonhtmlcommon::row_title(&mt('Full Update')) - .'<label><input type="checkbox" name="fullup" value="yes" />' - .' '.$lt{'disp'} + .'<label><input type="checkbox" name="fullup" value="yes" />'. + ' '.&mt('Display students with current/future access who are not in the uploaded file.') .'</label><br />' - .$lt{'stus'} + .&mt('Students selected from this list can be dropped.') .&Apache::lonhtmlcommon::row_closure(); } if ($context eq 'course' || $context eq 'domain') { @@ -932,7 +916,7 @@ sub forceid_change { ############################################################### ############################################################### sub print_upload_manager_form { - my ($r,$context,$permission,$crstype) = @_; + my ($r,$context,$permission) = @_; my $firstLine; my $datatoken; if (!$env{'form.datatoken'}) { @@ -1015,7 +999,7 @@ sub print_upload_manager_form { } $r->print('</div>'); &print_upload_manager_footer($r,$i,$keyfields,$defdom,$today,$halfyear, - $context,$permission,$crstype); + $context,$permission); } sub setup_date_selectors { @@ -1089,7 +1073,7 @@ sub get_dates_from_form { } sub date_setting_table { - my ($starttime,$endtime,$mode,$bulkaction,$formname,$permission,$crstype) = @_; + my ($starttime,$endtime,$mode,$bulkaction,$formname,$permission) = @_; my $nolink; if ($bulkaction) { $nolink = 1; @@ -1106,13 +1090,9 @@ sub date_setting_table { ($env{'form.action'} eq 'upload')) { if ($env{'request.course.sec'} eq '') { $dateDefault = '<span class="LC_nobreak">'. - '<label><input type="checkbox" name="makedatesdefault" value="1" /> '; - if ($crstype eq 'Community') { - $dateDefault .= &mt("make these dates the default access dates for future community enrollment"); - } else { - $dateDefault .= &mt("make these dates the default access dates for future course enrollment"); - } - $dateDefault .= '</label></span>'; + '<label><input type="checkbox" name="makedatesdefault" value="1" /> '. + &mt('make these dates the default access dates for future student enrollment'). + '</label></span>'; } } } @@ -1141,7 +1121,7 @@ sub date_setting_table { } sub make_dates_default { - my ($startdate,$enddate,$context,$crstype = @_; + my ($startdate,$enddate,$context) = @_; my $result = ''; if ($context eq 'course') { my ($cnum,$cdom) = &get_course_identity(); @@ -1149,30 +1129,22 @@ sub make_dates_default { {'default_enrollment_start_date'=>$startdate, 'default_enrollment_end_date' =>$enddate},$cdom,$cnum); if ($put_result eq 'ok') { - if ($crstype eq 'Community') { - $result .= &mt('Set default start and end access dates for community.'); - } else { - $result .= &mt('Set default start and end access dates for course.'); - } - $result .= '<br />'."\n"; + $result .= &mt('Set default start and end access dates for course.'). + '<br />'."\n"; # # Refresh the course environment &Apache::lonnet::coursedescription($env{'request.course.id'}, {'freshen_cache' => 1}); } else { - if ($crstype eq 'Community') { - $result .= &mt('Unable to set default access dates for community'); - } else { - $result .= &mt('Unable to set default access dates for course'); - } - $result .= ':'.$put_result.'<br />'; + $result .= &mt('Unable to set default access dates for course.').":".$put_result. + '<br />'; } } return $result; } sub default_role_selector { - my ($context,$checkpriv,$crstype) = @_; + my ($context,$checkpriv) = @_; my %customroles; my ($options,$coursepick,$cb_jscript); if ($context ne 'author') { @@ -1188,7 +1160,7 @@ sub default_role_selector { $options = '<select name="defaultrole">'."\n". ' <option value="">'.&mt('Please select').'</option>'."\n"; if ($context eq 'course') { - $options .= &default_course_roles($context,$checkpriv,$crstype,%customroles); + $options .= &default_course_roles($context,$checkpriv,%customroles); } elsif ($context eq 'author') { my @roles = &construction_space_roles($checkpriv); foreach my $role (@roles) { @@ -1213,7 +1185,7 @@ sub default_role_selector { &Apache::loncommon::start_data_table_row()."\n". '<td><input type="text" name="coursedesc" value="" onfocus="this.blur();opencrsbrowser('."'studentform','dccourse','dcdomain','coursedesc',''".')" /></td>'."\n". '<td><select name="courserole">'."\n". - &default_course_roles($context,$checkpriv,'Course',%customroles)."\n". + &default_course_roles($context,$checkpriv,%customroles)."\n". '</select></td><td>'. '<table class="LC_createuser">'. '<tr class="LC_section_row"><td valign"top">'. @@ -1238,13 +1210,13 @@ sub default_role_selector { } sub default_course_roles { - my ($context,$checkpriv,$crstype,%customroles) = @_; + my ($context,$checkpriv,%customroles) = @_; my $output; my $custom = 1; - my @roles = &course_roles($context,$checkpriv,$custom,lc($crstype)); + my @roles = &course_roles($context,$checkpriv,$custom); foreach my $role (@roles) { if ($role ne 'cr') { - my $plrole=&Apache::lonnet::plaintext($role,$crstype); + my $plrole=&Apache::lonnet::plaintext($role); $output .= ' <option value="'.$role.'">'.$plrole.'</option>'; } } @@ -1293,14 +1265,8 @@ sub domain_roles { } sub course_roles { - my ($context,$checkpriv,$custom,$roletype) = @_; - my $crstype; - if ($roletype eq 'community') { - $crstype = 'Community' ; - } else { - $crstype = 'Course'; - } - my @allroles = &roles_by_context('course',$custom,$crstype); + my ($context,$checkpriv,$custom) = @_; + my @allroles = &roles_by_context('course',$custom); my @roles; if ($context eq 'domain') { @roles = @allroles; @@ -1311,7 +1277,7 @@ sub course_roles { if (&Apache::lonnet::allowed('c'.$role,$env{'request.course.id'})) { push(@roles,$role); } else { - if ((($role ne 'cc') && ($role ne 'co')) && ($env{'request.course.sec'} ne '')) { + if ($role ne 'cc' && $env{'request.course.sec'} ne '') { if (&Apache::lonnet::allowed('c'.$role, $env{'request.course.id'}.'/'. $env{'request.course.sec'})) { @@ -1329,19 +1295,19 @@ sub course_roles { } sub curr_role_permissions { - my ($context,$setting,$checkpriv,$type) = @_; + my ($context,$setting,$checkpriv) = @_; my $custom = 1; my @roles; if ($context eq 'author') { @roles = &construction_space_roles($checkpriv); } elsif ($context eq 'domain') { if ($setting eq 'course') { - @roles = &course_roles($context,$checkpriv,$custom,$type); + @roles = &course_roles($context,$checkpriv,$custom); } else { @roles = &domain_roles($checkpriv); } } elsif ($context eq 'course') { - @roles = &course_roles($context,$checkpriv,$custom,$type); + @roles = &course_roles($context,$checkpriv,$custom); } return @roles; } @@ -1441,46 +1407,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(' '.&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 /> <br />'); } } else { @@ -1554,7 +1500,7 @@ sub print_userlist { } } } elsif ($env{'form.roletype'} eq 'course') { - if (($env{'form.coursepick'}) && (!$clearcoursepick)) { + if ($env{'form.coursepick'}) { my %courses = &process_coursepick(); my %allusers; my $hidepriv = 1; @@ -1565,8 +1511,7 @@ sub print_userlist { my (@roles,@sections,%access,%users,%userdata, %statushash); if ($env{'form.showrole'} eq 'Any') { - @roles = &course_roles($context,undef,$custom, - $env{'form.roletype'}); + @roles = &course_roles($context,undef,$custom); } else { @roles = ($env{'form.showrole'}); } @@ -1612,8 +1557,6 @@ sub print_userlist { $r->print(&mt('There are no authors or co-authors to display.')."\n"); } elsif ($env{'form.roletype'} eq 'course') { $r->print(&mt('There are no course users to display')."\n"); - } elsif ($env{'form.roletype'} eq 'community') { - $r->print(&mt('There are no community users to display')."\n"); } } elsif ($context eq 'course') { $r->print(&mt('There are no course users to display.')."\n"); @@ -1656,16 +1599,7 @@ sub role_filter { $role_select = '<select name="showrole">'."\n". '<option value="Any" '.$roleselected.'>'. &mt('Any role').'</option>'; - my ($roletype,$crstype); - if ($context eq 'course') { - $crstype = &Apache::loncommon::course_type(); - if ($crstype eq 'Community') { - $roletype = 'community'; - } else { - $roletype = 'course'; - } - } - my @poss_roles = &curr_role_permissions($context,'','',$roletype); + my @poss_roles = &curr_role_permissions($context); foreach my $role (@poss_roles) { $roleselected = ''; if ($role eq $env{'form.showrole'}) { @@ -1675,7 +1609,7 @@ sub role_filter { if ($role eq 'cr') { $plrole = &mt('Custom role'); } else { - $plrole=&Apache::lonnet::plaintext($role,$crstype); + $plrole=&Apache::lonnet::plaintext($role); } $role_select .= '<option value="'.$role.'"'.$roleselected.'>'.$plrole.'</option>'; } @@ -1790,8 +1724,7 @@ sub gather_userinfo { $indexhash,$uniqid,$userlist); } } - } elsif (($env{'form.roletype'} eq 'course') || - ($env{'form.roletype'} eq 'community')) { + } elsif ($env{'form.roletype'} eq 'course') { ($userdata{'username'},$userdata{'domain'},$userdata{'role'}) = split(/:/,$item); if (ref($rolehash->{$item}) eq 'HASH') { @@ -1841,8 +1774,7 @@ sub gather_userinfo { sub build_user_record { my ($context,$userdata,$userinfo,$indexhash,$record_key,$userlist) = @_; next if ($userdata->{'start'} eq '-1' && $userdata->{'end'} eq '-1'); - if (!(($context eq 'domain') && (($env{'form.roletype'} eq 'course') - && ($env{'form.roletype'} eq 'community')))) { + if (!(($context eq 'domain') && ($env{'form.roletype'} eq 'course'))) { &process_date_info($userdata); } my $username = $userdata->{'username'}; @@ -2107,10 +2039,9 @@ sub show_users_list { $sortby = 'username'; } my $setting = $env{'form.roletype'}; - my ($cid,$cdom,$cnum,$classgroups,$displayphotos,$displayclickers,$crstype); + my ($cid,$cdom,$cnum,$classgroups,$displayphotos,$displayclickers); if ($context eq 'course') { $cid = $env{'request.course.id'}; - $crstype = &Apache::loncommon::course_type(); ($cnum,$cdom) = &get_course_identity($cid); ($classgroups) = &Apache::loncoursedata::get_group_memberships( $userlist,$keylist,$cdom,$cnum); @@ -2145,12 +2076,6 @@ function photowindow(photolink) { <input type="hidden" name="displayclickers" value="$displayclickers" /> END } - } elsif ($context eq 'domain') { - if ($setting eq 'community') { - $crstype = 'Community'; - } elsif ($crstype eq 'course') { - $crstype = 'Course'; - } } if ($mode ne 'autoenroll' && $mode ne 'pickauthor') { my $check_uncheck_js = &Apache::loncommon::check_uncheck_jscript(); @@ -2247,8 +2172,6 @@ END ); if ($context eq 'domain' && $env{'form.roletype'} eq 'course') { $lt{'extent'} = &mt('Course(s): description, section(s), status'); - } elsif ($context eq 'domain' && $env{'form.roletype'} eq 'community') { - $lt{'extent'} = &mt('Communities: description, section(s), status'); } elsif ($context eq 'author') { $lt{'extent'} = &mt('Author'); } @@ -2260,21 +2183,18 @@ END if ($context eq 'course') { push(@cols,'section'); } - if (!($context eq 'domain' && ($env{'form.roletype'} eq 'course') - && ($env{'form.roletype'} eq 'community'))) { + if (!($context eq 'domain' && $env{'form.roletype'} eq 'course')) { push(@cols,('start','end')); } if ($env{'form.showrole'} eq 'Any' || $env{'form.showrole'} eq 'cr') { push(@cols,'role'); } if ($context eq 'domain' && ($env{'form.roletype'} eq 'author' || - $env{'form.roletype'} eq 'course' || - $env{'form.roletype'} eq 'community')) { + $env{'form.roletype'} eq 'course')) { push (@cols,'extent'); } - if (($statusmode eq 'Any') && - (!($context eq 'domain' && (($env{'form.roletype'} eq 'course') - || ($env{'form.roletype'} eq 'community'))))) { + if (($statusmode eq 'Any') && + (!($context eq 'domain' && $env{'form.roletype'} eq 'course'))) { push(@cols,'status'); } if ($context eq 'course') { @@ -2292,8 +2212,7 @@ END my $results_description; if ($mode ne 'autoenroll') { $results_description = &results_header_row($rolefilter,$statusmode, - $context,$permission,$mode,$crstype); - + $context,$permission,$mode); $r->print('<b>'.$results_description.'</b><br /><br />'); } my ($output,$actionselect,%canchange,%canchangesec); @@ -2311,7 +2230,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)" /> <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> @@ -2320,9 +2239,9 @@ END if ($env{'form.showrole'} eq 'Any') { my $custom = 1; if ($context eq 'domain') { - @allroles = &roles_by_context($setting,$custom,$crstype); + @allroles = &roles_by_context($setting,$custom); } else { - @allroles = &roles_by_context($context,$custom,$crstype); + @allroles = &roles_by_context($context,$custom); } } else { @allroles = ($env{'form.showrole'}); @@ -2356,7 +2275,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'}) { @@ -2367,6 +2286,7 @@ END $env{'request.course.sec'})) { push(@linkdests,'track'); } + $output .= '<td>'; my $usernamelink = $env{'form.usernamelink'}; if ($usernamelink eq '') { @@ -2528,8 +2448,7 @@ END } } elsif ($env{'form.roletype'} eq 'author') { ($uname,$udom,$role) = split(/:/,$user,-1); - } elsif (($env{'form.roletype'} eq 'course') || - ($env{'form.roletype'} eq 'community')) { + } elsif ($env{'form.roletype'} eq 'course') { ($uname,$udom,$role) = split(/:/,$user); } } else { @@ -2636,7 +2555,7 @@ END if ($clickers!~/\w/) { $clickers='-'; } $in{'clicker'} = $clickers; my $role = $in{'role'}; - $in{'role'}=&Apache::lonnet::plaintext($sdata->[$index{'role'}],$crstype); + $in{'role'}=&Apache::lonnet::plaintext($sdata->[$index{'role'}]); if (! defined($in{'start'}) || $in{'start'} == 0) { $in{'start'} = &mt('none'); } else { @@ -2934,8 +2853,6 @@ sub role_type_names { 'domain' => 'Domain Roles', 'author' => 'Co-Author Roles', 'course' => 'Course Roles', - 'community' => 'Community Roles', - ); return %lt; } @@ -3072,7 +2989,7 @@ ENDTWO } sub date_section_selector { - my ($context,$permission,$crstype) = @_; + my ($context,$permission) = @_; my $callingform = $env{'form.callingform'}; my $formname = 'dateselect'; my $groupslist = &get_groupslist(); @@ -3171,7 +3088,7 @@ ENDJS } $date_items = &date_setting_table($starttime,undef,$context, $env{'form.bulkaction'},$formname, - $permission,$crstype); + $permission); } $output .= '<h3>'.$headertext.'</h3>'. '<form name="'.$formname.'" method="post">'."\n". @@ -3203,7 +3120,7 @@ ENDJS $info = '<input type="hidden" name="retainsec" value="0" />'; } my $rowtitle = &mt('New section to assign'); - my $secbox = §ion_picker($cdom,$cnum,$env{'form.showrole'},$rowtitle,$permission,$context,'',$crstype); + my $secbox = §ion_picker($cdom,$cnum,$env{'form.showrole'},$rowtitle,$permission,$context); $output .= $info.$secbox; } $output .= '<p>'. @@ -3213,13 +3130,13 @@ ENDJS } sub section_picker { - my ($cdom,$cnum,$role,$rowtitle,$permission,$context,$mode,$crstype) = @_; + my ($cdom,$cnum,$role,$rowtitle,$permission,$context,$mode) = @_; my %sections_count = &Apache::loncommon::get_sections($cdom,$cnum); my $sections_select .= &course_sections(\%sections_count,$role); my $secbox = '<p>'.&Apache::lonhtmlcommon::start_pick_box()."\n"; if ($mode eq 'upload') { my ($options,$cb_script,$coursepick) = - &default_role_selector($context,1,$crstype); + &default_role_selector($context,1); $secbox .= &Apache::lonhtmlcommon::row_title(&mt('role'),'LC_oddrow_value'). $options. &Apache::lonhtmlcommon::row_closure(1)."\n"; } @@ -3243,50 +3160,26 @@ sub section_picker { } sub results_header_row { - my ($rolefilter,$statusmode,$context,$permission,$mode,$crstype) = @_; + my ($rolefilter,$statusmode,$context,$permission,$mode) = @_; my ($description,$showfilter); if ($rolefilter ne 'Any') { $showfilter = $rolefilter; } if ($context eq 'course') { if ($mode eq 'csv' || $mode eq 'excel') { - if ($crstype eq 'Community') { - $description = &mt('Community - [_1]:',$env{'course.'.$env{'request.course.id'}.'.description'}).' '; - } else { - $description = &mt('Course - [_1]:',$env{'course.'.$env{'request.course.id'}.'.description'}).' '; - } + $description = &mt('Course - [_1]:',$env{'course.'.$env{'request.course.id'}.'.description'}).' '; } if ($statusmode eq 'Expired') { - if ($crstype eq 'Community') { - $description .= &mt('Users in community with expired [_1] roles',$showfilter); - } else { - $description .= &mt('Users in course with expired [_1] roles',$showfilter); - } + $description .= &mt('Users in course with expired [_1] roles',$showfilter); } elsif ($statusmode eq 'Future') { - if ($crstype eq 'Community') { - $description .= &mt('Users in community with future [_1] roles',$showfilter); - } else { - $description .= &mt('Users in course with future [_1] roles',$showfilter); - } + $description .= &mt('Users in course with future [_1] roles',$showfilter); } elsif ($statusmode eq 'Active') { - if ($crstype eq 'Community') { - $description .= &mt('Users in community with active [_1] roles',$showfilter); - } else { - $description .= &mt('Users in course with active [_1] roles',$showfilter); - } + $description .= &mt('Users in course with active [_1] roles',$showfilter); } else { if ($rolefilter eq 'Any') { - if ($crstype eq 'Community') { - $description .= &mt('All users in community'); - } else { - $description .= &mt('All users in course'); - } + $description .= &mt('All users in course'); } else { - if ($crstype eq 'Community') { - $description .= &mt('All users in community with [_1] roles',$rolefilter); - } else { - $description .= &mt('All users in course with [_1] roles',$rolefilter); - } + $description .= &mt('All users in course with [_1] roles',$rolefilter); } } my $constraint; @@ -3382,29 +3275,19 @@ sub results_header_row { $description .= &mt('All co-authors in domain with [_1] roles',$rolefilter); } } - } elsif (($env{'form.roletype'} eq 'course') || - ($env{'form.roletype'} eq 'community')) { - + } elsif ($env{'form.roletype'} eq 'course') { my $coursefilter = $env{'form.coursepick'}; - if ($env{'form.roletype'} eq 'course') { - if ($coursefilter eq 'category') { - my $instcode = &instcode_from_coursefilter(); - if ($instcode eq '.') { - $description .= &mt('All courses in domain').' - '; - } else { - $description .= &mt('Courses in domain with institutional code: [_1]',$instcode).' - '; - } - } elsif ($coursefilter eq 'selected') { - $description .= &mt('Selected courses in domain').' - '; - } elsif ($coursefilter eq 'all') { + if ($coursefilter eq 'category') { + my $instcode = &instcode_from_coursefilter(); + if ($instcode eq '.') { $description .= &mt('All courses in domain').' - '; + } else { + $description .= &mt('Courses in domain with institutional code: [_1]',$instcode).' - '; } - } elsif ($env{'form.roletype'} eq 'community') { - if ($coursefilter eq 'selected') { - $description .= &mt('Selected communities in domain').' - '; - } elsif ($coursefilter eq 'all') { - $description .= &mt('All communities in domain').' - '; - } + } elsif ($coursefilter eq 'selected') { + $description .= &mt('Selected courses in domain').' - '; + } elsif ($coursefilter eq 'all') { + $description .= &mt('All courses in domain').' - '; } if ($statusmode eq 'Expired') { $description .= &mt('users with expired [_1] roles',$showfilter); @@ -3441,7 +3324,7 @@ sub viewable_section { ################################################# ################################################# sub show_drop_list { - my ($r,$classlist,$nosort,$permission,$crstype) = @_; + my ($r,$classlist,$nosort,$permission) = @_; my $cid = $env{'request.course.id'}; my ($cnum,$cdom) = &get_course_identity($cid); if (! exists($env{'form.sortby'})) { @@ -3487,11 +3370,7 @@ END } } if (!$studentcount) { - if ($crstype eq 'Community') { - $r->print(&mt('There are no members to drop.')); - } else { - $r->print(&mt('There are no students to drop.')); - } + $r->print(&mt('There are no students to drop.')); return; } my ($classgroups) = &Apache::loncoursedata::get_group_memberships( @@ -3499,16 +3378,11 @@ END my %lt=&Apache::lonlocal::texthash('usrn' => "username", 'dom' => "domain", 'sn' => "student name", - 'mn' => "member name", 'sec' => "section", 'start' => "start date", 'end' => "end date", 'groups' => "active groups", ); - my $nametitle = $lt{'sn'}; - if ($crstype eq 'Community') { - $nametitle = $lt{'mn'}; - } if ($nosort) { $r->print(&Apache::loncommon::start_data_table(). &Apache::loncommon::start_data_table_header_row()); @@ -3517,7 +3391,7 @@ END <th>$lt{'usrn'}</th> <th>$lt{'dom'}</th> <th>ID</th> - <th>$nametitle</th> + <th>$lt{'sn'}</th> <th>$lt{'sec'}</th> <th>$lt{'start'}</th> <th>$lt{'end'}</th> @@ -3536,7 +3410,7 @@ END </th><th> <a href="/adm/createuser?action=$action&sortby=id">ID</a> </th><th> - <a href="/adm/createuser?action=$action&sortby=fullname">$nametitle</a> + <a href="/adm/createuser?action=$action&sortby=fullname">$lt{'sn'}</a> </th><th> <a href="/adm/createuser?action=$action&sortby=section">$lt{'sec'}</a> </th><th> @@ -3606,14 +3480,9 @@ END $r->print(&Apache::loncommon::end_data_table().'<br />'); %lt=&Apache::lonlocal::texthash( 'dp' => "Drop Students", - 'dm' => "Drop Members", 'ca' => "check all", 'ua' => "uncheck all", ); - my $btn = $lt{'dp'}; - if ($crstype eq 'Community') { - $btn = $lt{'dm'}; - } $r->print(<<"END"); </p> <p> @@ -3621,7 +3490,7 @@ END <input type="button" value="$lt{'ua'}" onclick="javascript:uncheckAll(document.studentform.droplist)" /> </p> <p> -<input type="submit" value="$btn" /> +<input type="submit" value="$lt{'dp'}" /> </p> END return; @@ -3635,8 +3504,7 @@ sub print_first_users_upload_form { my $str; $str = '<input type="hidden" name="phase" value="two" />'; $str .= '<input type="hidden" name="action" value="upload" />'; - $str .= '<input type="hidden" name="state" value="got_file" />'; - + $str .= '<input type="hidden" name="state" value="got_file" />'; $str .= '<h2>'.&mt('Upload a file containing information about users').'</h2>'."\n"; @@ -3716,22 +3584,9 @@ sub upfile_drop_add { 'domain_choice' => 'scalar', 'inststatus_choice' => 'scalar'}); # - my ($cid,$crstype,$setting); - if ($context eq 'domain') { - $setting = $env{'form.roleaction'}; - } - if ($env{'request.course.id'} ne '') { - $cid = $env{'request.course.id'}; - $crstype = &Apache::loncommon::course_type(); - } elsif ($setting eq 'course') { - if (&Apache::lonnet::is_course($env{'form.dcdomain'},$env{'form.dccourse'})) { - $cid = $env{'form.dcdomain'}.'_'.$env{'form.dccourse'}; - $crstype = &Apache::loncommon::course_type($cid); - } - } 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)); } # Determine domain and desired host (home server) my $defdom=$env{'request.role.domain'}; @@ -3783,20 +3638,28 @@ sub upfile_drop_add { $amode = ''; # This causes the loop below to be skipped } } - my ($defaultsec,$defaultrole); + my ($cid,$defaultsec,$defaultrole,$setting); if ($context eq 'domain') { + $setting = $env{'form.roleaction'}; if ($setting eq 'domain') { $defaultrole = $env{'form.defaultrole'}; } elsif ($setting eq 'course') { $defaultrole = $env{'form.courserole'}; $defaultsec = $env{'form.sections'}; - } + } } elsif ($context eq 'author') { $defaultrole = $env{'form.defaultrole'}; } elsif ($context eq 'course') { $defaultrole = $env{'form.defaultrole'}; $defaultsec = $env{'form.sections'}; } + if ($env{'request.course.id'} ne '') { + $cid = $env{'request.course.id'}; + } elsif ($setting eq 'course') { + if (&Apache::lonnet::is_course($env{'form.dcdomain'},$env{'form.dccourse'})) { + $cid = $env{'form.dcdomain'}.'_'.$env{'form.dccourse'}; + } + } # Check to see if user information can be changed my @userinfo = ('firstname','middlename','lastname','generation', 'permanentemail','id'); @@ -3809,10 +3672,10 @@ sub upfile_drop_add { } my (%userlist,%modifiable_fields,@poss_roles); my $secidx = &Apache::loncoursedata::CL_SECTION(); - my @courseroles = &roles_by_context('course',1,$crstype); + my @courseroles = &roles_by_context('course',1); if (!&Apache::lonnet::allowed('mau',$domain)) { if ($context eq 'course' || $context eq 'author') { - @poss_roles = &curr_role_permissions($context,'','',$crstype); + @poss_roles = &curr_role_permissions($context); my @statuses = ('active','future'); my ($indexhash,$keylist) = &make_keylist_array(); my %info; @@ -3899,8 +3762,7 @@ sub upfile_drop_add { } my (%curr_rules,%got_rules,%alerts); my %customroles = &my_custom_roles(); - my @permitted_roles = - &roles_on_upload($context,$setting,$crstype,%customroles); + my @permitted_roles = &roles_on_upload($context,$setting,%customroles); # Get new users list foreach my $line (@userdata) { my @secs; @@ -4343,24 +4205,14 @@ sub user_change_result { # ========================================================= Menu Phase Two Drop sub print_drop_menu { - my ($r,$context,$permission,$crstype) = @_; - my $heading; - if ($crstype eq 'Community') { - $heading = &mt("Drop Members"); - } else { - $heading = &mt("Drop Students"); - } - $r->print('<h3>'.$heading.'</h3>'."\n". + my ($r,$context,$permission) = @_; + $r->print('<h3>'.&mt("Drop Students").'</h3>'."\n". '<form name="studentform" method="post">'."\n"); my $classlist = &Apache::loncoursedata::get_classlist(); if (! defined($classlist)) { - if ($crstype eq 'Community') { - $r->print(&mt('There are no members currently enrolled.')."\n"); - } else { - $r->print(&mt('There are no students currently enrolled.')."\n"); - } + $r->print(&mt('There are no students currently enrolled.')."\n"); } else { - &show_drop_list($r,$classlist,'nosort',$permission,$crstype); + &show_drop_list($r,$classlist,'nosort',$permission); } $r->print('</form>'. &Apache::loncommon::end_page()); return; @@ -4372,10 +4224,6 @@ sub update_user_list { my ($r,$context,$setting,$choice) = @_; my $now = time; my $count=0; - my $crstype; - if ($context eq 'course') { - $crstype = &Apache::loncommon::course_type(); - } my @changelist; if ($choice eq 'drop') { @changelist = &Apache::loncommon::get_env_multiple('form.droplist'); @@ -4446,7 +4294,7 @@ sub update_user_list { } } } - my $plrole = &Apache::lonnet::plaintext($role,$crstype); + my $plrole = &Apache::lonnet::plaintext($role); my $start = $env{'form.'.$item.'_start'}; my $end = $env{'form.'.$item.'_end'}; if ($choice eq 'drop') { @@ -4611,7 +4459,7 @@ sub update_user_list { } if ($env{'form.makedatesdefault'}) { if ($choice eq 'chgdates' || $choice eq 'reenable' || $choice eq 'activate') { - $r->print(&make_dates_default($startdate,$enddate,$context,$crstype)); + $r->print(&make_dates_default($startdate,$enddate,$context)); } } my $linktext = &mt('Display User Lists'); @@ -4995,19 +4843,14 @@ sub check_usertype { } sub roles_by_context { - my ($context,$custom,$crstype) = @_; + my ($context,$custom) = @_; my @allroles; if ($context eq 'course') { @allroles = ('st'); if ($env{'request.role'} =~ m{^dc\./}) { push(@allroles,'ad'); } - push(@allroles,('ta','ep','in')); - if ($crstype eq 'Community') { - push(@allroles,'co'); - } else { - push(@allroles,'cc'); - } + push(@allroles,('ta','ep','in','cc')); if ($custom) { push(@allroles,'cr'); } @@ -5020,11 +4863,11 @@ sub roles_by_context { } sub get_permission { - my ($context,$crstype) = @_; + my ($context,$roles) = @_; my %permission; if ($context eq 'course') { my $custom = 1; - my @allroles = &roles_by_context($context,$custom,$crstype); + my @allroles = &roles_by_context($context,$custom); foreach my $role (@allroles) { if (&Apache::lonnet::allowed('c'.$role,$env{'request.course.id'})) { $permission{'cusr'} = 1; @@ -5093,9 +4936,9 @@ sub authorpriv { } sub roles_on_upload { - my ($context,$setting,$crstype,%customroles) = @_; + my ($context,$setting,%customroles) = @_; my (@possible_roles,@permitted_roles); - @possible_roles = &curr_role_permissions($context,$setting,1,$crstype); + @possible_roles = &curr_role_permissions($context,$setting,1); foreach my $role (@possible_roles) { if ($role eq 'cr') { push(@permitted_roles,keys(%customroles));