X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_event.pm;h=f299f937739c16bd0d3715bdb5bb49193adfbc14;hb=292ef074d01bb925e9a466ed771bf2ac418bb44f;hp=30dea6e28418bb100945903e43dc918a52a3ba02;hpb=fb4ab1073f0d15d660c6cdc4e07afebf68ef3924;p=freeside.git diff --git a/FS/FS/cust_event.pm b/FS/FS/cust_event.pm index 30dea6e28..f299f9377 100644 --- a/FS/FS/cust_event.pm +++ b/FS/FS/cust_event.pm @@ -1,11 +1,10 @@ package FS::cust_event; +use base qw( FS::cust_main_Mixin FS::Record ); use strict; -use base qw( FS::cust_main_Mixin FS::Record ); -use vars qw( @ISA $DEBUG $me ); +use vars qw( $DEBUG $me ); use Carp qw( croak confess ); use FS::Record qw( qsearch qsearchs dbdef ); -use FS::part_event; #for cust_X use FS::cust_main; use FS::cust_pkg; @@ -74,7 +73,7 @@ points to. You can ask the object for a copy with the I method. sub table { 'cust_event'; } -sub cust_linked { $_[0]->cust_main_custnum; } +sub cust_linked { $_[0]->cust_main_custnum || $_[0]->custnum } sub cust_unlinked_msg { my $self = shift; "WARNING: can't find cust_main.custnum ". $self->custnum; @@ -151,13 +150,6 @@ sub check { Returns the event definition (see L) for this completed event. -=cut - -sub part_event { - my $self = shift; - qsearchs( 'part_event', { 'eventpart' => $self->eventpart } ); -} - =item cust_X Returns the customer, package, invoice or batched payment (see @@ -345,10 +337,6 @@ specified in HASHREF. Valid parameters are =item ending -=item payby - -=item - =back =cut @@ -442,13 +430,9 @@ sub process_refax { process_re_X('fax', @_); } -use Storable qw(thaw); use Data::Dumper; -use MIME::Base64; sub process_re_X { - my( $method, $job ) = ( shift, shift ); - - my $param = thaw(decode_base64(shift)); + my( $method, $job, $param ) = @_; warn Dumper($param) if $DEBUG; re_X( @@ -487,9 +471,16 @@ sub re_X { my $cust_X = $cust_event->cust_X; # cust_bill next unless $cust_X->can($method); - $cust_X->$method( $cust_event->part_event->templatename - || $cust_X->agent_template - ); + my $part_event = $cust_event->part_event; + my $template = $part_event->templatename + || $cust_X->agent_template; + my $modenum = $part_event->option('modenum') || ''; + my $invoice_from = $part_event->option('agent_invoice_from') || ''; + $cust_X->set('mode' => $modenum); + $cust_X->$method( { template => $template, + modenum => $modenum, + from => $invoice_from, + } ); if ( $job ) { #progressbar foo $num++;