X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=site_perl%2Ftable_template-svc.pm;h=40c9ed9b55a1fb461e88eecce2f450955ff1c54b;hp=4180d8d137b6d2c85802f65d44729e7467d3d045;hb=7613e14fd13aabb2a44bb26ca8640053f44930ea;hpb=1f2d8690193476319d61b20b78461eb1a3ff106e diff --git a/site_perl/table_template-svc.pm b/site_perl/table_template-svc.pm index 4180d8d13..40c9ed9b5 100644 --- a/site_perl/table_template-svc.pm +++ b/site_perl/table_template-svc.pm @@ -2,10 +2,11 @@ package FS::svc_table; use strict; use vars qw(@ISA); -use FS::Record qw(fields qsearch qsearchs); +#use FS::Record qw( qsearch qsearchs ); +use FS::svc_Common; use FS::cust_svc; -@ISA = qw(FS::Record); +@ISA = qw(svc_Common); =head1 NAME @@ -35,7 +36,7 @@ FS::table_name - Object methods for table_name records =head1 DESCRIPTION An FS::table_name object represents an example. FS::table_name inherits from -FS::Record. The following fields are currently supported: +FS::svc_Common. The following fields are currently supported: =over 4 @@ -69,38 +70,13 @@ defined. An FS::cust_svc record will be created and inserted. =cut sub insert { - my($self)=@_; - my($error); + my $self = shift; + my $error; - local $SIG{HUP} = 'IGNORE'; - local $SIG{INT} = 'IGNORE'; - local $SIG{QUIT} = 'IGNORE'; - local $SIG{TERM} = 'IGNORE'; - local $SIG{TSTP} = 'IGNORE'; - - $error=$self->check; + $error = $self->SUPER::insert; return $error if $error; - my($svcnum)=$self->svcnum; - my($cust_svc); - unless ( $svcnum ) { - $cust_svc=create FS::cust_svc ( { - 'svcnum' => $svcnum, - 'pkgnum' => $self->pkgnum, - 'svcpart' => $self->svcpart, - } ); - my($error) = $cust_svc->insert; - return $error if $error; - $svcnum = $self->svcnum($cust_svc->svcnum); - } - - $error = $self->add; - if ($error) { - #$cust_svc->del if $cust_svc; - $cust_svc->delete if $cust_svc; - return $error; - - ''; #no error + ''; } =item delete @@ -110,12 +86,13 @@ Delete this record from the database. =cut sub delete { - my($self)=@_; - my($error); + my $self = shift; + my $error; - $error = $self->del; + $error = $self->SUPER::delete; return $error if $error; + ''; } @@ -127,55 +104,27 @@ returns the error, otherwise returns false. =cut sub replace { - my($new,$old)=@_; - my($error); - - return "(Old) Not a svc_table record!" unless $old->table eq "svc_table"; - return "Can't change svcnum!" - unless $old->getfield('svcnum') eq $new->getfield('svcnum'); - - $error=$new->check; - return $error if $error; + my ( $new, $old ) = ( shift, shift ); + my $error; - $error = $new->rep($old); + $error = $new->SUPER::replace($old); return $error if $error; - ''; #no error + ''; } =item suspend Called by the suspend method of FS::cust_pkg (see L). -=cut - -sub suspend { - ''; #no error (stub) -} - =item unsuspend Called by the unsuspend method of FS::cust_pkg (see L). -=cut - -sub unsuspend { - ''; #no error (stub) -} - - =item cancel -Just returns false (no error) for now. - Called by the cancel method of FS::cust_pkg (see L). -=cut - -sub cancel { - ''; #no error (stub) -} - =item check Checks all fields to make sure this is a valid example. If there is @@ -185,33 +134,12 @@ and repalce methods. =cut sub check { - my($self)=@_; - return "Not a svc_table record!" unless $self->table eq "svc_table"; - my($recref) = $self->hashref; - - $recref->{svcnum} =~ /^(\d+)$/ or return "Illegal svcnum"; - $recref->{svcnum} = $1; - - #get part_svc - my($svcpart); - my($svcnum)=$self->getfield('svcnum'); - if ($svcnum) { - my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}); - return "Unknown svcnum" unless $cust_svc; - $svcpart=$cust_svc->svcpart; - } else { - $svcpart=$self->getfield('svcpart'); - } - my($part_svc)=qsearchs('part_svc',{'svcpart'=>$svcpart}); - return "Unkonwn svcpart" unless $part_svc; - - #set fixed fields from part_svc - my($field); - foreach $field ( fields('svc_acct') ) { - if ( $part_svc->getfield('svc_acct__'. $field. '_flag') eq 'F' ) { - $self->setfield($field,$part_svc->getfield('svc_acct__'. $field) ); - } - } + my $self = shift; + + my $x = $self->setfixed; + return $x unless ref($x); + my $part_svc = $x; + ''; #no error } @@ -220,7 +148,7 @@ sub check { =head1 VERSION -$Id: table_template-svc.pm,v 1.3 1998-12-29 11:59:56 ivan Exp $ +$Id: table_template-svc.pm,v 1.4 1998-12-30 00:30:48 ivan Exp $ =head1 BUGS @@ -228,16 +156,16 @@ The author forgot to customize this manpage. =head1 SEE ALSO -L, L, L, L, schema.html -froom the base documentation. +L, L, L, L, +L, schema.html from the base documentation. =head1 HISTORY ivan@voicenet.com 97-jul-21 $Log: table_template-svc.pm,v $ -Revision 1.3 1998-12-29 11:59:56 ivan -mostly properly OO, some work still to be done with svc_ stuff +Revision 1.4 1998-12-30 00:30:48 ivan +svc_ stuff is more properly OO - has a common superclass FS::svc_Common Revision 1.2 1998/11/15 04:33:01 ivan updates for newest versoin