diff --git a/lib/WebGUI/AssetAspect/Mailable.pm b/lib/WebGUI/AssetAspect/Mailable.pm index 6fd9790..c38315a 100644 --- a/lib/WebGUI/AssetAspect/Mailable.pm +++ b/lib/WebGUI/AssetAspect/Mailable.pm @@ -141,57 +141,5 @@ sub processContentAsUser { # return $self->processStyle( $f->print ); #} -#---------------------------------------------------------------------------- -sub www_previewContent { - my $self = shift; - my $form = $self->session->form; - - my $issueId = $form->get('issueId'); - my $userId = $form->get('userId'); - - return $self->processContentAsUser( $issueId, $userId ); -} - -#---------------------------------------------------------------------------- -sub www_previewEmail { - my $self = shift; - my $session = $self->session; - my $form = $session->form; - - my %recipients = - map { $_->getId => $_->username } - map { WebGUI::User->new( $session, $_ ) } - @{ $self->getRecipients }; - - my $issueId = $form->get('issueId'); - my $userId = $form->get('userId') || ( %recipients )[0]; - - my $userSelection = - WebGUI::Form::formHeader( $session ) - . WebGUI::Form::hidden( $session, { name => 'func', value => 'previewEmail' } ) - . WebGUI::Form::hidden( $session, { name => 'issueId', value => $issueId } ) - . WebGUI::Form::selectBox( $session, { - name => 'userId', - options => \%recipients, - value => $userId, - } ) - . WebGUI::Form::submit( $session, { value => 'Switch' } ) - . WebGUI::Form::formFooter( $session ); - - my $url = $self->getUrl("func=previewContent;issueId=$issueId;userId=$userId"); - - return < - - - - $userSelection - - - -EOHTML -} - 1; diff --git a/lib/WebGUI/Mailing.pm b/lib/WebGUI/Mailing.pm index eb4fdbf..cb96cd4 100644 --- a/lib/WebGUI/Mailing.pm +++ b/lib/WebGUI/Mailing.pm @@ -166,6 +166,63 @@ sub www_edit { return WebGUI::Mailing::Admin->new($session)->getAdminConsole->render( $f->print, 'Configure mailing' ); } +#---------------------------------------------------------------------------- +sub www_previewContent { + my $self = shift; + my $form = $self->session->form; + + my $issueId = $self->get('issueId'); + my $userId = $form->get('userId'); + + return $self->getAsset->processContentAsUser( $issueId, $userId, $self->get('configuration') ); +} + +#---------------------------------------------------------------------------- +sub www_previewEmail { + my $self = shift; + my $session = $self->session; + my ( $form, $url ) = $session->quick( 'form', 'url' ); + + my $asset = $self->getAsset; + my %recipients = + map { $_->getId => $_->username } + map { WebGUI::User->new( $session, $_ ) } + @{ $asset->getRecipients }; + + my $userId = $form->get('userId') || ( %recipients )[0]; + + my $manageUrl = $url->page('newsletter=manage'); + my $contentUrl = $url->page( "newsletter=mailing;func=previewContent;userId=$userId;id=".$self->getId ); + my $subject = $asset->getSubject( $self->get('configuration') ); + + my $userSelection = + WebGUI::Form::formHeader( $session ) + . WebGUI::Form::hidden( $session, { name => 'newsletter', value => 'mailing' } ) + . WebGUI::Form::hidden( $session, { name => 'func', value => 'previewEmail' } ) + . WebGUI::Form::hidden( $session, { name => 'id', value => $self->getId } ) + . WebGUI::Form::selectBox( $session, { + name => 'userId', + options => \%recipients, + value => $userId, + } ) + . WebGUI::Form::submit( $session, { value => 'Switch' } ) + . " Return to newsletter manager" + . WebGUI::Form::formFooter( $session ); + + return < + + + + $userSelection + Subject :$subject + + + +EOHTML +} + sub www_editSave { my $self = shift; my $session = $self->session; diff --git a/lib/WebGUI/Mailing/Admin.pm b/lib/WebGUI/Mailing/Admin.pm index 526e0a9..1e61d5c 100644 --- a/lib/WebGUI/Mailing/Admin.pm +++ b/lib/WebGUI/Mailing/Admin.pm @@ -122,10 +122,11 @@ sub www_view { push @mailings, { %{ $mailing->get }, status => $mailing->getStatusLine, - sendTestUrl => $url->page('newsletter=mailing;func=sendTestEmails;id='.$mailing->getId), - sendUrl => $url->page('newsletter=mailing;func=sendBatch;id='.$mailing->getId), - editUrl => $url->page('newsletter=mailing;func=edit;id='.$mailing->getId), - deleteUrl => $url->page('newsletter=mailing;func=delete;id='.$mailing->getId), + sendTestUrl => $url->page('newsletter=mailing;func=sendTestEmails;id='.$mailing->getId ), + sendUrl => $url->page('newsletter=mailing;func=sendBatch;id='.$mailing->getId ), + editUrl => $url->page('newsletter=mailing;func=edit;id='.$mailing->getId ), + deleteUrl => $url->page('newsletter=mailing;func=delete;id='.$mailing->getId ), + previewUrl => $url->page('newsletter=mailing;func=previewEmail;id='.$mailing->getId ), }; }; @@ -133,7 +134,6 @@ sub www_view { %{ $issue->get }, url => $issue->getUrl, createMailingUrl => $url->page("newsletter=manage;func=createMailing;assetId=$letterId;issueId=$issueId"), - previewUrl => $letter->getUrl( "func=previewEmail;issueId=$issueId" ), editUrl => $issue->getUrl( 'func=edit' ), sendUrl => '', sendTestUrl => '', diff --git a/sbin/packages/root_import_personalnewsletter.wgpkg b/sbin/packages/root_import_personalnewsletter.wgpkg index f8d796f..4940c61 100644 Binary files a/sbin/packages/root_import_personalnewsletter.wgpkg and b/sbin/packages/root_import_personalnewsletter.wgpkg differ