--- loncom/interface/lonpickstudent.pm 2011/06/07 20:18:59 1.30 +++ loncom/interface/lonpickstudent.pm 2023/09/28 15:56:48 1.34 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a student from the classlist # -# $Id: lonpickstudent.pm,v 1.30 2011/06/07 20:18:59 www Exp $ +# $Id: lonpickstudent.pm,v 1.34 2023/09/28 15:56:48 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','identelement']); # 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','identelement') { 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 = '.' @@ -97,45 +106,74 @@ HIDDEN $r->print(< function gochoose(uname,udom) { - opener.document.$env{'form.form'}.elements['$env{'form.unameelement'}'].value=uname; - var slct=opener.document.$env{'form.form'}.elements['$env{'form.udomelement'}']; - var i; - for (i=0;i 0) { + var j; + for (j=0; j ENDSCRIPT - $r->print('
'); + $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 @@ -202,7 +240,7 @@ ENDSCRIPT } $result .=&Apache::loncommon::start_data_table_row(). ''. - ''. ''.$uname.' '.$udom. ''. @@ -260,7 +298,7 @@ ENDSCRIPT my ($uname,$udom) = split(':',$user); $r->print(&Apache::loncommon::start_data_table_row(). ''. - ''. ''.$uname.''. ''.$udom.''. @@ -276,7 +314,7 @@ ENDSCRIPT } $r->print('
'.&Apache::loncommon::end_page()); return OK; -} +} 1; __END__