diff --git a/lib/WebGUI/Mailing.pm b/lib/WebGUI/Mailing.pm index 6299721..86d3602 100644 --- a/lib/WebGUI/Mailing.pm +++ b/lib/WebGUI/Mailing.pm @@ -5,6 +5,7 @@ use warnings; use Carp; use WebGUI::Mailing::Admin; +use JSON qw{ to_json }; use base 'WebGUI::Crud'; @@ -397,45 +398,87 @@ sub www_previewEmail { my $i18n = WebGUI::International->new( $session, 'MailingManager' ); 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 => $i18n->get( 'switch user') } ) - . " " . $i18n->get( 'return to manager' ) . "" - . WebGUI::Form::formFooter( $session ); +'
+ Kies een gebruiker: + +
+
'; + + my $js = $self->getAutoCompleteJS; return < + + + + + + + + + + + - + $userSelection Subject :$subject - EOHTML } +sub getAutoCompleteJS { + my $self = shift; + my $url = $self->session->url; + my $jsonUrl = $url->page( 'newsletter=mailing;func=getRecipientsList;id='.$self->getId .';'); + my $contentBase = $url->page( "newsletter=mailing;func=previewContent;id=".$self->getId ); + + return <