--- loncom/interface/lonmsgdisplay.pm 2006/04/25 20:02:30 1.14
+++ loncom/interface/lonmsgdisplay.pm 2006/05/01 05:57:26 1.20
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging display
#
-# $Id: lonmsgdisplay.pm,v 1.14 2006/04/25 20:02:30 albertel Exp $
+# $Id: lonmsgdisplay.pm,v 1.20 2006/05/01 05:57:26 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -261,13 +261,18 @@ sub movemsg {
sub discourse {
my $r=shift;
my $classlist = &Apache::loncoursedata::get_classlist();
- my $now=time;
+ my ($classgroups,$studentgroups) =
+ &Apache::loncoursedata::get_group_memberships($classlist);
my %lt=&Apache::lonlocal::texthash('cfa' => 'Check All',
'cfs' => 'Check Section/Group',
'cfn' => 'Uncheck All');
+ if (defined($env{'form.group'})) {
+ $r->print(''."\n");
+ }
$r->print(<
ENDDISHEADER my %coursepersonnel=&Apache::lonnet::get_course_adv_roles(); - $r->print('
'. - ' | ('.$_.'), | '.$role.' |
'.$sname.':'.$sdom.' | '.$section. - ' | Name | Username:Domain | Role | '); + $r->print(&Apache::loncommon::end_data_table_row()); + foreach my $role (sort keys %coursepersonnel) { + foreach (split(/\,/,$coursepersonnel{$role})) { + my ($puname,$pudom)=split(/\:/,$_); + $r->print(&Apache::loncommon::start_data_table_row()); + $r->print(''. + ' | ('.$_.'), | '.$role.' | '); + $r->print(&Apache::loncommon::end_data_table_row()); + } + } + $r->print(&Apache::loncommon::end_data_table()); + } + if (keys(%{$classlist}) > 0) { + $r->print('Name | Username:Domain | Section | Groups | '); + $r->print(&Apache::loncommon::end_data_table_row()); + my $sort = sub { + my $aname=lc($classlist->{$a}[&Apache::loncoursedata::CL_FULLNAME()]); + if (!$aname) { $aname=$a; } + my $bname=lc($classlist->{$b}[&Apache::loncoursedata::CL_FULLNAME()]); + if (!$bname) { $bname=$b; } + return $aname cmp $bname; + }; + foreach my $student (sort $sort (keys(%{$classlist}))) { + my $info=$classlist->{$student}; + my ($sname,$sdom,$status,$fullname,$section) = + (@{$info}[&Apache::loncoursedata::CL_SNAME(), + &Apache::loncoursedata::CL_SDOM(), + &Apache::loncoursedata::CL_STATUS(), + &Apache::loncoursedata::CL_FULLNAME(), + &Apache::loncoursedata::CL_SECTION()]); + next if ($status ne 'Active'); + next if ($env{'request.course.sec'} && + $section ne $env{'request.course.sec'}); + my @studentsgroups = &Apache::loncoursedata::get_students_groups( + $student,$status,$classgroups); + my $grouplist = join(', ',@studentsgroups); + my $key = 'send_to_&&&'.$section.'&&&_'.$student; + if (! defined($fullname) || $fullname eq '') {$fullname = $sname;} + my $checked = ''; + my $groupcount = 0; + my $groupitems; + $r->print(&Apache::loncommon::start_data_table_row()); + $r->print(''.$groupitems. + ' | '.$sname.':'.$sdom.' | '.$section. + ' | '.$grouplist.' | '); + $r->print(&Apache::loncommon::end_data_table_row()); + } + $r->print(&Apache::loncommon::end_data_table()); } - $r->print('
---|