X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_www.pm;h=7e02d818a97b41b19eb6fe6a98ef53ca9753ca48;hp=12d7e92f308a402a28d43caeed88e95ef9fa0b85;hb=aed8ec35ccb9cdeb7ea0cb6ff2946f9d83d582f6;hpb=0327e2c7c79a11ec950a58e518f8f36cd0f85302 diff --git a/FS/FS/svc_www.pm b/FS/FS/svc_www.pm index 12d7e92f3..7e02d818a 100644 --- a/FS/FS/svc_www.pm +++ b/FS/FS/svc_www.pm @@ -72,8 +72,33 @@ points to. You can ask the object for a copy with the I method. =cut +sub table_info { + { + 'name' => 'Hosting', + 'name_plural' => 'Virtual hosting services', + 'display_weight' => 40, + 'cancel_weight' => 20, + 'fields' => { + }, + }; +}; + sub table { 'svc_www'; } +=item label [ END_TIMESTAMP [ START_TIMESTAMP ] ] + +Returns the zone name for this virtual host. + +END_TIMESTAMP and START_TIMESTAMP can optionally be passed when dealing with +history records. + +=cut + +sub label { + my $self = shift; + $self->domain_record(@_)->zone; +} + =item insert [ , OPTION => VALUE ... ] Adds this record to the database. If there is an error, returns the error, @@ -88,57 +113,31 @@ If I 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 { +sub preinsert_hook { my $self = shift; - my $error = $self->check; - return $error if $error; + #return '' unless $self->recnum =~ /^([\w\-]+|\@)\.(([\w\.\-]+\.)+\w+)$/; + return '' unless $self->recnum =~ /^([\w\-]+|\@)\.(\d+)$/; - local $SIG{HUP} = 'IGNORE'; - local $SIG{INT} = 'IGNORE'; - local $SIG{QUIT} = 'IGNORE'; - local $SIG{TERM} = 'IGNORE'; - local $SIG{TSTP} = 'IGNORE'; - local $SIG{PIPE} = 'IGNORE'; - - my $oldAutoCommit = $FS::UID::AutoCommit; - local $FS::UID::AutoCommit = 0; - my $dbh = dbh; - - #if ( $self->recnum =~ /^([\w\-]+|\@)\.(([\w\.\-]+\.)+\w+)$/ ) { - if ( $self->recnum =~ /^([\w\-]+|\@)\.(\d+)$/ ) { - my( $reczone, $domain_svcnum ) = ( $1, $2 ); - unless ( $apacheip ) { - $dbh->rollback if $oldAutoCommit; - return "Configuration option apacheip not set; can't autocreate A record"; - #"for $reczone". $svc_domain->domain; - } - my $domain_record = new FS::domain_record { - 'svcnum' => $domain_svcnum, - 'reczone' => $reczone, - 'recaf' => 'IN', - 'rectype' => 'A', - 'recdata' => $apacheip, - }; - $error = $domain_record->insert; - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return $error; - } - $self->recnum($domain_record->recnum); - } - - $error = $self->SUPER::insert(@_); - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return $error; + my( $reczone, $domain_svcnum ) = ( $1, $2 ); + unless ( $apacheip ) { + return "Configuration option apacheip not set; can't autocreate A record"; + #"for $reczone". $svc_domain->domain; } + my $domain_record = new FS::domain_record { + 'svcnum' => $domain_svcnum, + 'reczone' => $reczone, + 'recaf' => 'IN', + 'rectype' => 'A', + 'recdata' => $apacheip, + }; + my $error = $domain_record->insert; + return $error if $error; - $dbh->commit or die $dbh->errstr if $oldAutoCommit; - ''; + $self->recnum($domain_record->recnum); + return ''; } =item delete @@ -151,7 +150,7 @@ sub delete { my $self = shift; my $error; - $error = $self->SUPER::delete; + $error = $self->SUPER::delete(@_); return $error if $error; ''; @@ -168,7 +167,7 @@ sub replace { my ( $new, $old ) = ( shift, shift ); my $error; - $error = $new->SUPER::replace($old); + $error = $new->SUPER::replace($old, @_); return $error if $error; ''; @@ -190,7 +189,7 @@ Called by the cancel method of FS::cust_pkg (see L). Checks all fields to make sure this is a valid web virtual host. If there is an error, returns the error, otherwise returns false. Called by the insert -and repalce methods. +and replace methods. =cut @@ -205,6 +204,7 @@ sub check { $self->ut_numbern('svcnum') # || $self->ut_number('recnum') || $self->ut_numbern('usersvc') + || $self->ut_anything('config') ; return $error if $error;