[system] / branches / rel-2-3-dev / webwork2 / lib / WeBWorK / ContentGenerator / Instructor / SendMail.pm Repository:
ViewVC logotype

Diff of /branches/rel-2-3-dev/webwork2/lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1666 Revision 1667
1################################################################################ 1################################################################################
2# WeBWorK Online Homework Delivery System 2# WeBWorK Online Homework Delivery System
3# Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ 3# Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/
4# $CVSHeader$ 4# $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm,v 1.12 2003/12/09 01:12:31 sh002i Exp $
5# 5#
6# This program is free software; you can redistribute it and/or modify it under 6# This program is free software; you can redistribute it and/or modify it under
7# the terms of either: (a) the GNU General Public License as published by the 7# the terms of either: (a) the GNU General Public License as published by the
8# Free Software Foundation; either version 2, or (at your option) any later 8# Free Software Foundation; either version 2, or (at your option) any later
9# version, or (b) the "Artistic License" which comes with this package. 9# version, or (b) the "Artistic License" which comes with this package.
73# gather database data 73# gather database data
74############################################################################################# 74#############################################################################################
75 # FIXME this might be better done in body? We don't always need all of this data. or do we? 75 # FIXME this might be better done in body? We don't always need all of this data. or do we?
76 my @users = sort $db->listUsers; 76 my @users = sort $db->listUsers;
77 my @user_records = (); 77 my @user_records = ();
78 push(@user_records,$db->getUser($_)) foreach (@users); 78 foreach my $userName (@users) {
79 my $userRecord = $db->getUser($userName); # checked
80 die "record for user $userName not found" unless $userRecord;
81 push(@user_records, $userRecord);
82 }
79 83
80 # store data 84 # store data
81 $self->{ra_users} = \@users; 85 $self->{ra_users} = \@users;
82 $self->{ra_user_records} = \@user_records; 86 $self->{ra_user_records} = \@user_records;
83 87
297 } ; 301 } ;
298 302
299 303
300 foreach my $recipient (@recipients) { 304 foreach my $recipient (@recipients) {
301 #warn "FIXME sending email to $recipient"; 305 #warn "FIXME sending email to $recipient";
302 my $ur = $self->{db}->getUser($recipient); 306 my $ur = $self->{db}->getUser($recipient); #checked
307 die "record for user $recipient not found" unless $ur;
303 my ($msg, $preview_header); 308 my ($msg, $preview_header);
304 eval{ ($msg,$preview_header) = $self->process_message($ur,$rh_merge_data); }; 309 eval{ ($msg,$preview_header) = $self->process_message($ur,$rh_merge_data); };
305 warn "There were errors in processing user $ur, merge file $merge_file. $@" if $@; 310 warn "There were errors in processing user $ur, merge file $merge_file. $@" if $@;
306 my $mailer = Mail::Sender->new({ 311 my $mailer = Mail::Sender->new({
307 from => $from, 312 from => $from,
368 373
369} 374}
370sub print_preview { 375sub print_preview {
371 my ($self, $setID) = @_; 376 my ($self, $setID) = @_;
372 # get preview user 377 # get preview user
373 my $ur = $self->{db}->getUser($self->{preview_user}); 378 my $ur = $self->{db}->getUser($self->{preview_user}); #checked
379 die "record for preview user ".$self->{preview_user}. " not found." unless $ur;
374 380
375 # get merge file 381 # get merge file
376 my $merge_file = ( defined($self->{merge_file}) ) ? $self->{merge_file} : 'None'; 382 my $merge_file = ( defined($self->{merge_file}) ) ? $self->{merge_file} : 'None';
377 my $delimiter = ','; 383 my $delimiter = ',';
378 my $rh_merge_data = $self->read_scoring_file("$merge_file", "$delimiter"); 384 my $rh_merge_data = $self->read_scoring_file("$merge_file", "$delimiter");
440 my $merge_file = ( defined($self->{merge_file}) ) ? $self->{merge_file} : 'None'; 446 my $merge_file = ( defined($self->{merge_file}) ) ? $self->{merge_file} : 'None';
441 my $delimiter = ','; 447 my $delimiter = ',';
442 my $rh_merge_data = $self->read_scoring_file("$merge_file", "$delimiter"); 448 my $rh_merge_data = $self->read_scoring_file("$merge_file", "$delimiter");
443 my @merge_keys = keys %$rh_merge_data; 449 my @merge_keys = keys %$rh_merge_data;
444 my $preview_user = $self->{preview_user}; 450 my $preview_user = $self->{preview_user};
445 my $preview_record = $db->getUser($preview_user); 451 my $preview_record = $db->getUser($preview_user); # checked
452 die "record for preview user ".$self->{preview_user}. " not found." unless $preview_record;
453
446 454
447############################################################################################# 455#############################################################################################
448 456
449 print CGI::start_form({method=>"post", action=>$r->uri()}); 457 print CGI::start_form({method=>"post", action=>$r->uri()});
450 print $self->hidden_authen_fields(); 458 print $self->hidden_authen_fields();
548# warn "merge keys ", join( " ",@merge_keys); 556# warn "merge keys ", join( " ",@merge_keys);
549############################################################################################# 557#############################################################################################
550# merge file fragment and message text area field 558# merge file fragment and message text area field
551############################################################################################# 559#############################################################################################
552 my @tmp2; 560 my @tmp2;
553 eval{ @tmp2= @{$rh_merge_data->{ $db->getUser($preview_user)->student_id } };}; 561 eval{ @tmp2= @{$rh_merge_data->{ $db->getUser($preview_user)->student_id } };}; # checked
554 if ($@) { 562 if ($@) {
555# print CGI::p( "Couldn't get merge data for $preview_user", CGI::br(), $@) ; 563# print CGI::p( "Couldn't get merge data for $preview_user", CGI::br(), $@) ;
556 print "No merge data for $preview_user in merge file: <$merge_file>",CGI::br(); 564 print "No merge data for $preview_user in merge file: <$merge_file>",CGI::br();
557 } else { 565 } else {
558 print CGI::pre("",data_format(0..($#tmp2)),"\n", data_format(@tmp2)); 566 print CGI::pre("",data_format(0..($#tmp2)),"\n", data_format(@tmp2));

Legend:
Removed from v.1666  
changed lines
  Added in v.1667

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9