Add listname property.
This commit is contained in:
parent
66209f4102
commit
9422d7cd84
2 changed files with 62 additions and 1 deletions
|
|
@ -19,6 +19,11 @@ sub definition {
|
|||
my $i18n = WebGUI::International->new( $session,'AssetAspect_Subscriber' );
|
||||
|
||||
tie my %properties, 'Tie::IxHash', (
|
||||
listName => {
|
||||
fieldType => 'text',
|
||||
label => $i18n->echo("List name"),
|
||||
tab => 'subscription',
|
||||
},
|
||||
subscriptionGroupId => {
|
||||
fieldType => 'subscriptionGroup',
|
||||
label => $i18n->get( 'Subscription group' ),
|
||||
|
|
@ -264,6 +269,45 @@ sub getEmailVars {
|
|||
return $var;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub getAssetByListName {
|
||||
my $class = shift;
|
||||
my $session = shift;
|
||||
my $listName = shift || return;
|
||||
my $db = $session->db;
|
||||
|
||||
my $assetId = $db->quickScalar( 'select assetId from assetAspectSubscriber where listName=? limit 1', [
|
||||
$listName
|
||||
] );
|
||||
|
||||
return unless $assetId;
|
||||
|
||||
my $asset = WebGUI::Asset->newByDynamicClass( $session, $assetId );
|
||||
|
||||
return $asset;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub processPropertiesFromFormPost {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
|
||||
my $listName = $form->get('listName');
|
||||
my $asset = WebGUI::AssetAspect::Subscriber->getAssetByListName( $session, $listName );
|
||||
|
||||
my $errors = $self->next::method;
|
||||
|
||||
if ( $asset && $asset->getId ne $self->getId ) {
|
||||
return [
|
||||
@{ $errors || [] },
|
||||
"List name $listName is already taken."
|
||||
];
|
||||
}
|
||||
|
||||
return $errors;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub sendSubscriptionConfirmation {
|
||||
my $self = shift;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue