--- loncom/interface/lonpickstudent.pm 2013/07/15 16:13:22 1.32 +++ loncom/interface/lonpickstudent.pm 2020/02/12 16:25:47 1.33 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a student from the classlist # -# $Id: lonpickstudent.pm,v 1.32 2013/07/15 16:13:22 bisitz Exp $ +# $Id: lonpickstudent.pm,v 1.33 2020/02/12 16:25:47 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,18 +50,20 @@ sub handler { &Apache::loncommon::get_unprocessed_cgi ($ENV{'QUERY_STRING'},['filter','form','unameelement','udomelement', - 'roles','courseadvonly','clicker']); + 'roles','courseadv','clicker']); # Allowed? my $allowed; - my $scope = $env{'request.course.id'}; - if (!($allowed = &Apache::lonnet::allowed('srm',$scope))) { - $scope .= '/'.$env{'request.course.sec'}; - $allowed = &Apache::lonnet::allowed('srm',$scope); - if ($allowed) { $allowed = 'section'; } + if ($env{'request.course.id'}) { + if (!($allowed = &Apache::lonnet::allowed('srm',$env{'request.course.id'}))) { + if ($env{'request.course.sec'}) { + $allowed = &Apache::lonnet::allowed('srm', + "$env{'request.course.id'}/$env{'request.course.sec'}"); + if ($allowed) { $allowed = 'section'; } + } + } } - unless (($env{'form.roles'}) || - (($env{'request.course.id'}) && ($allowed))) { + unless (($env{'form.roles'}) || ($allowed)) { $r->print(&mt('No context.'). &Apache::loncommon::end_page()); return OK; @@ -77,16 +79,23 @@ sub handler { FILTER - foreach my $name ('form','unameelement','udomelement','roles') { + foreach my $name ('form','unameelement','udomelement','roles','courseadv','clicker') { my $value = &HTML::Entities::encode($env{"form.$name"},'<>&"'); $filterbutton .= < HIDDEN } - unless ($env{'form.courseadvonly'}) { - $filtermsg = '
'. - &mt('Showing users with a name starting with [_1]', - $filterbutton).'
'; + unless ($env{'form.courseadv'} eq 'only') { + if ($env{'request.course.id'}) { + my $crstype = &Apache::loncommon::course_type(); + my $showrole = &Apache::lonnet::plaintext('st',$crstype); + $filtermsg = &mt("Showing users with role of '[_1]' with name starting: [_2]", + $showrole,$filterbutton); + } else { + $filtermsg = + &mt('Showing users with a name starting with [_1]', + $filterbutton); + } } if ($filter eq '') { $filter = '.' @@ -110,32 +119,34 @@ ENDSCRIPT $r->print('
'); if ($allowed && (!$env{'form.roles'})) { + unless ($env{'form.courseadv'} eq 'none') { # -------------------------------------------------------- Get course personnel - $r->print('

'.$env{'course.'.$env{'request.course.id'}.'.description'}. - '

'); - my %coursepersonnel= - &Apache::lonnet::get_course_adv_roles(); - $r->print(&Apache::loncommon::start_data_table()); - foreach my $role (sort(keys(%coursepersonnel))) { - foreach my $user (split(/\,/,$coursepersonnel{$role})) { - my ($puname,$pudom)=split(/\:/,$user); - $r->print(&Apache::loncommon::start_data_table_row(). - ''. - ''.$role.''. - &Apache::loncommon::aboutmewrapper(&Apache::loncommon::plainname($puname,$pudom),$puname,$pudom).''. - &Apache::loncommon::end_data_table_row()); - } - } - $r->print(&Apache::loncommon::end_data_table().'

 '); - - $r->print($filtermsg); + $r->print('

'.$env{'course.'.$env{'request.course.id'}.'.description'}. + '

'); + my %coursepersonnel= + &Apache::lonnet::get_course_adv_roles(); + $r->print(&Apache::loncommon::start_data_table()); + foreach my $role (sort(keys(%coursepersonnel))) { + foreach my $user (split(/\,/,$coursepersonnel{$role})) { + my ($puname,$pudom)=split(/\:/,$user); + $r->print(&Apache::loncommon::start_data_table_row(). + ''. + ''.$role.''. + &Apache::loncommon::aboutmewrapper(&Apache::loncommon::plainname($puname,$pudom),$puname,$pudom).''. + &Apache::loncommon::end_data_table_row()); + } + } + $r->print(&Apache::loncommon::end_data_table().'

'); + } - $r->print('

'); + if ($filtermsg ne '') { + $r->print('

'.$filtermsg.'

'); + } $r->rflush(); - unless ($env{'form.courseadvonly'}) { + unless ($env{'form.courseadv'} eq 'only') { # ------------------------------------------------------------------ Students @@ -276,7 +287,7 @@ ENDSCRIPT } $r->print('
'.&Apache::loncommon::end_page()); return OK; -} +} 1; __END__