X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=a8a9ae43b7d293e09c86e3a0f62bbb07fa71034c;hb=3dc6bff7a0a4ceaacd18a7ce6b50cd2b8a2ce498;hp=7ac8c6214cc40029e10006c48db1f126758d16ab;hpb=59c5af8de6c599ca58fef9db19c89f483e5ed897;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 7ac8c6214..a8a9ae43b 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -2433,6 +2433,8 @@ Currently available options are: =item payby - allows for one time override of normal customer billing method +=back + =cut sub collect { @@ -5787,13 +5789,14 @@ sub _agent_plandata { my $part_event_option = qsearchs({ + 'select' => 'part_event_option.*', 'table' => 'part_event_option', 'addl_from' => q{ LEFT JOIN part_event USING ( eventpart ) LEFT JOIN part_event_option AS peo_agentnum ON ( part_event.eventpart = peo_agentnum.eventpart AND peo_agentnum.optionname = 'agentnum' - AND peo_agentnum.optionvalue ~ '(^|,)}. $agentnum. q{agentnum(,|$)' + AND peo_agentnum.optionvalue ~ '(^|,)}. $agentnum. q{(,|$)' ) LEFT JOIN part_event_option AS peo_cust_bill_age ON ( part_event.eventpart = peo_cust_bill_age.eventpart @@ -5801,28 +5804,30 @@ sub _agent_plandata { ) }, #'hashref' => { 'optionname' => $option }, - 'hashref' => { 'part_event_option.optionname' => $option }, - 'extra_sql' => " AND event = 'cust_bill_send_agent' ". - " AND disabled != 'Y' ". - " AND peo_agentnum.optionname = 'agentnum' ". - " AND agentnum IS NULL OR agentnum = $agentnum ". - " ORDER BY - CASE WHEN peo_cust_bill_age.optionname != 'cust_bill_age' - THEN -1 - ELSE EXTRACT( EPOCH FROM - REPLACE( peo_cust_bill_age.optionvalue, - 'm', - 'mon' - )::interval - ) - END - , part_event.weight". - " LIMIT 1" + #'hashref' => { 'part_event_option.optionname' => $option }, + 'extra_sql' => + " WHERE part_event_option.optionname = ". dbh->quote($option). + " AND action = 'cust_bill_send_agent' ". + " AND ( disabled IS NULL OR disabled != 'Y' ) ". + " AND peo_agentnum.optionname = 'agentnum' ". + " AND agentnum IS NULL OR agentnum = $agentnum ". + " ORDER BY + CASE WHEN peo_cust_bill_age.optionname != 'cust_bill_age' + THEN -1 + ELSE EXTRACT( EPOCH FROM + REPLACE( peo_cust_bill_age.optionvalue, + 'm', + 'mon' + )::interval + ) + END + , part_event.weight". + " LIMIT 1" }); unless ( $part_event_option ) { return $self->agent->invoice_template || '' - if $option eq '$agent_templatename'; + if $option eq 'agent_templatename'; return ''; }