From 93478c77e19ac52a987ac1e192316caaf1090ccc Mon Sep 17 00:00:00 2001 From: Martin Kamerbeek Date: Wed, 9 Jun 2010 13:24:46 +0200 Subject: [PATCH] Let subject default to issue title not NLC title. --- lib/WebGUI/AssetAspect/Mailable.pm | 8 +++++++- lib/WebGUI/Mailing.pm | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/WebGUI/AssetAspect/Mailable.pm b/lib/WebGUI/AssetAspect/Mailable.pm index 7e2d9d2..90bc717 100644 --- a/lib/WebGUI/AssetAspect/Mailable.pm +++ b/lib/WebGUI/AssetAspect/Mailable.pm @@ -65,14 +65,20 @@ sub getSubject { #---------------------------------------------------------------------------- sub getMailingProperties { my $self = shift; + my $mailing = shift; my $session = $self->session; my $i18n = WebGUI::International->new( $session,'AssetAspect_Mailable' ); + my $issue = $mailing->getIssue + ? $mailing->getIssue + : $self + ; + tie my %properties, 'Tie::IxHash', ( subject => { fieldType => 'text', label => $i18n->get( 'subject' ), - defaultValue=> $self->getTitle, + defaultValue=> $issue->getTitle, }, styleTemplateId => { fieldType => 'template', diff --git a/lib/WebGUI/Mailing.pm b/lib/WebGUI/Mailing.pm index 1b6efa0..5374d3f 100644 --- a/lib/WebGUI/Mailing.pm +++ b/lib/WebGUI/Mailing.pm @@ -120,6 +120,16 @@ sub getAsset { return $asset; } +#---------------------------------------------------------------------------- +sub getIssue { + my $self = shift; + my $session = $self->session; + + my $issue = WebGUI::Asset->newByDynamicClass( $session, $self->get('issueId') ); + #### TODO: error checking + return $issue; +} + #---------------------------------------------------------------------------- sub getQueuedEmailIterator { my $self = shift; @@ -394,7 +404,7 @@ sub www_edit { value => $self->getId, ); - my %fields = %{ $self->getAsset->getMailingProperties }; + my %fields = %{ $self->getAsset->getMailingProperties( $self ) }; my $configuration = $self->get('configuration') || {}; while ( my( $name, $properties ) = each %fields ) { $properties->{ name } = $name; @@ -549,7 +559,7 @@ sub www_editSave { return $session->privilege->insufficient unless $self->admin->canManage; - my %fields = %{ $self->getAsset->getMailingProperties }; + my %fields = %{ $self->getAsset->getMailingProperties( $self ) }; my $configuration = {}; if ( $self->admin->canOverride ) { while ( my( $name, $properties ) = each %fields ) {