Implement cancel functionality.
This commit is contained in:
parent
55934b11f5
commit
ddaaebe6a0
2 changed files with 30 additions and 0 deletions
|
|
@ -8,6 +8,24 @@ use WebGUI::Mailing::Admin;
|
||||||
|
|
||||||
use base 'WebGUI::Crud';
|
use base 'WebGUI::Crud';
|
||||||
|
|
||||||
|
sub canCancel {
|
||||||
|
my $self = shift;
|
||||||
|
|
||||||
|
return 1 if $self->get('state') eq 'scheduled';
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub cancel {
|
||||||
|
my $self = shift;
|
||||||
|
|
||||||
|
$self->update( {
|
||||||
|
state => 'idle',
|
||||||
|
sendDate => undef,
|
||||||
|
} );
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sub crud_definition {
|
sub crud_definition {
|
||||||
my $class = shift;
|
my $class = shift;
|
||||||
my $session = shift;
|
my $session = shift;
|
||||||
|
|
@ -162,6 +180,17 @@ sub sendQueuedEmails {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub www_cancel {
|
||||||
|
my $self = shift;
|
||||||
|
my $session = $self->session;
|
||||||
|
|
||||||
|
return 'Cannot cancel mailing ['.$self->getId.']' unless $self->canCancel;
|
||||||
|
|
||||||
|
$self->cancel;
|
||||||
|
|
||||||
|
return WebGUI::Mailing::Admin->new($session)->www_view;
|
||||||
|
}
|
||||||
|
|
||||||
sub www_delete {
|
sub www_delete {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $session = $self->session;
|
my $session = $self->session;
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ sub www_view {
|
||||||
editUrl => $url->page('newsletter=mailing;func=edit;id='.$mailing->getId ),
|
editUrl => $url->page('newsletter=mailing;func=edit;id='.$mailing->getId ),
|
||||||
deleteUrl => $url->page('newsletter=mailing;func=delete;id='.$mailing->getId ),
|
deleteUrl => $url->page('newsletter=mailing;func=delete;id='.$mailing->getId ),
|
||||||
previewUrl => $url->page('newsletter=mailing;func=previewEmail;id='.$mailing->getId ),
|
previewUrl => $url->page('newsletter=mailing;func=previewEmail;id='.$mailing->getId ),
|
||||||
|
cancelUrl => $url->page('newsletter=mailing;func=cancel;id='.$mailing->getId ),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue