X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=site_perl%2Fsvc_Common.pm;h=f53e83e48df6224f8765fbebf2177f550d85a615;hp=e516e00654668eee8a329cc111efc293db18f31f;hb=7613e14fd13aabb2a44bb26ca8640053f44930ea;hpb=4a5b07fb140e6abe0c29122cf349ff3f917e9610 diff --git a/site_perl/svc_Common.pm b/site_perl/svc_Common.pm index e516e0065..f53e83e48 100644 --- a/site_perl/svc_Common.pm +++ b/site_perl/svc_Common.pm @@ -46,6 +46,7 @@ sub insert { local $SIG{QUIT} = 'IGNORE'; local $SIG{TERM} = 'IGNORE'; local $SIG{TSTP} = 'IGNORE'; + local $SIG{PIPE} = 'IGNORE'; $error = $self->check; return $error if $error; @@ -90,6 +91,7 @@ sub delete { local $SIG{QUIT} = 'IGNORE'; local $SIG{TERM} = 'IGNORE'; local $SIG{TSTP} = 'IGNORE'; + local $SIG{PIPE} = 'IGNORE'; my $svcnum = $self->svcnum; @@ -103,7 +105,7 @@ sub delete { ''; } -=item setfixed; +=item setfixed Sets any fixed fields for this service (see L). If there is an error, returns the error, otherwise returns the FS::part_svc object (use ref() @@ -113,6 +115,25 @@ to test the return). Usually called by the check method. sub setfixed { my $self = shift; + $self->setx('F'); +} + +=item setdefault + +Sets all fields to their defaults (see L), overriding their +current values. If there is an error, returns the error, otherwise returns +the FS::part_svc object (use ref() to test the return). + +=cut + +sub setdefault { + my $self = shift; + $self->setx('D'); +} + +sub setx { + my $self = shift; + my $x = shift; my $error; @@ -133,9 +154,9 @@ sub setfixed { my $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); return "Unkonwn svcpart" unless $part_svc; - #set fixed fields from part_svc + #set default/fixed/whatever fields from part_svc foreach my $field ( fields('svc_acct') ) { - if ( $part_svc->getfield('svc_acct__'. $field. '_flag') eq 'F' ) { + if ( $part_svc->getfield('svc_acct__'. $field. '_flag') eq $x ) { $self->setfield( $field, $part_svc->getfield('svc_acct__'. $field) ); } } @@ -163,14 +184,14 @@ sub cancel { ''; } =head1 VERSION -$Id: svc_Common.pm,v 1.1 1998-12-30 00:30:45 ivan Exp $ +$Id: svc_Common.pm,v 1.3 1999-03-25 13:31:29 ivan Exp $ =head1 BUGS The setfixed method return value. The new method should set defaults from part_svc (like the check method -sets fixed values). +sets fixed values)? =head1 SEE ALSO @@ -180,7 +201,13 @@ from the base documentation. =head1 HISTORY $Log: svc_Common.pm,v $ -Revision 1.1 1998-12-30 00:30:45 ivan +Revision 1.3 1999-03-25 13:31:29 ivan +added setdefault method (generalized setfixed method to setx method) + +Revision 1.2 1999/01/25 12:26:14 ivan +yet more mod_perl stuff + +Revision 1.1 1998/12/30 00:30:45 ivan svc_ stuff is more properly OO - has a common superclass FS::svc_Common