--- loncom/interface/lonnotify.pm 2006/05/30 12:46:09 1.19 +++ loncom/interface/lonnotify.pm 2006/07/07 13:43:20 1.20 @@ -59,24 +59,21 @@ sub handler { &Apache::lonhtmlcommon::clear_breadcrumbs(); - my $function = &Apache::loncommon::get_users_function(); - my $tablecolor = &Apache::loncommon::designparm($function.'.tabbg'); - &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/notify', text=>"Broadcast E-mail"}); if ($command eq 'process') { - &print_request_receipt($r,$command,$cdom,$tablecolor); + &print_request_receipt($r,$command,$cdom); } elsif ($command eq 'compose') { - &print_composition_form($r,$command,$cdom,$tablecolor); + &print_composition_form($r,$command,$cdom); } elsif ($command eq 'pick_target') { - &print_selection_form($r,$command,$cdom,$tablecolor); + &print_selection_form($r,$command,$cdom); } elsif ($command eq 'pick_display') { - &print_display_option_form($r,$command,$cdom,$tablecolor); + &print_display_option_form($r,$command,$cdom); } elsif ($command eq 'display') { - &print_display($r,$command,$cdom,$tablecolor); + &print_display($r,$command,$cdom); } else { - &print_front_page($r,'front',$cdom,$tablecolor); + &print_front_page($r,'front',$cdom); } return OK; } @@ -128,7 +125,7 @@ sub end_page { } sub print_front_page { - my ($r,$formname,$cdom,$tablecolor) = @_; + my ($r,$formname,$cdom) = @_; my $jscript = qq| function next_page(caller) { @@ -146,14 +143,12 @@ function next_page(caller) { 'Broadcast e-mail to Domain', $formname); $output .= ''; - $output .= &Apache::lonhtmlcommon::start_pick_box(); - $output .= ''. + $output .= '
'. ''. '
'. 'Send a new e-mail message to selected users from this domain
'. 'Display e-mail sent by Domain Coordinators in this domain'. '
'; - $output .= &Apache::lonhtmlcommon::end_pick_box(); $output .= &end_page(); $r->print($output); @@ -161,11 +156,9 @@ function next_page(caller) { } sub print_display_option_form { - my ($r,$formname,$cdom,$tablecolor) = @_; + my ($r,$formname,$cdom) = @_; &Apache::lonhtmlcommon::add_breadcrumb({text=>"Display options"}); - my $table_width = ''; - my $col_width = '200'; my $cmd = 'display'; my $submit_text = 'Display e-mail'; my @roles = ('dc'); @@ -197,16 +190,15 @@ sub print_display_option_form { my $output = &start_page(&add_script($jscript), 'Broadcast e-mail display options', $formname); - $output .= &Apache::lonhtmlcommon::start_pick_box($table_width); - $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Date range')); - $output .= ''; + $output .= '
Earliest to display: '. + $output .= &Apache::lonhtmlcommon::start_pick_box(); + $output .= &Apache::lonhtmlcommon::row_title(&mt('Date range')); + $output .= ''; - $output .= '
'.&mt('Earliest to display:').' '. $startdateform.'
Latest to display: '.$enddateform. - '
'.&mt('Latest to display:').' '.$enddateform. + '
'; $output .= &Apache::lonhtmlcommon::row_closure(); - $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Choose sender(s)')); + $output .= &Apache::lonhtmlcommon::row_title(&mt('Choose sender(s)')); my %personnel = &Apache::lonnet::get_domain_roles($cdom,\@roles); - $output .= ''; my @domcc = (); foreach my $server (keys %personnel) { foreach my $user (sort(keys %{$personnel{$server}})) { @@ -218,9 +210,8 @@ sub print_display_option_form { } } } - $output .= ''; $output .= &Apache::lonhtmlcommon::row_closure(); - $output .= &Apache::lonhtmlcommon::submit_row($col_width,$tablecolor,&mt('Submit'),$cmd,$submit_text); + $output .= &Apache::lonhtmlcommon::submit_row(&mt('Submit'),$cmd,$submit_text); $output .= &Apache::lonhtmlcommon::end_pick_box(); $output .= qq(\n). &end_page(); @@ -229,17 +220,12 @@ sub print_display_option_form { } sub print_display { - my ($r,$formname,$cdom,$tablecolor) = @_; + my ($r,$formname,$cdom) = @_; &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:goBack('pick_display')", text=>"Display options"}, {text=>"E-mail display"}); - my $table_width = ''; - my $col_width = '200'; - my $rowColor1 = "#ffffff"; - my $rowColor2 = "#eeeeee"; - my $rowColor; my $msgcount = 0; my $start = &Apache::lonhtmlcommon::get_date_from_form('startdate'); my $end = &Apache::lonhtmlcommon::get_date_from_form('enddate'); @@ -277,24 +263,19 @@ ENDSCRIPT } } } - $output .= &Apache::lonhtmlcommon::start_pick_box(); + $output .= &Apache::loncommon::start_data_table(); if ($msgcount > 0) { my $rowNum = 0; - $output .= ' - - - - - - - '; + $output .= &Apache::loncommon::start_data_table_header_row(). + ''. + ''. + ''. + ''. + ''. + &Apache::loncommon::end_data_table_header_row(); + if (($env{'form.sortby'} eq 'date') || ($env{'form.sortby'} eq '') || (!defined($env{'form.sortby'})) || (($env{'form.sortby'} eq 'sender') && (@senders <= 1))) { foreach my $msgid (sort(keys(%dcmail))) { - if ($rowNum %2 == 1) { - $rowColor = $rowColor1; - } else { - $rowColor = $rowColor2; - } my $recipients = ''; my ($date,undef,$sname,$sdom) = &Apache::lonmsg::unpackmsgid($msgid,undef,1); @@ -303,8 +284,12 @@ ENDSCRIPT $recipients .= $dcmail{$msgid}{recipient}{$user}.', '; } $recipients =~ s/,\s$//; - $output .= ''."\n"; - $rowNum ++; + $output .= &Apache::loncommon::start_data_table_row(). + ''. + ''. + ''. + ''."\n". + &Apache::loncommon::end_data_table_row(); } } else { foreach my $msgid (sort(keys(%dcmail))) { @@ -329,11 +314,6 @@ ENDSCRIPT } foreach my $key (sort(keys(%Sortby))) { foreach my $msgid (@{$Sortby{$key}}) { - if ($rowNum %2 == 1) { - $rowColor = $rowColor1; - } else { - $rowColor = $rowColor2; - } my $recipients = ''; if ($env{'form.sortby'} eq 'recipients') { $recipients = $key; @@ -346,16 +326,22 @@ ENDSCRIPT my ($date,undef,$sname,$sdom) = &Apache::lonmsg::unpackmsgid($msgid,undef,1); $date = &Apache::lonlocal::locallocaltime($date); - $output .= ''."\n"; - $rowNum ++; + $output .= &Apache::loncommon::start_data_table_row(). + ''. + ''. + ''. + ''. + ''."\n". + &Apache::loncommon::end_data_table_row(); } } } - $output .= '
DateSubjectSenderMessageRecipients
DateSubjectSenderMessageRecipients
'.$date.''.&cr_to_br($dcmail{$msgid}{subject}).''.$sname.':'.$sdom.''.&cr_to_br($dcmail{$msgid}{message}).''.$recipients.'
'.$date.''.&cr_to_br($dcmail{$msgid}{subject}).''.$sname.':'.$sdom.''.&cr_to_br($dcmail{$msgid}{message}).''.$recipients.'
'.$date.''.&cr_to_br($dcmail{$msgid}{subject}).''.$sname.':'.$sdom.''.&cr_to_br($dcmail{$msgid}{message}).''.$recipients.'
'.$date.''.&cr_to_br($dcmail{$msgid}{subject}).''.$sname.':'.$sdom.''.&cr_to_br($dcmail{$msgid}{message}).''.$recipients.'
'; } else { - $output .= ' 
  No mail sent matching supplied criteria  

 '; + $output .= &Apache::loncommon::start_data_table_empty_row(). + 'No mail sent matching supplied criteria'. + &Apache::loncommon::end_data_table_empty_row(); } - $output .= &Apache::lonhtmlcommon::end_pick_box(); + $output .= &Apache::loncommon::end_data_table(); $output .= &Apache::lonhtmlcommon::echo_form_input(['sortby','command','origin']); my $curr_sortby; if (defined($env{'form.sortby'})) { @@ -372,7 +358,7 @@ ENDSCRIPT } sub print_selection_form { - my ($r,$formname,$cdom,$tablecolor) = @_; + my ($r,$formname,$cdom) = @_; my %coursecodes = (); my %codes = (); my @codetitles = (); @@ -385,8 +371,6 @@ sub print_selection_form { my $totcodes = 0; my $format_reply; my $jscript = ''; - my $table_width = '100%'; - my $col_width = '200'; my %lt=&Apache::lonlocal::texthash( 'buil' => 'Building valid e-mail address from username, if missing from preferences:', 'kerb' => 'Kerberos: enter default for each realm used in the domain, with comma separation of entries', @@ -460,7 +444,7 @@ function setCourseCat(formname) { my $output = &start_page(&add_script($jscript).$cb_jscript, 'Choose e-mail audience', $formname); - $output .= &Apache::lonhtmlcommon::start_pick_box($table_width); + $output .= &Apache::lonhtmlcommon::start_pick_box(); my @roles = ('ow','cc','in','ta','ep','st','cr'); my %longtypes = (); my %authtypes = (); @@ -472,11 +456,11 @@ function setCourseCat(formname) { '."\n"; my $submit_text = $lt{'comp'}; my $cmd = 'compose'; - $output .= &Apache::lonhtmlcommon::role_select_row(\@roles,$col_width,$tablecolor,'Roles'); - $output .= &Apache::lonhtmlcommon::course_select_row($col_width,$tablecolor,'Courses',$formname,$totcodes,\@codetitles,\%idlist,\%idlist_titles); - $output .= &Apache::lonhtmlcommon::status_select_row(\%longtypes,$col_width,$tablecolor,&mt('Access status')); - $output .= &Apache::lonhtmlcommon::email_default_row(\%authtypes,$col_width,$tablecolor,&mt('Username -> Email conversion'),$descrip); - $output .= &Apache::lonhtmlcommon::submit_row($col_width,$tablecolor,&mt('Submit'),$cmd,$submit_text); + $output .= &Apache::lonhtmlcommon::role_select_row(\@roles,'Roles'); + $output .= &Apache::lonhtmlcommon::course_select_row('Courses',$formname,$totcodes,\@codetitles,\%idlist,\%idlist_titles); + $output .= &Apache::lonhtmlcommon::status_select_row(\%longtypes,&mt('Access status')); + $output .= &Apache::lonhtmlcommon::email_default_row(\%authtypes,&mt('Username -> Email conversion'),$descrip); + $output .= &Apache::lonhtmlcommon::submit_row(&mt('Submit'),$cmd,$submit_text); $output .= &Apache::lonhtmlcommon::end_pick_box(); $output .= &end_page(); $r->print($output); @@ -484,7 +468,7 @@ function setCourseCat(formname) { } sub print_composition_form { - my ($r,$formname,$cdom,$tablecolor) = @_; + my ($r,$formname,$cdom) = @_; &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:goBack('pick_target')", text=>"Select Audience"}, @@ -547,8 +531,6 @@ function goBack(target) { my %longtypes = (); my %authtypes = (); my %email_defaults = (); - my $table_width = '100%'; - my $col_width = '200'; &form_elements(\%longtypes,\%authtypes); foreach my $auth (keys(%authtypes)) { @@ -607,30 +589,35 @@ function goBack(target) { my $output; if ($totalrecip > 0) { - $output .= &Apache::lonhtmlcommon::start_pick_box($table_width); - $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Subject')); - $output .= ' '; + $output .= &Apache::lonhtmlcommon::start_pick_box(); + $output .= &Apache::lonhtmlcommon::row_title(&mt('Subject')); + $output .= ''; $output .= &Apache::lonhtmlcommon::row_closure(); - $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Message')); - $output .= ' '; + $output .= &Apache::lonhtmlcommon::row_title(&mt('Message')); + $output .= ' '; $output .= &Apache::lonhtmlcommon::row_closure(); - $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Recipients')); - $output .= ''; + $output .= &Apache::loncommon::start_data_table(); if (keys(%recipients) > 0) { - $output .= ' username:domain  '.$lt{'emad'}.''; + $output .= &Apache::loncommon::start_data_table_header_row(); + $output .= ' username:domain  '.$lt{'emad'}.''; + $output .= &Apache::loncommon::end_data_table_header_row(); } foreach my $username (sort(keys(%recipients))) { + $output .= &Apache::loncommon::start_data_table_row(); if ($recipients{$username} =~ /\@/) { my $value=&escape($username).':'.&escape($recipients{$username}); - $output .= ''.$username.'  '.$recipients{$username}.''; + $output .= ''.$username.'  '.$recipients{$username}.''; } + $output .= &Apache::loncommon::end_data_table_row(); } - $output .= ''; + $output .= &Apache::loncommon::end_data_table(); if (@unmatched) { $output .= '

'.&mt('Could not determine e-mail addresses for the following users:').''; } - $output .= ''; $output .= &Apache::lonhtmlcommon::row_closure(); - $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Sender e-mail address')); - $output .= ''; + $output .= &Apache::lonhtmlcommon::row_title(&mt('Sender e-mail address')); + $output .= ''; $output .= &Apache::lonhtmlcommon::row_closure(); - $output .= &Apache::lonhtmlcommon::submit_row($col_width,$tablecolor,&mt('Submit'),'process',&mt('Send Message')); + $output .= &Apache::lonhtmlcommon::submit_row(&mt('Submit'),'process',&mt('Send Message')); $output .= &Apache::lonhtmlcommon::end_pick_box(); } else { $output .= $lt{'nore'}."\n". @@ -658,7 +644,7 @@ function goBack(target) { sub print_request_receipt { - my ($r,$formname,$dom,$tablecolor) =@_; + my ($r,$formname,$dom) =@_; my @recipients = &Apache::loncommon::get_env_multiple('form.recipient'); my $subject = $env{'form.subject'}; my $message = $env{'form.message'}; @@ -684,38 +670,33 @@ ENDSCRIPT my $output = &start_page(&add_script($jscript), 'E-mail Delivery', $formname); - $output .= &Apache::lonhtmlcommon::start_pick_box(); + my @deliveries = (); &broadcast_email(\@recipients,$subject,$from,$message,\@deliveries); if (@deliveries > 0) { + $output .= &Apache::loncommon::start_data_table(); &store_mail($subject,$message,$dom,\@deliveries); - $output .= ' - - - - - - - - - - - - - '. + ''. + ''. + ''. + &Apache::loncommon::end_data_table_header_row(); + $output .= &Apache::loncommon::start_data_table_row(). + ''. + ''. + ''. + ' - -
StatusSubjectMessageRecipients
Sent'.&cr_to_br($subject).''.&cr_to_br($message).''; + $output .= &Apache::loncommon::start_data_table_header_row(). + ''.&mt('Status').''.&mt('Subject').''.&mt('Message').''.&mt('Recipents').''.&mt('Sent').''.&cr_to_br($subject).''.&cr_to_br($message).''; foreach my $person (@deliveries) { my ($username,$email) = split(/:/,$person); $output .= &unescape($email).' ('.&unescape($username).')
'."\n"; } - $output .= '
- - '; + $output .= ''. + &Apache::loncommon::end_data_table_row(). + &Apache::loncommon::end_data_table(); } else { $output .= 'No mail sent - no recipients identified'; } - $output .= &Apache::lonhtmlcommon::end_pick_box(); $output .= '
Send another message?'."\n"; $output .= ''."\n". ''."\n";