Add create mailing link plus method
This commit is contained in:
parent
b46f283f31
commit
450f56f639
1 changed files with 37 additions and 6 deletions
|
|
@ -26,23 +26,54 @@ sub session {
|
||||||
return (shift)->{ _session };
|
return (shift)->{ _session };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub www_createMailing {
|
||||||
|
my $self = shift;
|
||||||
|
my $session = $self->session;
|
||||||
|
my $form = $session->form;
|
||||||
|
|
||||||
|
# TODO: test if assetId and issueId are valid.
|
||||||
|
my $assetId = $form->guid( 'assetId' );
|
||||||
|
my $issueId = $form->guid( 'issueId' );
|
||||||
|
|
||||||
|
my $mailing = WebGUI::Mailing->create( $session, {
|
||||||
|
assetId => $assetId,
|
||||||
|
issueId => $issueId,
|
||||||
|
active => 0,
|
||||||
|
} );
|
||||||
|
|
||||||
|
return $self->www_view;
|
||||||
|
}
|
||||||
|
|
||||||
sub www_view {
|
sub www_view {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
my $session = $self->session;
|
||||||
|
my $url = $session->url;
|
||||||
|
|
||||||
my $letters = $self->getMailables;
|
my $letters = $self->getMailables;
|
||||||
|
|
||||||
my @newsletterLoop;
|
my @newsletterLoop;
|
||||||
foreach my $letter ( @{ $letters } ) {
|
foreach my $letter ( @{ $letters } ) {
|
||||||
|
my $letterId = $letter->getId;
|
||||||
|
|
||||||
my @issues;
|
my @issues;
|
||||||
foreach my $issue ( @{ $letter->getIssues } ) {
|
foreach my $issue ( @{ $letter->getIssues } ) {
|
||||||
my $issueId = $issue->getId;
|
my $issueId = $issue->getId;
|
||||||
|
|
||||||
|
my @mailings;
|
||||||
|
my $it = WebGUI::Mailing->getAllIterator( $session, { sequenceKeyValue => $issueId } );
|
||||||
|
while ( my $mailing = $it->() ) {
|
||||||
|
push @mailings, $mailing->get;
|
||||||
|
};
|
||||||
|
|
||||||
push @issues, {
|
push @issues, {
|
||||||
%{ $issue->get },
|
%{ $issue->get },
|
||||||
url => $issue->getUrl,
|
url => $issue->getUrl,
|
||||||
previewUrl => $letter->getUrl( "func=previewEmail;issueId=$issueId" ),
|
createMailingUrl => $url->page("newsletter=manage;func=createMailing;assetId=$letterId;issueId=$issueId"),
|
||||||
editUrl => $issue->getUrl( 'func=edit' ),
|
previewUrl => $letter->getUrl( "func=previewEmail;issueId=$issueId" ),
|
||||||
sendUrl => '',
|
editUrl => $issue->getUrl( 'func=edit' ),
|
||||||
sendTestUrl => '',
|
sendUrl => '',
|
||||||
|
sendTestUrl => '',
|
||||||
|
mailing_loop => \@mailings,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue