X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fa2billing.pm;h=337e02f08203aac0e04986cbb97b33490c1af597;hp=f0e979f8365cf0aee3080ab6227ed3b16158490e;hb=fcce61390d750f98bd82e84d4664ae9c03202be2;hpb=7c5561b797cab20e0c579340c8b6cd6061d1a3ca diff --git a/FS/FS/part_export/a2billing.pm b/FS/FS/part_export/a2billing.pm index f0e979f83..337e02f08 100644 --- a/FS/FS/part_export/a2billing.pm +++ b/FS/FS/part_export/a2billing.pm @@ -11,6 +11,7 @@ use FS::svc_phone; use Locale::Country qw(country_code2code); use Date::Format qw(time2str); use Carp qw( cluck ); +use FS::DBI; @ISA = qw(FS::part_export); @@ -24,7 +25,7 @@ tie %options, 'Tie::IxHash', 'credit' => { label=>'Default credit limit' }, 'billtype' => {label=>'Billing type', type => 'select', - options => ['monthly', 'weekly'] + options => ['Dial Out Rate', 'Free'] }, 'debug' => { label=>'Enable debugging', type=>'checkbox' } ; @@ -55,11 +56,11 @@ END sub dbh { my $self = shift; - $self->{dbh} ||= DBI->connect( + $self->{dbh} ||= FS::DBI->connect( $self->option('datasrc'), $self->option('username'), $self->option('password') - ) or die $DBI::errstr; + ) or die $FS::DBI::errstr; $self->{dbh}->trace(1, '%%%FREESIDE_LOG%%%/a2b_exportlog.'.$self->exportnum) if $DEBUG; @@ -131,7 +132,7 @@ sub export_insert { username => $username, useralias => $username, uipass => $svc->_password, - credit => $cust_main->credit_limit || $self->option('credit') || 0, + creditlimit => $cust_main->credit_limit || $self->option('credit') || 0, tariff => $part_pkg->option('a2billing_tariff'), status => 1, lastname => $cust_main->last, # $svc->finger? @@ -144,6 +145,9 @@ sub export_insert { zipcode => $location->zip, simultaccess => $part_pkg->option('a2billing_simultaccess'), typepaid => $part_pkg->option('a2billing_type'), + email_notification => $cust_main->invoicing_list_emailonly_scalar, + notify_email => ($cust_main->invoicing_list_emailonly_scalar ? 1 : 0), + credit_notification => $cust_main->credit_limit || $self->option('credit') || 0, sip_buddy => 1, company_name => $cust_main->company, activated => 't', @@ -221,9 +225,15 @@ sub export_insert { id_cc_didgroup => $self->option('didgroup'), id_cc_country => $cc_country_id, iduser => $cc_card_id, - did => $svc->phonenum, - billingtype => ($self->option('billtype') eq 'weekly' ? 1 : 0), + did => $svc->countrycode. $svc->phonenum, + billingtype => ($self->option('billtype') eq 'Dial Out Rate' ? 2 : 3), activated => 1, + aleg_carrier_cost_min_offp => $part_pkg->option('a2billing_carrier_cost_min'), + aleg_carrier_initblock_offp => $part_pkg->option('a2billing_carrier_initblock_offp'), + aleg_carrier_increment_offp => $part_pkg->option('a2billing_carrier_increment_offp'), + aleg_retail_cost_min_offp => $part_pkg->option('a2billing_retail_cost_min_offp'), + aleg_retail_initblock_offp => $part_pkg->option('a2billing_retail_initblock_offp'), + aleg_retail_increment_offp => $part_pkg->option('a2billing_retail_increment_offp'), ); # use 'did' as the key here so that if the DID already exists, we @@ -233,12 +243,14 @@ sub export_insert { my $cc_did_id = $self->a2b_find('cc_did', 'svcnum', $svc->svcnum); - my $destination = 'SIP/' . $svc->phonenum . '@' . $svc_acct->username; + my $destination = 'SIP/user-'. $svc_acct->username. '@'. $svc->sip_server. "!". $svc->countrycode. $svc->phonenum; my %cc_did_destination = ( destination => $destination, priority => 1, id_cc_card => $cc_card_id, id_cc_did => $cc_did_id, + validated => 1, + voip_call => 1, ); # and if there's already a destination, change it to point to @@ -397,7 +409,7 @@ sub export_replace { } elsif ( $new->isa('FS::svc_phone') ) { # if the phone number has changed, need to create a new DID. - if ( $new->phonenum ne $old->phonenum ) { + if ( $new->phonenum ne $old->phonenum || $new->countrycode ne $old->countrycode ) { # deactivate/unlink/close the old DID # and create/link the new one $error = $self->export_delete($old)