package FS::part_export::internal_diddb;
use vars qw(@ISA %info);
-#use Tie::IxHash;
+use Tie::IxHash;
use FS::Record qw(qsearch qsearchs);
use FS::part_export;
use FS::phone_avail;
@ISA = qw(FS::part_export);
+tie my %options, 'Tie::IxHash',
+ 'countrycode' => { label => 'Country code', 'default' => '1', },
+;
+
%info = (
- 'svc' => 'svc_phone',
- 'desc' => 'Provision phone numbers from the internal DID database',
- 'notes' => 'After adding the export, DIDs may be imported under Tools -> Importing -> Import phone numbers (DIDs)',
+ 'svc' => 'svc_phone',
+ 'desc' => 'Provision phone numbers from the internal DID database',
+ 'notes' => 'After adding the export, DIDs may be imported under Tools -> Importing -> Import phone numbers (DIDs)',
+ 'options' => \%options,
);
sub rebless { shift; }
my $self = shift;
my %opt = ref($_[0]) ? %{$_[0]} : @_;
- my %hash = ( 'countrycode' => 1, #XXX make an option or something
+ my %hash = ( 'countrycode' => ( $self->option('countrycode') || '1' ),
'exportnum' => $self->exportnum,
'svcnum' => '',
);
my( $npa, $nxx, $station ) = ($1, $2, $3);
my $phone_avail = qsearchs('phone_avail', {
- 'countrycode' => 1, #XXX make an option or something
+ 'countrycode' => ( $self->option('countrycode') || '1' ),
'exportnum' => $self->exportnum,
'svcnum' => '',
'npa' => $npa,
sub _export_delete { #unlink phone_avail from svcnum
my( $self, $svc_phone ) = (shift, shift);
- $svc_phone =~ /^(\d{3})(\d{3})(\d+)$/
+ $svc_phone->phonenum =~ /^(\d{3})(\d{3})(\d+)$/
or return "unparsable phone number: ". $svc_phone->phonenum;
my( $npa, $nxx, $station ) = ($1, $2, $3);
my $phone_avail = qsearchs('phone_avail', {
- 'countrycode' => 1, #XXX make an option or something
+ 'countrycode' => ( $self->option('countrycode') || '1'),
'exportnum' => $self->exportnum,
'svcnum' => $svc_phone->svcnum,
#these too?
'station' => $station,
});
- return "can't find number to return to availability: ". $svc_phone->phonenum
- unless $phone_avail;
+ unless ( $phone_avail ) {
+ warn "WARNING: can't find number to return to availability: ".
+ $svc_phone->phonenum;
+ return;
+ }
$phone_avail->svcnum('');