CRM-16285: recurring_interval not checked in Backoffice form New CreditCard Payment
authorWeb Access <rohan.katkar@webaccessglobal.com>
Fri, 22 May 2015 13:04:56 +0000 (18:34 +0530)
committerWeb Access <rohan.katkar@webaccessglobal.com>
Fri, 22 May 2015 13:04:56 +0000 (18:34 +0530)
CRM/Contribute/BAO/ContributionRecur.php
CRM/Contribute/Form/Contribution.php
CRM/Contribute/Form/Contribution/Main.php

index be0fbc9c3e3f29b380daa4cebe84b11b21a90fe5..8c531f3caf83d7ff2ad3d93553091d058e27960a 100644 (file)
@@ -457,4 +457,15 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
     }
   }
 
+  //CRM-16285 - Function to handle validation errors on form, for recurring contribution field.
+  public static function validateRecurContribution($fields, $files, $self, &$errors) {
+    if (!empty($fields['is_recur'])) {
+      if ($fields['frequency_interval'] <= 0) {
+        $errors['frequency_interval'] = ts('Please enter a number for how often you want to make this recurring contribution (EXAMPLE: Every 3 months).');
+      }
+      if ($fields['frequency_unit'] == '0') {
+        $errors['frequency_unit'] = ts('Please select a period (e.g. months, years ...) for how often you want to make this recurring contribution (EXAMPLE: Every 3 MONTHS).');
+      }
+    }
+  }
 }
index e77e62ff4d932a2ca899d7dc8f2c79f186867492..537ab02d64de027be0e1ac46061ec64108902f34 100644 (file)
@@ -954,6 +954,10 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
         $errors['total_amount'] = ts('The sum of fee amount and net amount must be equal to total amount');
       }
     }
+
+    //CRM-16285 - Function to handle validation errors on form, for recurring contribution field.
+    CRM_Contribute_BAO_ContributionRecur::validateRecurContribution($fields, $files, $self, $errors);
+
     // Form rule for status http://wiki.civicrm.org/confluence/display/CRM/CiviAccounts+4.3+Data+Flow
     if ($self->_id && $self->_values['contribution_status_id'] != $fields['contribution_status_id']) {
       CRM_Contribute_BAO_Contribution::checkStatusValidation($self->_values, $fields, $errors);
index 9c103e6c96aad411a83989773d8fcbee0d414549..5f633b3e92fc6c56ec67ffe81cc6c9c29a79210f 100644 (file)
@@ -976,14 +976,8 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
       }
     }
 
-    if (!empty($fields['is_recur'])) {
-      if ($fields['frequency_interval'] <= 0) {
-        $errors['frequency_interval'] = ts('Please enter a number for how often you want to make this recurring contribution (EXAMPLE: Every 3 months).');
-      }
-      if ($fields['frequency_unit'] == '0') {
-        $errors['frequency_unit'] = ts('Please select a period (e.g. months, years ...) for how often you want to make this recurring contribution (EXAMPLE: Every 3 MONTHS).');
-      }
-    }
+    //CRM-16285 - Function to handle validation errors on form, for recurring contribution field.
+    CRM_Contribute_BAO_ContributionRecur::validateRecurContribution($fields, $files, $self, $errors);
 
     if (!empty($fields['is_recur']) &&
       CRM_Utils_Array::value('payment_processor', $fields) == 0