--- loncom/interface/slotrequest.pm 2006/02/03 23:53:30 1.44 +++ loncom/interface/slotrequest.pm 2006/02/09 18:04:51 1.47 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler for requesting to have slots added to a students record # -# $Id: slotrequest.pm,v 1.44 2006/02/03 23:53:30 albertel Exp $ +# $Id: slotrequest.pm,v 1.47 2006/02/09 18:04:51 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -362,7 +362,6 @@ sub release_slot { '0_availablestudent', 1, $new_param, 'string', $uname,$udom); - my $description=&get_description($env{'form.slotname'},\%slot); $r->print("

Released Reservation: $description

"); if ($mgr eq 'F') { $r->print('

'. @@ -452,7 +451,7 @@ STUFF } return; } - my %slot=&Apache::lonnet::get_slot($env{'form.slotname'}); + my $reserved=&make_reservation($env{'form.slotname'}, \%slot,$symb); my $description=&get_description($env{'form.slotname'},\%slot); @@ -695,8 +694,13 @@ sub show_table { 'order' => 'scalar', 'deleted' => 'scalar', ); - &Apache::loncommon::store_course_settings('slotrequest',\%Saveable_Parameters); - &Apache::loncommon::restore_course_settings('slotrequest',\%Saveable_Parameters); + &Apache::loncommon::store_course_settings('slotrequest', + \%Saveable_Parameters); + &Apache::loncommon::restore_course_settings('slotrequest', + \%Saveable_Parameters); + &Apache::grades::init_perm(); + my ($classlist,$section,$fullname)=&Apache::grades::getclasslist('all'); + &Apache::grades::reset_perm(); my %show_fields=&Apache::lonlocal::texthash( 'name' => 'Slot Name', @@ -710,10 +714,11 @@ sub show_table { 'ip' => 'IP or DNS restrictions', 'symb' => 'Resource slot is restricted to.', 'uniqueperiod' => 'Period of time slot is unique', + 'scheduled' => 'Scheduled Students', 'proctor' => 'List of proctors'); my @show_order=('name','description','type','starttime','endtime', 'startreserve','secret','maxspace','ip','symb', - 'uniqueperiod','proctor'); + 'uniqueperiod','scheduled','proctor'); my @show = (exists($env{'form.show'})) ? &Apache::loncommon::get_env_multiple('form.show') : keys(%show_fields); @@ -732,6 +737,16 @@ sub show_table { my $when = (exists($env{'form.when'})) ? $env{'form.when'} : 'now'; + my %stu_display_fields= + &Apache::lonlocal::texthash('username' => 'User name', + 'fullname' => 'Full name', + ); + my @stu_display_order=('fullname','username'); + my @stu_display = + (exists($env{'form.studisplay'})) ? &Apache::loncommon::get_env_multiple('form.studisplay') + : keys(%stu_display_fields); + my %stu_display = map { $_ => 1 } (@stu_display); + my $hide_radio = &Apache::lonhtmlcommon::radio('deleted',$env{'form.deleted'},'hide'); my $show_radio = @@ -742,11 +757,17 @@ sub show_table { $r->print('

'); $r->print(' + + '); } } - $r->print(''); my %name_cache; my $slotsort = sub { @@ -809,19 +829,28 @@ sub show_table { #next; } my $description=&get_description($slot,$slots{$slot}); - my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum, - "^$slot\0"); my $ids; - - my ($tmp)=%consumed; - if ($tmp !~ /^error: /) { - foreach my $entry (sort(keys(%consumed))) { - my (undef,$id)=split("\0",$entry); - my ($uname,$udom) = split('@',$consumed{$entry}{'name'}); - my $name = &Apache::loncommon::plainname($uname,$udom); - $ids.= ''.$name.&remove_link($slot,$entry,$uname,$udom, - $consumed{$entry}{'symb'}) - .'
'; + if (exists($show{'scheduled'})) { + my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum, + "^$slot\0"); + my ($tmp)=%consumed; + if ($tmp !~ /^error: /) { + foreach my $entry (sort(keys(%consumed))) { + my (undef,$id)=split("\0",$entry); + my ($uname,$udom) = split('@',$consumed{$entry}{'name'}); + $ids.= ''; + foreach my $item (@stu_display_order) { + if ($stu_display{$item}) { + if ($item eq 'fullname') { + $ids.=$fullname->{"$uname:$udom"}.' '; + } elsif ($item eq 'username') { + $ids.="$uname\@$udom "; + } + } + } + $ids.=&remove_link($slot,$entry,$uname,$udom, + $consumed{$entry}{'symb'}).'
'; + } } } @@ -909,7 +938,9 @@ DELETELINK if (exists($show{'uniqueperiod'})) { $colspan++;$r->print("\n"); } - $colspan++;$r->print("\n\n"); + if (exists($show{'scheduled'})) { + $colspan++;$r->print("\n\n"); + } if (exists($show{'proctor'})) { $r->print(<
'.&mt('Show').''.&mt('Student Display').' '.&mt('Open').' '.&mt('Options').'
'.&Apache::loncommon::multiple_select_form('show',\@show,6,\%show_fields,\@show_order). ' + '.&Apache::loncommon::multiple_select_form('studisplay',\@stu_display, + 6,\%stu_display_fields, + \@stu_display_order).' + '.&Apache::loncommon::select_form($when,'when',%when_fields). ' @@ -773,7 +794,6 @@ sub show_table { $r->print(''.$linkstart.$which.'">'.$show_fields{$which}.'Scheduled Students
$unique$ids
$ids