X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fthirdlane.pm;h=60c099748d67a1bf35b7c2b21a08d53c425481a6;hb=9de91f76024959b359e07c20c08497118e1cb895;hp=0537e784c0fba0edbc770250f6db65887881ec8c;hpb=0bce5a5f0333e72f746af9339484707d2b9d3f95;p=freeside.git diff --git a/FS/FS/part_export/thirdlane.pm b/FS/FS/part_export/thirdlane.pm index 0537e784c..60c099748 100644 --- a/FS/FS/part_export/thirdlane.pm +++ b/FS/FS/part_export/thirdlane.pm @@ -18,6 +18,7 @@ tie my %options, 'Tie::IxHash', }, 'port' => { label => 'Port number if not 80 or 443', }, 'prototype_tenant' => { label => 'Prototype tenant name', }, + 'omit_countrycode' => { label => 'Omit country code', type => 'checkbox' }, 'debug' => { label => 'Checkbox label', type => 'checkbox' }, # 'select_option' => { label => 'Select option description', # type => 'select', options=>[qw(chocolate vanilla)], @@ -74,7 +75,7 @@ sub _export_insert { my $result = $self->_thirdlane_command( 'asterisk::rpc_did_create', - $svc_x->countrycode. $svc_x->phonenum, + $self->_thirdlane_did($svc_x) ); #use Data::Dumper; @@ -85,7 +86,7 @@ sub _export_insert { $result = $self->_thirdlane_command( 'asterisk::rpc_did_assign', - $svc_x->countrycode. $svc_x->phonenum, + $self->_thirdlane_did($svc_x), $svc_x->pbx_title, ); @@ -156,7 +157,7 @@ sub _export_replace { if ( $old->pbxsvc ) { my $result = $self->_thirdlane_command( 'asterisk::rpc_did_unassign', - $new->countrycode. $new->phonenum, + $self->_thirdlane_did($old), ); $result eq '0' or return 'Thirdlane API failure (rpc_did_unassign)'; } @@ -164,7 +165,7 @@ sub _export_replace { if ( $new->pbxsvc ) { my $result = $self->_thirdlane_command( 'asterisk::rpc_did_assign', - $new->countrycode. $new->phonenum, + $self->_thirdlane_did($new), $new->pbx_title, ); $result eq '0' or return 'Thirdlane API failure (rpc_did_assign)'; @@ -189,7 +190,7 @@ sub _export_replace { ''; #we don't care then } else { - die "guru meditation #11: $svc_x is not FS::svc_pbx, FS::svc_phone or FS::svc_acct"; + die "guru meditation #11: $new is not FS::svc_pbx, FS::svc_phone or FS::svc_acct"; } } @@ -219,14 +220,14 @@ sub _export_delete { if ( $svc_x->pbxsvc ) { my $result = $self->_thirdlane_command( 'asterisk::rpc_did_unassign', - $svc_x->countrycode. $svc_x->phonenum, + $self->_thirdlane_did($svc_x), ); $result eq '0' or return 'Thirdlane API failure (rpc_did_unassign)'; } my $result = $self->_thirdlane_command( 'asterisk::rpc_did_delete', - $svc_x->countrycode. $svc_x->phonenum, + $self->_thirdlane_did($svc_x), ); $result eq '0' ? '' : 'Thirdlane API failure (rpc_did_delete)'; @@ -276,6 +277,15 @@ sub _thirdlane_command { } +sub _thirdlane_did { + my($self, $svc_phone) = @_; + if ( $self->option('omit_countrycode') ) { + $svc_phone->phonenum; + } else { + $svc_phone->countrycode. $svc_phone->phonenum; + } +} + #my( $self, $svc_something ) = (shift, shift); #$err_or_queue = $self->thirdlane_queue( $svc_something->svcnum, # 'delete', $svc_something->username );