--- loncom/interface/lonmsg.pm 2005/04/11 21:51:43 1.141 +++ loncom/interface/lonmsg.pm 2005/06/06 19:51:05 1.146 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.141 2005/04/11 21:51:43 raeburn Exp $ +# $Id: lonmsg.pm,v 1.146 2005/06/06 19:51:05 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -613,6 +613,7 @@ sub makefolder { sub movemsg { my ($msgid,$srcfolder,$trgfolder)=@_; + if ($srcfolder eq 'new') { $srcfolder=''; } my $srcsuffix=&foldersuffix($srcfolder); my $trgsuffix=&foldersuffix($trgfolder); @@ -706,6 +707,8 @@ ENDDISHEADER &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 $key = 'send_to_&&&'.$section.'&&&_'.$student; if (! defined($fullname) || $fullname eq '') { $fullname = $sname; } $r->print('
'.&mt('Currently available actions (will open extra window)').': | '); + + if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) { + $r->print(''.&Apache::loncommon::track_student_link(&mt('View recent activity'),$content{'sendername'},$content{'senderdomain'},'check').' | '); + } + if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) { + my $symb=&Apache::lonnet::symbread($content{'baseurl'}); + $r->print(''.&Apache::loncommon::parm_direct_link(&mt('Set/Change parameters'),$content{'sendername'},$content{'senderdomain'},$symb,'check').' | '); + } + if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'})) { + my $symb=&Apache::lonnet::symbread($content{'baseurl'}); + $r->print(''.&Apache::loncommon::grds_direct_link(&mt('Set/Change grades'),$content{'sendername'},$content{'senderdomain'},$symb,'check').' | '); + } + $r->print('
'); &Apache::loncommunicate::menu($r); - &disall($r,$folder); + &disall($r,($folder?$folder:$dismode)); } elsif ($env{'form.markeddel'}) { my $total=0; foreach (keys %env) { @@ -2129,12 +2160,12 @@ sub handler { &printheader($r,'','Deleted Messages'); $r->print('Deleted '.$total.' message(s)
'); &Apache::loncommunicate::menu($r); - &disall($r,$folder); + &disall($r,($folder?$folder:$dismode)); } elsif ($env{'form.markunread'}) { &printheader($r,'','Marked Message as Unread'); &statuschange($env{'form.markunread'},'new'); &Apache::loncommunicate::menu($r); - &disall($r,$folder); + &disall($r,($folder?$folder:$dismode)); } elsif ($env{'form.compose'}) { &compout($r,'','',$env{'form.compose'}); } elsif ($env{'form.recordftf'}) { @@ -2146,7 +2177,7 @@ sub handler { if ($env{'form.storebasecomment'}) { &storecomment($r); } - &disall($r,$folder); + &disall($r,($folder?$folder:$dismode)); } elsif ($env{'form.newfolder'}) { &printheader($r,'','New Folder'); &makefolder($env{'form.newfolder'}); @@ -2156,8 +2187,8 @@ sub handler { &storedcommentlisting($r); } else { &printheader($r,'','Display All Messages'); - &Apache::loncommunicate::menu($r); - &disall($r,$folder); + &Apache::loncommunicate::menu($r); + &disall($r,($folder?$folder:$dismode)); } $r->print(&Apache::loncommon::endbodytag().''); return OK;