/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.4 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013 |
+ | Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* $Id$
*
*/
-
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() {
+ public 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
+ * @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
- * @access public
+ * @return CRM_Financial_BAO_FinancialAccount
* @static
*/
- static function retrieve(&$params, &$defaults) {
+ public static function retrieve(&$params, &$defaults) {
$financialAccount = new CRM_Financial_DAO_FinancialAccount();
$financialAccount->copyValues($params);
if ($financialAccount->find(TRUE)) {
}
/**
- * 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
+ * @param int $id
+ * Id of the database record.
+ * @param bool $is_active
+ * Value we want to set the is_active field.
*
- * @return Object DAO object on sucess, null otherwise
+ * @return CRM_Core_DAO|null
+ * DAO object on success, null otherwise
* @static
*/
- static function setIsActive($id, $is_active) {
+ public static function setIsActive($id, $is_active) {
return CRM_Core_DAO::setFieldValue('CRM_Financial_DAO_FinancialAccount', $id, 'is_active', $is_active);
}
/**
- * 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
+ * @param array $params
+ * Reference array contains the values submitted by the form.
+ * @param array $ids
+ * Reference array contains the id.
*
- * @access public
* @static
- * @return object
+ * @return CRM_Financial_DAO_FinancialAccount
*/
- 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 (CRM_Utils_Array::value('is_default', $params)) {
+ public static function add(&$params, &$ids = array()) {
+ 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'));
CRM_Core_DAO::executeQuery($query, $queryParams);
// 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
*/
- static function del($financialAccountId) {
+ public static function del($financialAccountId) {
//checking if financial type is present
$check = FALSE;
$dependancy = array(
array('Core', 'FinancialTrxn', 'to_financial_account_id'),
array('Financial', 'FinancialTypeAccount', 'financial_account_id'),
- );
+ );
foreach ($dependancy as $name) {
- require_once (str_replace('_', DIRECTORY_SEPARATOR, "CRM_" . $name[0] . "_BAO_" . $name[1]) . ".php");
+ require_once str_replace('_', DIRECTORY_SEPARATOR, "CRM_" . $name[0] . "_BAO_" . $name[1]) . ".php";
$className = "CRM_{$name[0]}_BAO_{$name[1]}";
$bao = new $className();
$bao->$name[2] = $financialAccountId;
}
/**
- * 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
+ * @return int
+ * accounting code
* @static
*/
- static function getAccountingCode($financialTypeId) {
+ public static function getAccountingCode($financialTypeId) {
$relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Income Account is' "));
$query = "SELECT cfa.accounting_code
FROM civicrm_financial_type cft
}
/**
- * get AR account
+ * Get AR account
*
- * @param $financialAccountId financial account id
+ * @param $financialAccountId
+ * Financial account id.
*
- * @param $financialAccountTypeId financial account type id
+ * @param $financialAccountTypeId
+ * Financial account type id.
*
- * @param $accountTypeCode account type code
+ * @param string $accountTypeCode
+ * account type code
*
- * @return integer count
+ * @return integer
+ * count
* @static
*/
- static function getARAccounts($financialAccountId, $financialAccountTypeId = NULL, $accountTypeCode = 'ar') {
+ public static function getARAccounts($financialAccountId, $financialAccountTypeId = NULL, $accountTypeCode = 'ar') {
if (!$financialAccountTypeId) {
$financialAccountType = CRM_Core_PseudoConstant::accountOptionValues('financial_account_type');
$financialAccountTypeId = array_search('Asset', $financialAccountType);
2 => array(strtolower($accountTypeCode), 'String'),
3 => array($financialAccountId, 'Integer'),
);
- return CRM_Core_DAO::singleValueQuery($query, $params);
+ return CRM_Core_DAO::singleValueQuery($query, $params);
}
}
-