--- loncom/interface/lonmsgdisplay.pm 2006/05/30 12:46:09 1.29
+++ loncom/interface/lonmsgdisplay.pm 2006/06/30 02:06:15 1.35.2.2
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging display
#
-# $Id: lonmsgdisplay.pm,v 1.29 2006/05/30 12:46:09 www Exp $
+# $Id: lonmsgdisplay.pm,v 1.35.2.2 2006/06/30 02:06:15 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -217,7 +217,7 @@ sub movemsg {
# Copy message
my %message=&Apache::lonnet::get('nohist_email'.$srcsuffix,[$msgid]);
if (!exists($message{$msgid}) || $message{$msgid} eq '') {
- if (&Apache::slotrequest::network_error(%message)) {
+ if (&Apache::lonnet::error(%message)) {
return (0,&mt('Message not moved, A network error occurred.'));
} else {
return (0,&mt('Message not moved as the message is no longer in the source folder.'));
@@ -226,7 +226,7 @@ sub movemsg {
my $result =&Apache::lonnet::put('nohist_email'.$trgsuffix,
{$msgid => $message{$msgid}});
- if (&Apache::slotrequest::network_error($result)) {
+ if (&Apache::lonnet::error($result)) {
return (0,&mt('Message not moved, A network error occurred.'));
}
@@ -234,12 +234,12 @@ sub movemsg {
unless ($trgfolder eq 'trash') {
my %status=&Apache::lonnet::get('email_status'.$srcsuffix,[$msgid]);
# a non-existant status is the mark of an unread msg
- if (&Apache::slotrequest::network_error(%status)) {
+ if (&Apache::lonnet::error(%status)) {
return (0,&mt('Message copied to new folder but status was not, A network error occurred.'));
}
my $result=&Apache::lonnet::put('email_status'.$trgsuffix,
{$msgid => $status{$msgid}});
- if (&Apache::slotrequest::network_error($result)) {
+ if (&Apache::lonnet::error($result)) {
return (0,&mt('Message copied to new folder but status was not, A network error occurred.'));
}
}
@@ -249,10 +249,10 @@ sub movemsg {
&Apache::lonnet::del('nohist_email'.$srcsuffix,[$msgid]);
my $result_del_stat =
&Apache::lonnet::del('email_status'.$srcsuffix,[$msgid]);
- if (&Apache::slotrequest::network_error($result_del_msg)) {
+ if (&Apache::lonnet::error($result_del_msg)) {
return (0,&mt('Message copied, but unable to delete the original from the source folder.'));
}
- if (&Apache::slotrequest::network_error($result_del_stat)) {
+ if (&Apache::lonnet::error($result_del_stat)) {
return (0,&mt('Message copied, but unable to delete the original status from the source folder.'));
}
@@ -320,7 +320,7 @@ $content{'sendername'}.':'.
# Check to see if there were any messages.
if ($result eq '') {
$result = "
".&mt('You have no critical messages.')."
".
- ''.&mt('Select a course').' '.
+ ''.&mt('Select a course or group').' '.
''.&mt('Communicate').'';
} else {
$r->print($header);
@@ -571,7 +571,7 @@ sub disfolder {
function uncheckall() {
for (i=0; iprint($studentsel);
}
+ if ($env{'form.displayedcrit'}) {
+ $r->print('');
+ }
$r->print(''.
&Apache::lonfeedback::generate_preview_button('compemail','message').
&Apache::lonhtmlcommon::htmlareaselectactive('message'));
@@ -976,10 +979,11 @@ $content{'sendername'}.':'.
}
# Check to see if there were any messages.
if ($result eq '') {
+ my $lctype = lc(&Apache::loncommon::course_type());
if ($target ne 'tex') {
- $r->print("
".&mt("No notes, face-to-face discussion records, critical messages, or broadcast messages in this course.")."
");
+ $r->print("
".&mt('No notes, face-to-face discussion records, critical messages, or broadcast messages in this [_1].',$lctype)."
");
} else {
- $r->print('\textbf{'.&mt("No notes, face-to-face discussion records, critical messages or broadcast messages in this course.").'}\\\\');
+ $r->print('\textbf{'.&mt('No notes, face-to-face discussion records, critical messages or broadcast messages in this [_1].',$lctype).'}\\\\');
}
} else {
$r->print($result);
@@ -1008,6 +1012,9 @@ sub facetoface {
$r->print('Not allowed');
return;
}
+ my $crstype = &Apache::loncommon::course_type();
+ my $leaders = ($crstype eq 'Group') ? 'coordinators and leaders'
+ : 'faculty and staff';
&printheader($r,
'/adm/email?recordftf=query',
"User Notes, Face-to-Face, Critical Messages, Broadcast Messages");
@@ -1025,9 +1032,9 @@ sub facetoface {
('stdselect','recuname','recdomain');
my %lt=&Apache::lonlocal::texthash('user' => 'Username',
'dom' => 'Domain',
- 'head' => 'User Notes, Records of Face-To-Face Discussions, Critical Messages, and Broadcast Messages in Course',
+ 'head' => "User Notes, Records of Face-To-Face Discussions, Critical Messages, and Broadcast Messages in $crstype",
'subm' => 'Retrieve discussion and message records',
- 'newr' => 'New Record (record is visible to course faculty and staff)',
+ 'newr' => 'New Record (record is visible to '.lc($crstype).' '.$leaders.')',
'post' => 'Post this Record');
$r->print(<<"ENDTREC");
');
@@ -1086,10 +1089,12 @@ sub examblock {
$r->print('Not allowed');
return;
}
+ my $usertype = (&Apache::loncommon::course_type() eq 'Group') ? 'members'
+ : 'students';
my %lt=&Apache::lonlocal::texthash(
'comb' => 'Communication Blocking',
'cbds' => 'Communication blocking during scheduled exams',
- 'desc' => 'You can use communication blocking to prevent students enrolled in this course from displaying LON-CAPA messages sent by other students during an online exam. As blocking of communication could potentially interrupt legitimate communication between students who are also both enrolled in a different LON-CAPA course, please be careful that you select the correct start and end times for your scheduled exam when setting or modifying these parameters.',
+ 'desc' => "You can use communication blocking to prevent $usertype enrolled in this course from displaying LON-CAPA messages sent by other $usertype during an online exam. As blocking of communication could potentially interrupt legitimate communication between $usertype who are also both enrolled in a different LON-CAPA course, please be careful that you select the correct start and end times for your scheduled exam when setting or modifying these parameters.",
'mecb' => 'Modify existing communication blocking periods',
'ncbc' => 'No communication blocks currently stored'
);
@@ -1421,6 +1426,8 @@ sub displaymessage {
my $startblock = 0;
my $endblock = 0;
my $numblocked = 0;
+ my $crstype = &Apache::loncommon::course_type();
+
# info to generate "next" and "previous" buttons and check if message is blocked
&blockcheck(\%setters,\$startblock,\$endblock);
my @messages=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder);
@@ -1502,8 +1509,8 @@ sub displaymessage {
$content{'sendername'}.' at '.
$content{'senderdomain'}.') ':' '.&mt('To').': '.
$tolist).
- ($content{'courseid'}?' '.&mt('Course').': '.$courseinfo{'description'}.
- ($content{'coursesec'}?' ('.&mt('Group/Section').': '.$content{'coursesec'}.')':''):'').
+ ($content{'courseid'}?' '.&mt($crstype).': '.$courseinfo{'description'}.
+ ($content{'coursesec'}?' ('.&mt('Section').': '.$content{'coursesec'}.')':''):'').
' '.&mt('Time').': '.$content{'time'}.
($content{'baseurl'}?' '.&mt('Refers to').':'.
$content{'baseurl'}.' ('.&Apache::lonnet::gettitle($content{'baseurl'}).')':'').
@@ -1637,12 +1644,13 @@ sub sendoffmail {
&statuschange($msgid,'replied',$folder);
}
- my $to = $env{'form.selectedusers.forminput'};
+ my @to =
+ &Apache::loncommon::get_env_multiple('form.selectedusers.forminput');
my $mode = $env{'form.sendmode'};
my %toaddr;
- if ($to) {
- foreach my $dest (@$to) {
+ if (@to) {
+ foreach my $dest (@to) {
my ($user,$domain) = split(/:/, $dest);
if (($user ne '') && ($domain ne '')) {
my $address = $user.":".$domain; # How the code below expects it.
@@ -1891,6 +1899,7 @@ sub handler {
&compout($r,'',$env{'form.replyto'},undef,undef,$folder,$dismode);
} elsif ($env{'form.confirm'}) {
&printheader($r,'','Confirmed Receipt');
+ my $replying = 0;
foreach (keys %env) {
if ($_=~/^form\.rec\_(.*)$/) {
$r->print(''.&mt('Confirming Receipt').': '.
@@ -1901,9 +1910,12 @@ sub handler {
$r->print(''.&mt('Confirming Receipt').': '.
&Apache::lonmsg::user_crit_received($msgid).' ');
&compout($r,'','','',$msgid);
+ $replying = 1;
}
}
- &discrit($r);
+ if (!$replying) {
+ &discrit($r);
+ }
} elsif ($env{'form.critical'}) {
&printheader($r,'','Displaying Critical Messages');
&discrit($r);
@@ -1997,7 +2009,9 @@ sub handler {
$env{'form.subject'},
$env{'form.message'},'/adm/communicate','public');
}
- &disall($r,($folder?$folder:$dismode));
+ if (!$env{'form.displayedcrit'}) {
+ &disall($r,($folder?$folder:$dismode));
+ }
} elsif ($env{'form.newfolder'}) {
&printheader($r,'','New Folder');
&makefolder($env{'form.newfolder'});