Creates a new service. To add the refund to the database, see L<"insert">.
Services are normally created by creating FS::svc_ objects (see
-L<FS::svc_acct>, L<FS::svc_domain>, and L<FS::svc_acct_sm>, among others).
+L<FS::svc_acct>, L<FS::svc_domain>, and L<FS::svc_forward>, among others).
=cut
my $self = shift;
my $part_svc = qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } );
my $svcdb = $part_svc->svcdb;
- my $svc_x = qsearchs( $svcdb, { 'svcnum' => $self->svcnum } );
+ my $svc_x = qsearchs( $svcdb, { 'svcnum' => $self->svcnum } )
+ or die "can't find $svcdb.svcnum ". $self->svcnum;
my $svc = $part_svc->svc;
my $tag;
if ( $svcdb eq 'svc_acct' ) {
- $tag = $svc_x->getfield('username');
+ $tag = $svc_x->email;
} elsif ( $svcdb eq 'svc_acct_sm' ) {
my $domuser = $svc_x->domuser eq '*' ? '(anything)' : $svc_x->domuser;
my $svc_domain = qsearchs ( 'svc_domain', { 'svcnum' => $svc_x->domsvc } );
my $domain = $svc_domain->domain;
$tag = "$domuser\@$domain";
} elsif ( $svcdb eq 'svc_forward' ) {
- my $svc_acct = qsearchs ( 'svc_acct', { 'svcnum' => $svc_x->srcsvc } );
- $tag = $svc_acct->email . '->';
- if ($svc_x->dstsvc) {
- $svc_acct = qsearchs ( 'svc_acct', { 'svcnum' => $svc_x->dstsvc } );
+ my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_x->srcsvc } );
+ $tag = $svc_acct->email. '->';
+ if ( $svc_x->dstsvc ) {
+ $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_x->dstsvc } );
$tag .= $svc_acct->email;
- }else{
+ } else {
$tag .= $svc_x->dst;
}
} elsif ( $svcdb eq 'svc_domain' ) {
=head1 VERSION
-$Id: cust_svc.pm,v 1.2 2001-08-19 15:53:34 jeff Exp $
+$Id: cust_svc.pm,v 1.5 2001-09-03 22:07:38 ivan Exp $
=head1 BUGS