Internationalized system messages.
This commit is contained in:
parent
bcb265e188
commit
2490e166d3
15 changed files with 422 additions and 79 deletions
|
|
@ -7,27 +7,30 @@ use Carp 'confess';
|
|||
use WebGUI::Asset;
|
||||
use WebGUI::AdminConsole;
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub configurationComplete {
|
||||
my $self = shift;
|
||||
|
||||
return $self->session->setting->get('newsletterReturnDomain') ? 1 : 0;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getAdminConsole {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $url = $session->url;
|
||||
my $i18n = WebGUI::International->new( $session, 'MailingManager' );
|
||||
|
||||
my $ac = WebGUI::AdminConsole->new( $session );
|
||||
|
||||
$ac->addSubmenuItem( $url->page( 'newsletter=manage' ), 'Manage mailings' );
|
||||
$ac->addSubmenuItem( $url->page( 'newsletter=manage;func=settings' ), 'Newsletter settings' );
|
||||
$ac->addSubmenuItem( $url->page( 'newsletter=bounce;func=bounceReport' ), 'Bounce scores' );
|
||||
$ac->addSubmenuItem( $url->page( 'newsletter=manage' ), $i18n->get( 'manage mailings' ) );
|
||||
$ac->addSubmenuItem( $url->page( 'newsletter=manage;func=settings' ), $i18n->get( 'newsletter settings' ) );
|
||||
$ac->addSubmenuItem( $url->page( 'newsletter=bounce;func=bounceReport' ), $i18n->get( 'bounce scores' ) );
|
||||
|
||||
return $ac;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getMailables {
|
||||
my $self = shift;
|
||||
|
||||
|
|
@ -37,6 +40,7 @@ sub getMailables {
|
|||
} );
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my $session = shift || confess 'No session passed';
|
||||
|
|
@ -44,10 +48,12 @@ sub new {
|
|||
bless { _session => $session }, $class;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub session {
|
||||
return (shift)->{ _session };
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub www_createMailing {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
|
@ -66,10 +72,12 @@ sub www_createMailing {
|
|||
return $mailing->www_edit;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub www_settings {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $setting = $session->setting;
|
||||
my $i18n = WebGUI::International->new( $session, 'MailingManager' );
|
||||
|
||||
my $f = WebGUI::HTMLForm->new( $session );
|
||||
$f->hidden(
|
||||
|
|
@ -83,19 +91,20 @@ sub www_settings {
|
|||
$f->text(
|
||||
name => 'newsletterReturnDomain',
|
||||
value => $setting->get( 'newsletterReturnDomain' ),
|
||||
label => 'Newsletter domain name',
|
||||
label => $i18n->get( 'Newsletter domain name' ),
|
||||
);
|
||||
$f->integer(
|
||||
name => 'newsletterBounceScoreThreshold',
|
||||
value => $setting->get( 'newsletterBounceScoreThreshold' ),
|
||||
label => 'Bounce score threshold',
|
||||
label => $i18n->get( 'Bounce score threshold' ),
|
||||
);
|
||||
$f->submit;
|
||||
|
||||
return $self->getAdminConsole->render($f->print, 'Newsletter settings')
|
||||
return $self->getAdminConsole->render($f->print, $i18n->get( 'newsletter settings' ) );
|
||||
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub www_settingsSave {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
|
@ -108,10 +117,12 @@ sub www_settingsSave {
|
|||
return $self->www_settings;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub www_view {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $url = $session->url;
|
||||
my $i18n = WebGUI::International->new( $session, 'MailingManager' );
|
||||
|
||||
return $self->www_settings unless $self->configurationComplete;
|
||||
|
||||
|
|
@ -165,7 +176,7 @@ sub www_view {
|
|||
my $var = { newsletter_loop => \@newsletterLoop };
|
||||
|
||||
my $template = WebGUI::Asset::Template->new( $self->session, 'FTfNhWI8KJOwLzFUl5rYeQ' );
|
||||
return $self->getAdminConsole->render( $template->process( $var ), 'Manage newsletters' );
|
||||
return $self->getAdminConsole->render( $template->process( $var ), $i18n->get( 'manage mailings' ) );
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ use warnings;
|
|||
|
||||
use WebGUI::Mailing::Admin;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub bounceScoreOk {
|
||||
my $self = shift;
|
||||
my $address = shift;
|
||||
|
|
@ -16,6 +17,7 @@ sub bounceScoreOk {
|
|||
return $self->getBounceScore( $address ) < $threshold;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getBounceScore {
|
||||
my $self = shift;
|
||||
my $address = shift;
|
||||
|
|
@ -38,6 +40,7 @@ sub getBounceScore {
|
|||
return $score;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my $session = shift;
|
||||
|
|
@ -45,24 +48,26 @@ sub new {
|
|||
bless { _session => $session }, $class;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub session {
|
||||
return (shift)->{ _session };
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub www_bounceReport {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
||||
my $i18n = WebGUI::International->new( $session, 'MailingManager' );
|
||||
my $sth = $session->db->read( 'select distinct sentTo from WGMailing_queue where sentTo is not null' );
|
||||
|
||||
my $output = '<table><tr><th>Email</th><th>Bounce score</th></tr>';
|
||||
my $output = '<table><tr><th>'.$i18n->get('email').'</th><th>'.$i18n->get('bounce score').'</th></tr>';
|
||||
while ( my ($email) = $sth->array ) {
|
||||
my $score = $self->getBounceScore( $email );
|
||||
$output .= "<tr><td>$email</td><td>$score</td></tr>";
|
||||
}
|
||||
$output .= '</table>';
|
||||
|
||||
return WebGUI::Mailing::Admin->new( $session )->getAdminConsole->render( $output, 'Bounce score overview' );
|
||||
return WebGUI::Mailing::Admin->new( $session )->getAdminConsole->render( $output, $i18n->get( 'bounce scores' ) );
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use HTML::TreeBuilder;
|
|||
|
||||
use base 'WebGUI::Crud';
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub crud_definition {
|
||||
my $class = shift;
|
||||
my $session = shift;
|
||||
|
|
@ -59,6 +60,7 @@ sub crud_definition {
|
|||
return $definition;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getMailing {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
|
@ -68,6 +70,7 @@ sub getMailing {
|
|||
return $mailing;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getQueuedTestEmails {
|
||||
my $class = shift;
|
||||
my $session = shift;
|
||||
|
|
@ -82,6 +85,7 @@ sub getQueuedTestEmails {
|
|||
return $it;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getQueued {
|
||||
my $class = shift;
|
||||
my $session = shift;
|
||||
|
|
@ -98,6 +102,7 @@ sub getQueued {
|
|||
return $it;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub error {
|
||||
my $self = shift;
|
||||
my $message = shift;
|
||||
|
|
@ -110,6 +115,7 @@ sub error {
|
|||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub absolutifyURIs {
|
||||
my $self = shift;
|
||||
my $content = shift;
|
||||
|
|
@ -137,6 +143,7 @@ sub absolutifyURIs {
|
|||
return $tb->as_HTML;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub send {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
|
@ -151,8 +158,7 @@ sub send {
|
|||
|
||||
# Mail is a test mail but there is noone to send the result to
|
||||
if ( $self->get( 'isTest' ) && !$self->get('recipientEmail') ) {
|
||||
$self->error( 'Cannot send test mails without an override reciepint address' );
|
||||
|
||||
$self->error( 'Cannot send test mails without an override recipient address' );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -216,6 +222,7 @@ sub send {
|
|||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub user {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
|
@ -224,6 +231,7 @@ sub user {
|
|||
return $user;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub registerBounced {
|
||||
my $self = shift;
|
||||
my $reason = shift;
|
||||
|
|
@ -235,7 +243,7 @@ sub registerBounced {
|
|||
bounceReason => $reason,
|
||||
} );
|
||||
|
||||
#### TODO: Write to bounce log
|
||||
#### TODO: Write to bounce log <= is this necessary? We're writing to the mail log already with most relevant info...
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue