diff options
author | Ivan Kohler <ivan@freeside.biz> | 2018-09-13 15:46:57 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2018-09-13 15:46:57 -0700 |
commit | 189fedab21efcf42f18d93b8f73033bb9249c6cd (patch) | |
tree | 65a68ca180a4bea7a0516a95df77ff86c4af1290 | |
parent | f25731325e3f80699074032165cd1bd0a5d6ccba (diff) |
optimize declined payment event condition, RT#81305
-rw-r--r-- | FS/FS/Schema.pm | 2 | ||||
-rw-r--r-- | FS/FS/part_event/Condition/cust_pay_batch_declined.pm | 30 |
2 files changed, 6 insertions, 26 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 5a604bc..08eae6a 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -2719,7 +2719,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 b3a8d70..8efb278 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; |