From: Ivan Kohler Date: Sat, 4 Jun 2016 00:23:02 +0000 (-0700) Subject: Merge branch 'master' of git.freeside.biz:/home/git/freeside X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=d22baa4e71bfa9e153c1fe1152ff4c748f1d935c;hp=1efab29ccbb2aa15bcb94f1cb46069f32dcabf9f Merge branch 'master' of git.freeside.biz:/home/git/freeside --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index afecb83f5..cb5181d89 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1991,7 +1991,9 @@ sub cust_payby { 'hashref' => { 'custnum' => $self->custnum }, 'order_by' => "ORDER BY payby IN ('CARD','CHEK') DESC, weight ASC", }; - $search->{'extra_sql'} = ' AND payby IN ( ' . join(',', map { dbh->quote($_) } @payby) . ' ) ' + $search->{'extra_sql'} = ' AND payby IN ( '. + join(',', map dbh->quote($_), @payby). + ' ) ' if @payby; qsearch($search); diff --git a/FS/FS/part_event/Condition/has_cust_payby_auto.pm b/FS/FS/part_event/Condition/has_cust_payby_auto.pm index 9f914292f..42f6d3582 100644 --- a/FS/FS/part_event/Condition/has_cust_payby_auto.pm +++ b/FS/FS/part_event/Condition/has_cust_payby_auto.pm @@ -30,11 +30,24 @@ sub condition { my $cust_main = $self->cust_main($object); + #handle multiple (HASH) type options migrated from a v3 payby.pm condition + # (and maybe we should be a select-multiple or checkbox-multiple too?) + my @payby = (); + my $payby = $self->option('payby'); + if ( ref($payby) ) { + @payby = keys %$payby; + } elsif ( $payby ) { + @payby = ( $payby ); + } + scalar( qsearch({ 'table' => 'cust_payby', 'hashref' => { 'custnum' => $cust_main->custnum, - 'payby' => $self->option('payby') + #'payby' => $self->option('payby') }, + 'extra_sql' => 'AND payby IN ( '. + join(',', map dbh->quote($_), @payby). + ' ) ', 'order_by' => 'LIMIT 1', }) );