Add create mailing link plus method

This commit is contained in:
Martin Kamerbeek 2010-05-06 14:31:14 +02:00
parent b46f283f31
commit 450f56f639

View file

@ -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,
}; };
} }