CRM-16189, fixed code to check if financial type id is present in $params
authorPradeep Nayak <pradpnayak@gmail.com>
Wed, 20 Jul 2016 12:00:18 +0000 (17:30 +0530)
committerPradeep Nayak <pradpnayak@gmail.com>
Wed, 27 Jul 2016 14:33:17 +0000 (20:03 +0530)
----------------------------------------
* CRM-16189: Improve support for Accrual Method bookkeeping
  https://issues.civicrm.org/jira/browse/CRM-16189

CRM/Event/BAO/Event.php

index a68f2305e4d0ad6e90d6908eaae0543e0dbce75f..539eb64d416d95ac783401f6658b277daa46c623 100644 (file)
@@ -96,13 +96,12 @@ class CRM_Event_BAO_Event extends CRM_Event_DAO_Event {
     }
 
     // CRM-16189
-    $isError = CRM_Financial_BAO_FinancialAccount::validateFinancialType(
-      CRM_Utils_Array::value('financial_type_id', $params)
-    );
-    if ($isError) {
-      throw new CRM_Core_Exception(ts('Deferred revenue account is not configured for selected financial type. Please have an administrator set up the deferred revenue account at Administer > CiviContribute > Financial Accounts, then configure it for financial types at Administer > CiviContribution > Financial Types, Accounts'));
+    if (!empty($params['financial_type_id'])) {
+      $isError = CRM_Financial_BAO_FinancialAccount::validateFinancialType($params['financial_type_id']);
+      if ($isError) {
+        throw new CRM_Core_Exception(ts('Deferred revenue account is not configured for selected financial type. Please have an administrator set up the deferred revenue account at Administer > CiviContribute > Financial Accounts, then configure it for financial types at Administer > CiviContribution > Financial Types, Accounts'));
+      }
     }
-
     $event = new CRM_Event_DAO_Event();
 
     $event->copyValues($params);