From: Sam H. v. a. <act...@de...> - 2005-01-28 01:29:36
|
Log Message: ----------- HEAD backport: Changed some UI features. In particular the scrolling list is now used both for selecting students to send mail to AND for selecting the preview message (if multiple students are selected the first is used as the preview). The "command table" is now one line taller than it was, but it it now effectively narrower (just two columns) -- the last column has only the row and column options and is not used that much. (gage) Tags: ---- rel-2-1-patches Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator/Instructor: SendMail.pm Revision Data ------------- Index: SendMail.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm,v retrieving revision 1.38 retrieving revision 1.38.2.1 diff -Llib/WeBWorK/ContentGenerator/Instructor/SendMail.pm -Llib/WeBWorK/ContentGenerator/Instructor/SendMail.pm -u -r1.38 -r1.38.2.1 --- lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm +++ lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm @@ -31,7 +31,8 @@ use WeBWorK::HTML::ScrollingRecordList qw/scrollingRecordList/; use WeBWorK::Utils::FilterRecords qw/filterRecords/; -my $REFRESH_RESIZE_BUTTON = "Set preview to: "; # handle submit value idiocy +#my $REFRESH_RESIZE_BUTTON = "Set preview to: "; # handle submit value idiocy +my $UPDATE_SETTINGS_BUTTON = "Update settings and refresh page"; # handle submit value idiocy sub initialize { my ($self) = @_; my $r = $self->r; @@ -79,8 +80,10 @@ $self->{default_msg_file} = $default_msg_file; $self->{old_default_msg_file} = $old_default_msg_file; $self->{merge_file} = (defined($r->param('merge_file' ))) ? $r->param('merge_file') : 'None'; - $self->{preview_user} = (defined($r->param('preview_user'))) ? $r->param('preview_user') : $user; - + #$self->{preview_user} = (defined($r->param('preview_user'))) ? $r->param('preview_user') : $user; + # an expermiment -- share the scrolling list for preivew and sendTo actions. + my @classList = (defined($r->param('classList'))) ? $r->param('classList') : ($user); + $self->{preview_user} = $classList[0] || $user; ############################################################################################# # gather database data @@ -303,8 +306,8 @@ my $script_action = ''; - if(not defined($action) or $action eq 'Open' or $action eq $REFRESH_RESIZE_BUTTON or $action eq 'Sort by' - or $action eq 'Set merge file to:' ){ + if(not defined($action) or $action eq 'Open' + or $action eq $UPDATE_SETTINGS_BUTTON ){ return ''; } @@ -509,7 +512,7 @@ my $permissionLevelTemplate = $db->newPermissionLevel; # This code will require changing if the permission and user tables ever have different keys. - my @users = @{ $self->{ra_users} }; + my @users = sort @{ $self->{ra_users} }; my $ra_user_records = $self->{ra_user_records}; my %classlistLabels = ();# %$hr_classlistLabels; foreach my $ur (@{ $ra_user_records }) { @@ -525,6 +528,7 @@ default_filters => ["all"], size => 5, multiple => 1, + refresh_button_name =>'Update settings and refresh page', }, @{$ra_user_records}); ############################################################################################################## @@ -563,17 +567,31 @@ # first column ############################################################################################# - CGI::td(CGI::strong("Message file: $input_file"),"\n",CGI::br(), + CGI::td(CGI::strong("Message file: "), $input_file,"\n",CGI::br(), CGI::submit(-name=>'action', -value=>'Open'), ' ',"\n", CGI::popup_menu(-name=>'openfilename', -values=>\@sorted_messages, -default=>$input_file - ), "\n",CGI::br(), - - "Save file to: $output_file","\n",CGI::br(), - "\n", 'From:',' ', CGI::textfield(-name=>"from", -size=>30, -value=>$from, -override=>1), - "\n", CGI::br(),'Reply-To: ', CGI::textfield(-name=>"replyTo", -size=>30, -value=>$replyTo, -override=>1), - "\n", CGI::br(),'Subject: ', CGI::br(), CGI::textarea(-name=>'subject', -default=>$subject, -rows=>3,-columns=>30, -override=>1), + ), + "\n",CGI::br(), + CGI::strong("Save file to: "), $output_file, + "\n",CGI::br(), + CGI::strong('Merge file: '), $merge_file, + CGI::br(), + CGI::popup_menu(-name=>'merge_file', + -values=>\@sorted_merge_files, + -default=>$merge_file, + ), "\n", + "\n", + #CGI::hr(), + CGI::div({style=>"background-color: #CCCCCC"}, + "\n", 'From:',' ', CGI::textfield(-name=>"from", -size=>30, -value=>$from, -override=>1), + "\n", CGI::br(),'Reply-To: ', CGI::textfield(-name=>"replyTo", -size=>30, -value=>$replyTo, -override=>1), + "\n", CGI::br(),'Subject: ', CGI::br(), CGI::textarea(-name=>'subject', -default=>$subject, -rows=>3,-columns=>30, -override=>1), + ), + #CGI::hr(), + CGI::submit(-name=>'action', -value=>$UPDATE_SETTINGS_BUTTON), + ), ############################################################################################# # second column @@ -591,7 +609,11 @@ CGI::radio_group(-name=>'radio', -values=>['all_students','studentID'], -labels=>{all_students=>'All students in course',studentID => 'Selected students'}, -default=>'studentID', -linebreak=>0), - CGI::br(),$scrolling_user_list), + CGI::br(),$scrolling_user_list, + CGI::i("Preview set to: "), $preview_record->last_name, + CGI::submit(-name=>'action', -value=>'preview',-label=>'Preview message'),' ', + ), + ## Edit here to insert filtering ## be sure to fail GRACEFULLY! # @@ -620,28 +642,30 @@ # third column ############################################################################################# CGI::td({align=>'left'}, - "<b>Merge file:</b> $merge_file", CGI::br(), - CGI::submit(-name=>'action', -value=>'Set merge file to:'),CGI::br(), - CGI::popup_menu(-name=>'merge_file', - -values=>\@sorted_merge_files, - -default=>$merge_file, - ), "\n",CGI::hr(), - CGI::b("Viewing email for: "), "$preview_user",CGI::br(), - CGI::submit(-name=>'action', -value=>'resize', -label=>$REFRESH_RESIZE_BUTTON),' ', - CGI::popup_menu(-name=>'preview_user', - -values=>\@users, - #-labels=>\%classlistLabels, - -default=>$preview_user, - ), - CGI::br(), - CGI::submit(-name=>'action', -value=>'preview',-label=>'Preview message'),' ', - - CGI::br(), - - CGI::hr(), +# "<b>Merge file:</b> $merge_file", CGI::br(), +# CGI::submit(-name=>'action', -value=>'Set merge file to:'),CGI::br(), +# CGI::popup_menu(-name=>'merge_file', +# -values=>\@sorted_merge_files, +# -default=>$merge_file, +# ), "\n", +# CGI::hr(), +# CGI::b("Viewing email for: "), "$preview_user",CGI::br(), +# CGI::submit(-name=>'action', -value=>'resize', -label=>$REFRESH_RESIZE_BUTTON),' ', +# CGI::popup_menu(-name=>'preview_user', +# -values=>\@users, +# #-labels=>\%classlistLabels, +# -default=>$preview_user, +# ), +# CGI::br(), +# CGI::submit(-name=>'action', -value=>'preview',-label=>'Preview message'),' ', +# +# CGI::br(), +# +# CGI::hr(), " Rows: ", CGI::textfield(-name=>'rows', -size=>3, -value=>$rows), " Columns: ", CGI::textfield(-name=>'columns', -size=>3, -value=>$columns), - CGI::br(),CGI::i('Press any action button to update display'),CGI::br(), + CGI::br(), +# CGI::i('Press any action button to update display'),CGI::br(), #show available macros CGI::popup_menu( -name=>'dummyName', |