freeside/FS/FS cust_bill.pm,1.93,1.94
ivan
ivan at pouncequick.420.am
Thu Jun 3 02:56:01 PDT 2004
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory pouncequick:/tmp/cvs-serv26630
Modified Files:
cust_bill.pm
Log Message:
fix agent-specific template on "invoice view" screen and "re-email/re-print" links, also fix agent-specific From: address on "re-email" link
Index: cust_bill.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_bill.pm,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- cust_bill.pm 3 Jun 2004 07:00:01 -0000 1.93
+++ cust_bill.pm 3 Jun 2004 09:55:58 -0000 1.94
@@ -335,7 +335,10 @@
my $self = shift;
my $template = scalar(@_) ? shift : '';
return 'N/A' if scalar(@_) && $_[0] && $self->cust_main->agentnum != shift;
- my $invoice_from = scalar(@_) ? shift : $conf->config('invoice_from');
+ my $invoice_from =
+ scalar(@_)
+ ? shift
+ : ( $self->_agent_invoice_from || $conf->config('invoice_from') );
my @print_text = $self->print_text('', $template);
my @invoicing_list = $self->cust_main->invoicing_list;
@@ -668,13 +671,26 @@
sub _agent_template {
my $self = shift;
+ $self->_agent_plandata('agent_templatename');
+}
+
+sub _agent_invoice_from {
+ my $self = shift;
+ $self->_agent_plandata('agent_invoice_from');
+}
+
+sub _agent_plandata {
+ my( $self, $option ) = @_;
my $cust_bill_event = qsearchs( 'part_bill_event',
{
'payby' => $self->cust_main->payby,
'plan' => 'send_agent',
- 'eventcode' => { 'op' => 'LIKE',
- 'value' => '_%, '. $self->cust_main->agentnum. ');' },
+ 'plandata' => { 'op' => '~',
+ 'value' => "(^|\n)agentnum ".
+ $self->cust_main->agentnum.
+ "(\n|\$)",
+ },
},
'',
'ORDER BY seconds LIMIT 1'
@@ -682,10 +698,10 @@
return '' unless $cust_bill_event;
- if ( $cust_bill_event->eventcode =~ /\(\s*'(.*)'\s*,\s*(\d+)\s*\)\;$/ ) {
+ if ( $cust_bill_event->plandata =~ /^$option (.*)$/m ) {
return $1;
} else {
- warn "can't parse eventcode for agent-specific invoice template";
+ warn "can't parse plandata for $1";
return '';
}
More information about the freeside-commits
mailing list