sub table { 'svc_forward'; }
-=item insert
+=item insert [ , OPTION => VALUE ... ]
Adds this mail forwarding alias to the database. If there is an error, returns
the error, otherwise returns false.
The additional fields pkgnum and svcpart (see L<FS::cust_svc>) should be
defined. An FS::cust_svc record will be created and inserted.
+Currently available options are: I<depend_jobnum>
+
+If I<depend_jobnum> is set (to a scalar jobnum or an array reference of
+jobnums), all provisioning jobs will have a dependancy on the supplied
+jobnum(s) (they will not run until the specific job(s) complete(s)).
+
=cut
sub insert {
$error = $self->check;
return $error if $error;
- $error = $self->SUPER::insert;
+ $error = $self->SUPER::insert(@_);
if ($error) {
$dbh->rollback if $oldAutoCommit;
return $error;
# || ! $self->dstsvc;
if ( $self->src ) {
- $self->src =~ /^([\w\.\-\&]*)(\@([\w\-]+\.)+\w+)?$/
- or return "Illegal src: ". $self->dst;
+ $self->src =~ /^([\w\.\-\&]*)(\@([\w\-]+\.)+\w+)$/
+ or return "Illegal src: ". $self->src;
$self->src("$1$2");
} else {
$self->src('');
}
if ( $self->dst ) {
- $self->dst =~ /^([\w\.\-\&]*)(\@([\w\-]+\.)+\w+)?$/
- or return "Illegal dst: ". $self->dst;
- $self->dst("$1$2");
+ my $conf = new FS::Conf;
+ if ( $conf->exists('svc_forward-arbitrary_dst') ) {
+ my $error = $self->ut_textn('dst');
+ return $error if $error;
+ } else {
+ $self->dst =~ /^([\w\.\-\&]*)(\@([\w\-]+\.)+\w+)$/
+ or return "Illegal dst: ". $self->dst;
+ $self->dst("$1$2");
+ }
} else {
$self->dst('');
}