Add base classes for mailing instances.

This commit is contained in:
Martin Kamerbeek 2010-05-06 13:52:49 +02:00
parent 63798b98f1
commit 6aa9df2170
3 changed files with 119 additions and 2 deletions

View file

@ -0,0 +1,52 @@
package WebGUI::Mailing::Email;
use strict;
use warnings;
use base 'WebGUI::Crud';
sub crud_definition {
my $class = shift;
my $session = shift;
my $definition = $class->SUPER::crud_definition( $session );
$definition->{ tableName } = 'WGMailing_queue';
$definition->{ tableKey } = 'mailId';
$definition->{ sequenceKey } = 'mailingId';
my %properties = (
mailingId => {
fieldType => 'guid',
},
userId => {
fieldType => 'guid',
},
recipientEmail => {
fieldType => 'email',
defaultValue => undef,
},
status => {
fieldType => 'text',
defaultValue => 'queued', # Allowed are: 'queued', 'sent', 'error'
},
errorMessage => {
fieldType => 'text',
defaultValue => undef,
},
isTest => {
fieldType => 'yesNo',
defaultValue => 1, # For safety: explicitly turn this off to send real emails
},
);
$definition->{ properties } = {
%{ $definition->{ properties } || {} },
%properties,
};
return $definition;
}
1;