optimize declined payment event condition, RT#81305
authorIvan Kohler <ivan@freeside.biz>
Thu, 13 Sep 2018 22:46:49 +0000 (15:46 -0700)
committerIvan Kohler <ivan@freeside.biz>
Thu, 13 Sep 2018 22:46:49 +0000 (15:46 -0700)
FS/FS/Schema.pm
FS/FS/part_event/Condition/cust_pay_batch_declined.pm

index 59a18c5..2a7a9d1 100644 (file)
@@ -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',
index b3a8d70..8efb278 100644 (file)
@@ -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;