--- loncom/interface/lonnotify.pm 2006/03/16 20:09:35 1.12 +++ loncom/interface/lonnotify.pm 2006/04/10 21:40:08 1.16 @@ -58,36 +58,23 @@ sub handler { &Apache::lonhtmlcommon::clear_breadcrumbs(); my $function = &Apache::loncommon::get_users_function(); - my $loadcode; my $tablecolor = &Apache::loncommon::designparm($function.'.tabbg'); - if ((defined($env{'form.origin'})) && ($command eq 'compose' || $command eq 'pick_target' || $command eq 'pick_display')) { - unless ($env{'form.origin'} eq '') { - $loadcode = 'javascript:setFormElements(document.'.$env{'form.command'}.')'; - if (($command eq 'pick_target') && ( - ($origin eq 'compose') || ($origin eq 'process'))) { - if ($env{'form.coursepick'} eq 'category') { - $loadcode .= ';javascript:setCourseCat(document.'.$env{'form.command'}.')'; - } - } - } - } - my $loaditems = ' onLoad="'.$loadcode.'" '; - my $bodytag = &Apache::loncommon::bodytag('Broadcast e-mail to users',$function,$loaditems); + &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/notify', text=>"Broadcast E-mail"}); if ($command eq 'process') { - &print_request_receipt($r,$command,$cdom,$tablecolor,$bodytag); + &print_request_receipt($r,$command,$cdom,$tablecolor); } elsif ($command eq 'compose') { - &print_composition_form($r,$command,$cdom,$tablecolor,$bodytag); + &print_composition_form($r,$command,$cdom,$tablecolor); } elsif ($command eq 'pick_target') { - &print_selection_form($r,$command,$cdom,$tablecolor,$bodytag); + &print_selection_form($r,$command,$cdom,$tablecolor); } elsif ($command eq 'pick_display') { - &print_display_option_form($r,$command,$cdom,$tablecolor,$bodytag); + &print_display_option_form($r,$command,$cdom,$tablecolor); } elsif ($command eq 'display') { - &print_display($r,$command,$cdom,$tablecolor,$bodytag); + &print_display($r,$command,$cdom,$tablecolor); } else { - &print_front_page($r,'front',$cdom,$tablecolor,$bodytag); + &print_front_page($r,'front',$cdom,$tablecolor); } return OK; } @@ -98,19 +85,34 @@ sub add_script { } sub start_page { - my ($jscript,$bodytag,$bread_title,$formname) = @_; - - my $html = &Apache::lonxml::xmlbegin(); - - my $head = &Apache::loncommon::head('Notification E-mail',$jscript); + my ($jscript,$bread_title,$formname) = @_; + my $loadcode; + if ((defined($env{'form.origin'})) + && ($env{'form.command'} eq 'compose' + || $env{'form.command'} eq 'pick_target' + || $env{'form.command'} eq 'pick_display')) { + if ($env{'form.origin'} ne '') { + $loadcode = 'javascript:setFormElements(document.'.$env{'form.command'}.')'; + if (($env{'form.command'} eq 'pick_target') + && (($env{'form.origin'} eq 'compose') + || ($env{'form.origin'} eq 'process'))) { + if ($env{'form.coursepick'} eq 'category') { + $loadcode .= ';javascript:setCourseCat(document.'.$env{'form.command'}.')'; + } + } + } + } + + my $start_page = + &Apache::loncommon::start_page('Broadcast e-mail to users', $jscript, + {'add_entries' => + {'onload' => $loadcode,},}); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(undef,$bread_title, 'Broadcast_system_email'); my $output = <<"ENDONE"; -$html -$head -$bodytag +$start_page $breadcrumbs
@@ -124,7 +126,7 @@ sub end_page { } sub print_front_page { - my ($r,$formname,$cdom,$tablecolor,$bodytag) = @_; + my ($r,$formname,$cdom,$tablecolor) = @_; my $jscript = qq| function next_page(caller) { @@ -138,7 +140,7 @@ function next_page(caller) { } |; - my $output = &start_page(&add_script($jscript), $bodytag, + my $output = &start_page(&add_script($jscript), 'Broadcast e-mail to Domain', $formname); $output .= ''; @@ -157,7 +159,7 @@ function next_page(caller) { } sub print_display_option_form { - my ($r,$formname,$cdom,$tablecolor,$bodytag) = @_; + my ($r,$formname,$cdom,$tablecolor) = @_; &Apache::lonhtmlcommon::add_breadcrumb({text=>"Display options"}); my $table_width = ''; @@ -190,7 +192,7 @@ sub print_display_option_form { ); my $jscript = &Apache::lonhtmlcommon::set_form_elements(\%elements); - my $output = &start_page(&add_script($jscript), $bodytag, + my $output = &start_page(&add_script($jscript), 'Broadcast e-mail display options', $formname); $output .= &Apache::lonhtmlcommon::start_pick_box($table_width); @@ -218,17 +220,14 @@ sub print_display_option_form { $output .= &Apache::lonhtmlcommon::row_closure(); $output .= &Apache::lonhtmlcommon::submit_row($col_width,$tablecolor,&mt('Submit'),$cmd,$submit_text); $output .= &Apache::lonhtmlcommon::end_pick_box(); - $output .= qq( - -
- -); + $output .= qq(\n). + &end_page(); $r->print($output); return; } sub print_display { - my ($r,$formname,$cdom,$tablecolor,$bodytag) = @_; + my ($r,$formname,$cdom,$tablecolor) = @_; &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:goBack('pick_display')", text=>"Display options"}, @@ -259,7 +258,7 @@ function goBack(target) { ENDSCRIPT - my $output = &start_page(&add_script($jscript), $bodytag, + my $output = &start_page(&add_script($jscript), 'Display Broadcast e-mail', $formname); foreach my $msgid (keys(%sentmail)) { @@ -368,16 +367,13 @@ ENDSCRIPT $output .= qq(\n); $output .= qq(\n); $output .= qq(\n); - $output .= qq( - -); + $output .= &end_page(); $r->print($output); return; } sub print_selection_form { - my ($r,$formname,$cdom,$tablecolor,$bodytag) = @_; + my ($r,$formname,$cdom,$tablecolor) = @_; my %coursecodes = (); my %codes = (); my @codetitles = (); @@ -463,36 +459,33 @@ function setCourseCat(formname) { my $output = &start_page(&add_script($jscript).$cb_jscript, - $bodytag, 'Choose e-mail audience', $formname); + 'Choose e-mail audience', $formname); - $output .= &Apache::lonhtmlcommon::start_pick_box($table_width); - my @roles = ('ow','cc','in','ta','ep','st','cr'); - my %longtypes = (); - my %authtypes = (); - &form_elements(\%longtypes,\%authtypes); - my $descrip = $lt{'buil'}.' + $output .= &Apache::lonhtmlcommon::start_pick_box($table_width); + my @roles = ('ow','cc','in','ta','ep','st','cr'); + my %longtypes = (); + my %authtypes = (); + &form_elements(\%longtypes,\%authtypes); + my $descrip = $lt{'buil'}.' '."\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::end_pick_box(); - $output .= qq( - - -); + 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::end_pick_box(); + $output .= &end_page(); $r->print($output); return; } sub print_composition_form { - my ($r,$formname,$cdom,$tablecolor,$bodytag) = @_; + my ($r,$formname,$cdom,$tablecolor) = @_; &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:goBack('pick_target')", text=>"Select Audience"}, @@ -517,7 +510,7 @@ function goBack(target) { ); $jscript .= &Apache::lonhtmlcommon::set_form_elements(\%elements); - $r->print(&start_page(&add_script($jscript), $bodytag, + $r->print(&start_page(&add_script($jscript), 'Broadcast e-mail to users', $formname)); my $coursefilter = $env{'form.coursepick'}; @@ -659,14 +652,14 @@ function goBack(target) { } $output .= ''."\n"; $output .= &Apache::lonhtmlcommon::echo_form_input(['command','origin','subject','message','recipient','sender'],); - $output .= ''; + $output .= &end_page(); $r->print($output); return; } sub print_request_receipt { - my ($r,$formname,$dom,$tablecolor,$bodytag) =@_; + my ($r,$formname,$dom,$tablecolor) =@_; my @recipients = &Apache::loncommon::get_env_multiple('form.recipient'); my $subject = $env{'form.subject'}; my $message = $env{'form.message'}; @@ -689,8 +682,8 @@ ENDSCRIPT text=>"Outcome"}); - my $output = &start_page(&add_script($jscript), $bodytag, - 'E-mail Delivery', $formname); + my $output = &start_page(&add_script($jscript), 'E-mail Delivery', + $formname); $output .= &Apache::lonhtmlcommon::start_pick_box(); my @deliveries = (); @@ -728,10 +721,7 @@ ENDSCRIPT $output .= ''."\n". ''."\n"; $output .= &Apache::lonhtmlcommon::echo_form_input(['command','origin']); - $output .= ' - - -'; + $output .= &end_page(); $r->print($output); return; }