projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
preload all dbdefs
[freeside.git]
/
FS
/
FS
/
part_svc.pm
diff --git
a/FS/FS/part_svc.pm
b/FS/FS/part_svc.pm
index
18760c3
..
959a3f8
100644
(file)
--- a/
FS/FS/part_svc.pm
+++ b/
FS/FS/part_svc.pm
@@
-4,6
+4,8
@@
use strict;
use vars qw( @ISA );
use FS::Record qw( qsearch qsearchs fields dbh );
use FS::part_svc_column;
use vars qw( @ISA );
use FS::Record qw( qsearch qsearchs fields dbh );
use FS::part_svc_column;
+use FS::part_export;
+use FS::export_svc;
@ISA = qw(FS::Record);
@ISA = qw(FS::Record);
@@
-57,19
+59,25
@@
database, see L<"insert">.
sub table { 'part_svc'; }
sub table { 'part_svc'; }
-=item insert
+=item insert
EXTRA_FIELDS_ARRAYREF
Adds this service definition to the database. If there is an error, returns
the error, otherwise returns false.
Adds this service definition to the database. If there is an error, returns
the error, otherwise returns false.
+TODOC:
+
=item I<svcdb>__I<field> - Default or fixed value for I<field> in I<svcdb>.
=item I<svcdb>__I<field>_flag - defines I<svcdb>__I<field> action: null, `D' for default, or `F' for fixed
=item I<svcdb>__I<field> - Default or fixed value for I<field> in I<svcdb>.
=item I<svcdb>__I<field>_flag - defines I<svcdb>__I<field> action: null, `D' for default, or `F' for fixed
+TODOC: EXTRA_FIELDS_ARRAYREF
+
=cut
sub insert {
my $self = shift;
=cut
sub insert {
my $self = shift;
+ my @fields = ();
+ @fields = @{shift(@_)} if @_;
local $SIG{HUP} = 'IGNORE';
local $SIG{INT} = 'IGNORE';
local $SIG{HUP} = 'IGNORE';
local $SIG{INT} = 'IGNORE';
@@
-96,7
+104,7
@@
sub insert {
foreach my $field (
grep { $_ ne 'svcnum'
&& defined( $self->getfield($svcdb.'__'.$_.'_flag') )
foreach my $field (
grep { $_ ne 'svcnum'
&& defined( $self->getfield($svcdb.'__'.$_.'_flag') )
- }
fields($svcdb
)
+ }
(fields($svcdb), @fields
)
) {
my $part_svc_column = $self->part_svc_column($field);
my $previous = qsearchs('part_svc_column', {
) {
my $part_svc_column = $self->part_svc_column($field);
my $previous = qsearchs('part_svc_column', {
@@
-141,11
+149,15
@@
sub delete {
# check & make sure the svcpart isn't in cust_svc or pkg_svc (in any packages)?
}
# check & make sure the svcpart isn't in cust_svc or pkg_svc (in any packages)?
}
-=item replace OLD_RECORD
+=item replace OLD_RECORD
[ '1.3-COMPAT' [ , EXTRA_FIELDS_ARRAYREF ] ]
Replaces OLD_RECORD with this one in the database. If there is an error,
returns the error, otherwise returns false.
Replaces OLD_RECORD with this one in the database. If there is an error,
returns the error, otherwise returns false.
+TODOC: 1.3-COMPAT
+
+TODOC: EXTRA_FIELDS_ARRAYREF
+
=cut
sub replace {
=cut
sub replace {
@@
-172,11
+184,15
@@
sub replace {
}
if ( @_ && $_[0] eq '1.3-COMPAT' ) {
}
if ( @_ && $_[0] eq '1.3-COMPAT' ) {
+ shift;
+ my @fields = ();
+ @fields = @{shift(@_)} if @_;
+
my $svcdb = $new->svcdb;
foreach my $field (
grep { $_ ne 'svcnum'
&& defined( $new->getfield($svcdb.'__'.$_.'_flag') )
my $svcdb = $new->svcdb;
foreach my $field (
grep { $_ ne 'svcnum'
&& defined( $new->getfield($svcdb.'__'.$_.'_flag') )
- }
fields($svcdb
)
+ }
(fields($svcdb),@fields
)
) {
my $part_svc_column = $new->part_svc_column($field);
my $previous = qsearchs('part_svc_column', {
) {
my $part_svc_column = $new->part_svc_column($field);
my $previous = qsearchs('part_svc_column', {
@@
-231,6
+247,7
@@
sub check {
$self->ut_numbern('svcpart')
|| $self->ut_text('svc')
|| $self->ut_alpha('svcdb')
$self->ut_numbern('svcpart')
|| $self->ut_text('svc')
|| $self->ut_alpha('svcdb')
+ || $self->ut_enum('disabled', [ '', 'Y' ] )
;
return $error if $error;
;
return $error if $error;
@@
-262,9
+279,6
@@
sub check {
# }
# }
# }
# }
- $self->disabled =~ /^(Y?)$/ or return "Illegal disabled: ". $self->disabled;
- $self->disabled($1);
-
''; #no error
}
''; #no error
}
@@
-297,11
+311,21
@@
sub all_part_svc_column {
qsearch('part_svc_column', { 'svcpart' => $self->svcpart } );
}
qsearch('part_svc_column', { 'svcpart' => $self->svcpart } );
}
+=item part_export
+
+=cut
+
+sub part_export {
+ my $self = shift;
+ map { qsearchs('part_export', { 'exportnum' => $_->exportnum } ) }
+ qsearch('export_svc', { 'svcpart' => $self->svcpart } );
+}
+
=back
=head1 VERSION
=back
=head1 VERSION
-$Id: part_svc.pm,v 1.
7 2001-12-27 09:26:13
ivan Exp $
+$Id: part_svc.pm,v 1.
13 2002-04-11 22:05:31
ivan Exp $
=head1 BUGS
=head1 BUGS
@@
-310,9
+334,11
@@
Delete is unimplemented.
The list of svc_* tables is hardcoded. When svc_acct_pop is renamed, this
should be fixed.
The list of svc_* tables is hardcoded. When svc_acct_pop is renamed, this
should be fixed.
+all_part_svc_column and part_export methods should be documented
+
=head1 SEE ALSO
=head1 SEE ALSO
-L<FS::Record>, L<FS::part_svc_column, L<FS::part_pkg>, L<FS::pkg_svc>,
+L<FS::Record>, L<FS::part_svc_column
>
, L<FS::part_pkg>, L<FS::pkg_svc>,
L<FS::cust_svc>, L<FS::svc_acct>, L<FS::svc_forward>, L<FS::svc_domain>,
schema.html from the base documentation.
L<FS::cust_svc>, L<FS::svc_acct>, L<FS::svc_forward>, L<FS::svc_domain>,
schema.html from the base documentation.