Adding sending of batches and bounce processing.
This commit is contained in:
parent
d62f56a635
commit
f8cb8cd05a
5 changed files with 134 additions and 10 deletions
|
|
@ -104,6 +104,73 @@ sub queueTestEmails {
|
|||
return;
|
||||
}
|
||||
|
||||
sub queueEmails {
|
||||
my $self = shift;
|
||||
my $userIds = shift;
|
||||
my $session = $self->session;
|
||||
|
||||
croak "User ids must be an array ref" unless ( ref $userIds eq 'ARRAY' );
|
||||
|
||||
foreach my $userId ( @{ $userIds } ) {
|
||||
WebGUI::Mailing::Email->create( $session, {
|
||||
mailingId => $self->getId,
|
||||
userId => $userId,
|
||||
recipientEmail => undef,
|
||||
isTest => 0,
|
||||
} );
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
sub www_sendBatch {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
||||
my $f = WebGUI::HTMLForm->new( $session );
|
||||
$f->hidden(
|
||||
name => 'newsletter',
|
||||
value => 'mailing',
|
||||
);
|
||||
$f->hidden(
|
||||
name => 'func',
|
||||
value => 'sendBatchConfirm',
|
||||
);
|
||||
$f->hidden(
|
||||
name => 'id',
|
||||
value => $self->getId,
|
||||
);
|
||||
$f->dateTime(
|
||||
name => 'schedule',
|
||||
label => 'Send batch at',
|
||||
);
|
||||
$f->submit;
|
||||
|
||||
return WebGUI::Mailing::Admin->new($session)->getAdminConsole->render( $f->print, 'Send batch' );
|
||||
}
|
||||
|
||||
sub www_sendBatchConfirm {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
|
||||
my $scheduled = $form->dateTime( 'scheduled' );
|
||||
|
||||
return $self->www_sendBatch unless $scheduled;
|
||||
|
||||
my $asset = WebGUI::Asset->newByDynamicClass( $session, $self->get('assetId') );
|
||||
croak "Cannot instaciate asset " . $self->get('assetId') unless $asset;
|
||||
|
||||
my $userIds = $asset->getRecipients;
|
||||
|
||||
$self->queueEmails( $userIds );
|
||||
$self->update( {
|
||||
sendDate => $scheduled,
|
||||
active => 1,
|
||||
} );
|
||||
|
||||
return WebGUI::Mailing::Admin->new( $session )->www_view;
|
||||
}
|
||||
|
||||
sub www_sendTestEmails {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue