From: Ivan Kohler Date: Thu, 13 Sep 2018 22:46:49 +0000 (-0700) Subject: optimize declined payment event condition, RT#81305 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=eaa81907845ce3f316401bce723075b5fe3f735c optimize declined payment event condition, RT#81305 --- diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 59a18c506..2a7a9d177 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -2750,7 +2750,7 @@ sub tables_hashref { ], 'primary_key' => 'paybatchnum', 'unique' => [], - 'index' => [ ['batchnum'], ['invnum'], ['custnum'] ], + 'index' => [ ['batchnum'], ['invnum'], ['custnum'],['status'] ], 'foreign_keys' => [ { columns => [ 'batchnum' ], table => 'pay_batch', diff --git a/FS/FS/part_event/Condition/cust_pay_batch_declined.pm b/FS/FS/part_event/Condition/cust_pay_batch_declined.pm index b3a8d705f..8efb27854 100644 --- a/FS/FS/part_event/Condition/cust_pay_batch_declined.pm +++ b/FS/FS/part_event/Condition/cust_pay_batch_declined.pm @@ -16,36 +16,16 @@ sub eventtable_hashref { }; } -#sub option_fields { -# ( -# 'field' => 'description', -# -# 'another_field' => { 'label'=>'Amount', 'type'=>'money', }, -# -# 'third_field' => { 'label' => 'Types', -# 'type' => 'checkbox-multiple', -# 'options' => [ 'h', 's' ], -# 'option_labels' => { 'h' => 'Happy', -# 's' => 'Sad', -# }, -# ); -#} - sub condition { my($self, $cust_pay_batch, %opt) = @_; - #my $cust_main = $self->cust_main($object); - #my $value_of_field = $self->option('field'); - #my $time = $opt{'time'}; #use this instead of time or $^T - $cust_pay_batch->status =~ /Declined/i; - } -#sub condition_sql { -# my( $class, $table ) = @_; -# #... -# 'true'; -#} +sub condition_sql { + my( $class, $table ) = @_; + + "(cust_pay_batch.status IS NOT NULL AND cust_pay_batch.status = 'Declined')"; +} 1;