class CRM_Financial_BAO_FinancialAccount extends CRM_Financial_DAO_FinancialAccount {
/**
- * static holder for the default LT
+ * Static holder for the default LT
*/
static $_defaultContributionType = NULL;
/**
- * class constructor
+ * Class constructor
*/
function __construct() {
parent::__construct();
}
/**
- * Takes a bunch of params that are needed to match certain criteria and
- * retrieves the relevant objects. Typically the valid params are only
- * contact_id. We'll tweak this function to be more full featured over a period
- * of time. This is the inverse function of create. It also stores all the retrieved
- * values in the default array
+ * Fetch object based on array of properties
*
* @param array $params (reference ) an assoc array of name/value pairs
* @param array $defaults (reference ) an assoc array to hold the flattened values
*
- * @return object CRM_Contribute_BAO_FinancialAccount object
+ * @return CRM_Contribute_BAO_FinancialAccount object
* @access public
* @static
*/
}
/**
- * update the is_active flag in the db
+ * Update the is_active flag in the db
*
* @param int $id id of the database record
* @param boolean $is_active value we want to set the is_active field
}
/**
- * function to add the financial types
+ * Add the financial types
*
* @param array $params reference array contains the values submitted by the form
* @param array $ids reference array contains the id
* @return object
*/
static function add(&$params, &$ids = array()) {
- $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
- $params['is_deductible'] = CRM_Utils_Array::value('is_deductible', $params, FALSE);
- $params['is_tax'] = CRM_Utils_Array::value('is_tax', $params, FALSE);
- $params['is_header_account'] = CRM_Utils_Array::value('is_header_account', $params, FALSE);
- $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE);
+ if(empty($params['id'])) {
+ $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
+ $params['is_deductible'] = CRM_Utils_Array::value('is_deductible', $params, FALSE);
+ $params['is_tax'] = CRM_Utils_Array::value('is_tax', $params, FALSE);
+ $params['is_header_account'] = CRM_Utils_Array::value('is_header_account', $params, FALSE);
+ $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE);
+ }
if (!empty($params['is_default'])) {
$query = 'UPDATE civicrm_financial_account SET is_default = 0 WHERE financial_account_type_id = %1';
$queryParams = array(1 => array($params['financial_account_type_id'], 'Integer'));
// action is taken depending upon the mode
$financialAccount = new CRM_Financial_DAO_FinancialAccount();
$financialAccount->copyValues($params);
- $financialAccount->id = CRM_Utils_Array::value('contributionType', $ids);
+ if (!empty($ids['contributionType'])) {
+ $financialAccount->id = CRM_Utils_Array::value('contributionType', $ids);
+ }
$financialAccount->save();
return $financialAccount;
}
/**
- * Function to delete financial Types
+ * Delete financial Types
*
* @param int $financialAccountId
* @static
}
/**
- * get accounting code for a financial type with account relation Income Account is
+ * Get accounting code for a financial type with account relation Income Account is
*
* @financialTypeId int Financial Type Id
*
+ * @param int $financialTypeId
+ *
* @return accounting code
* @static
*/
}
/**
- * get AR account
+ * Get AR account
*
* @param $financialAccountId financial account id
*
* @param $financialAccountTypeId financial account type id
*
- * @param $accountTypeCode account type code
+ * @param \account|string $accountTypeCode account type code
*
* @return integer count
* @static