Make newsletter settable
This commit is contained in:
parent
0d1b0fe7ac
commit
3ffb43bd68
1 changed files with 40 additions and 30 deletions
|
|
@ -15,12 +15,15 @@ sub getAvailableMailings {
|
|||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
||||
my $availableMailings = WebGUI::Asset->getRoot( $session )->getLineage( ['descendants'], {
|
||||
returnObjects => 1,
|
||||
isa => 'WebGUI::Asset::Wobject::NewsletterCollection',
|
||||
} );
|
||||
my $mailingIds = $self->get( 'includeMailings' );
|
||||
|
||||
return $availableMailings;
|
||||
my @mailings =
|
||||
grep { defined $_ }
|
||||
map { WebGUI::Asset->newByDynamicClass( $session, $_ ) }
|
||||
ref $mailingIds eq 'ARRAY' ? @{ $mailingIds } : $mailingIds
|
||||
;
|
||||
|
||||
return \@mailings;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -31,7 +34,7 @@ sub apply {
|
|||
my $subscribeTo = {
|
||||
map { $_ => 1 } @{ $self->getConfigurationData->{ subscribeMailings } || [] }
|
||||
};
|
||||
|
||||
|
||||
my $availableMailings = $self->getAvailableMailings;
|
||||
|
||||
my $sendNotification = 0;
|
||||
|
|
@ -49,22 +52,32 @@ sub apply {
|
|||
return;
|
||||
}
|
||||
|
||||
##-------------------------------------------------------------------
|
||||
#sub crud_definition {
|
||||
# my $class = shift;
|
||||
# my $session = shift;
|
||||
# my $definition = $class->SUPER::crud_definition( $session );
|
||||
# my $i18n = WebGUI::International->new( $session, 'Registration_Step_Homepage' );
|
||||
#
|
||||
#
|
||||
# $definition->{ dynamic }->{ urlStorageField } = {
|
||||
# fieldType => 'selectBox',
|
||||
# label => 'Store homepage url in field',
|
||||
# options => \%profileFields,
|
||||
# };
|
||||
#
|
||||
# return $definition;
|
||||
#}
|
||||
#-------------------------------------------------------------------
|
||||
sub crud_definition {
|
||||
my $class = shift;
|
||||
my $session = shift;
|
||||
my $definition = $class->SUPER::crud_definition( $session );
|
||||
my $i18n = WebGUI::International->new( $session, 'Registration_Step_Homepage' );
|
||||
|
||||
tie my %mailings, 'Tie::IxHash', (
|
||||
map { $_->getId => $_->getTitle }
|
||||
@{
|
||||
WebGUI::Asset->getRoot( $session )->getLineage( ['descendants'], {
|
||||
returnObjects => 1,
|
||||
isa => 'WebGUI::Asset::Wobject::NewsletterCollection',
|
||||
} )
|
||||
}
|
||||
);
|
||||
|
||||
$definition->{ dynamic }->{ includeMailings } = {
|
||||
fieldType => 'checkList',
|
||||
label => 'Store homepage url in field',
|
||||
options => \%mailings,
|
||||
vertical => 1,
|
||||
};
|
||||
|
||||
return $definition;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub getSummaryTemplateVars {
|
||||
|
|
@ -77,7 +90,7 @@ sub getSummaryTemplateVars {
|
|||
# Fetch preferred homepage url
|
||||
my $mailings = $self->getConfigurationData->{ subscribeMailings };
|
||||
|
||||
my @assets =
|
||||
my @assets =
|
||||
grep { defined $_ }
|
||||
map { WebGUI::Asset->newByDynamicClass( $session, $_ ) }
|
||||
@{ $mailings };
|
||||
|
|
@ -89,12 +102,12 @@ sub getSummaryTemplateVars {
|
|||
|
||||
# Setup tmpl_var
|
||||
my $var = {
|
||||
field_loop => \@fields,
|
||||
field_loop => \@fields,
|
||||
category_label => $self->get('title'),
|
||||
category_edit_url => $self->changeStepDataUrl,
|
||||
};
|
||||
|
||||
return ( $var );
|
||||
return ( $var );
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -119,7 +132,7 @@ sub getViewVars {
|
|||
}
|
||||
else {
|
||||
# The step hasn't been done yet.
|
||||
@subscribeMailings = grep { $_->isSubscribed( $user ) } @{ $availableMailings };
|
||||
@subscribeMailings = map { $_->getId } grep { $_->isSubscribed( $user ) } @{ $availableMailings };
|
||||
}
|
||||
|
||||
# Create lookup table
|
||||
|
|
@ -171,10 +184,7 @@ sub updateFromFormPost {
|
|||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
|
||||
$self->SUPER::updateFromFormPost;
|
||||
|
||||
# $self->update( {
|
||||
# } );
|
||||
return $self->SUPER::updateFromFormPost;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue