deal with upgrading 3.x payby events better, RT#32043
authorIvan Kohler <ivan@freeside.biz>
Fri, 12 Feb 2016 18:30:00 +0000 (10:30 -0800)
committerIvan Kohler <ivan@freeside.biz>
Fri, 12 Feb 2016 18:30:00 +0000 (10:30 -0800)
FS/FS/part_event_condition.pm

index 200049d..e855071 100644 (file)
@@ -363,17 +363,12 @@ sub _upgrade_data { #class method
 
     my $payby = $part_event_condition->option('payby');
 
-    if ( scalar( keys %$payby ) == 1 ) {
+    if (    scalar( keys %$payby ) == 1 && ( $payby->{CARD} || $payby->{CHEK} )
+         or scalar( keys %$payby ) == 2 && ( $payby->{CARD} && $payby->{CHEK} )
+       )
+    {
 
-      if ( $payby->{'CARD'} ) {
-
-        $part_event_condition->conditionname('has_cust_payby_auto');
-
-      } elsif ( $payby->{'CHEK'} ) {
-
-        $part_event_condition->conditionname('has_cust_payby_auto');
-
-      }
+      $part_event_condition->conditionname('has_cust_payby_auto');
 
     } elsif ( $payby->{'BILL'} && ! $payby->{'CARD'} && ! $payby->{'CHEK'} ) {