X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction%2Fcust_bill_fsinc_print.pm;h=e1e25bf2688e9f58730df17b0b6bb2ec4e3ebebf;hp=02e1e5a40a4e5e187183b74fd948eb9d572da3ec;hb=d8036c151e9706250765dc52eddd1e587df8f710;hpb=59669128b6409e2556aa26d659c5cc22a1c7b945 diff --git a/FS/FS/part_event/Action/cust_bill_fsinc_print.pm b/FS/FS/part_event/Action/cust_bill_fsinc_print.pm index 02e1e5a40..e1e25bf26 100644 --- a/FS/FS/part_event/Action/cust_bill_fsinc_print.pm +++ b/FS/FS/part_event/Action/cust_bill_fsinc_print.pm @@ -2,11 +2,6 @@ package FS::part_event::Action::cust_bill_fsinc_print; use strict; use base qw( FS::part_event::Action ); -use LWP::UserAgent; -use HTTP::Request::Common qw( POST ); -use Cpanel::JSON::XS; -use CAM::PDF; -use FS::Conf; sub description { 'Send invoice to Freeside Inc. for printing and mailing'; } @@ -29,75 +24,9 @@ sub do_action { $cust_bill->set('mode' => $self->option('modenum')); - my $url = 'https://ws.freeside.biz/print'; - - my $cust_main = $cust_bill->cust_main; - my $bill_location = $cust_main->bill_location; - - die 'Extra charges for international mailing; contact support@freeside.biz to enable' - if $bill_location->country ne 'US'; - - my $conf = new FS::Conf; - - my @company_address = $conf->config('company_address', $agentnum); - my ( $company_address1, $company_address2, $company_city, $company_state, $company_zip ); - if ( $company_address[2] =~ /^\s*(\S.*\S)\s*[\s,](\w\w),?\s*(\d{5}(-\d{4})?)\s*$/ ) { - $company_address1 = $company_address[0]; - $company_address2 = $company_address[1]; - $company_city = $1; - $company_state = $2; - $company_zip = $3; - } elsif ( $company_address[1] =~ /^\s*(\S.*\S)\s*[\s,](\w\w),?\s*(\d{5}(-\d{4})?)\s*$/ ) { - $company_address1 = $company_address[0]; - $company_address2 = ''; - $company_city = $1; - $company_state = $2; - $company_zip = $3; - } else { - die 'Unparsable company_address; contact support@freeside.biz'; - } - - my $file = $cust_bill->print_pdf; - my $pages = CAM::PDF->new($file)->numPages; - - my $ua = LWP::UserAgent->new( 'ssl_opts' => { 'verify_hostname'=>0 }); - my $response = $ua->request( POST $url, [ - 'support-key' => scalar($conf->config('support-key')), - 'file' => $file, - 'pages' => $pages, - - #from: - 'company_name' => scalar( $conf->config('company_name', $agentnum) ), - 'company_address1' => $company_address1, - 'company_address2' => $company_address2, - 'company_city' => $company_city - 'company_state' => $company_state, - 'company_zip' => $company_zip, - 'company_country' => 'US', - 'company_phonenum' => scalar($conf->config('company_phonenum', $agentnum)), - 'company_email' => scalar($conf->config('invoice_from', $agentnum)), - - #to: - 'name' => $cust_main->invoice_attn - || $cust_main->contact_firstlast, - 'address1' => $bill_location->address1, - 'address2' => $bill_location->address2, - 'city' => $bill_location->city, - 'state' => $bill_location->state, - 'zip' => $bill_location->zip, - 'country' => $bill_location->country, - ]); - - die "Print connection error: ". $response->message - unless $response->is_success; - - local $@; - my $content = eval { decode_json($response->content) }; - die "Print JSON error : $@\n" if $@; - - die $content->{error}."\n" - if $content->{error}; + my $letter_id = $cust_bill->postal_mail_fsinc; + #TODO: store this so we can query for a status later } 1;