本文整理汇总了PHP中CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations方法的具体用法?PHP CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations怎么用?PHP CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Financial_BAO_FinancialAccount
的用法示例。
在下文中一共展示了CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: jqFinancialRelation
/**
* @param $config
*/
public static function jqFinancialRelation($config)
{
if (!isset($_GET['_value']) || empty($_GET['_value'])) {
CRM_Utils_System::civiExit();
}
if ($_GET['_value'] != 'select') {
$financialAccountType = CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations(TRUE);
$financialAccountId = CRM_Utils_Request::retrieve('_value', 'Positive', CRM_Core_DAO::$_nullObject);
$financialAccountTypeId = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialAccount', $financialAccountId, 'financial_account_type_id');
}
$params['orderColumn'] = 'label';
$result = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_EntityFinancialAccount', 'account_relationship', $params);
$elements = array(array('name' => ts('- Select Financial Account Relationship -'), 'value' => 'select'));
$countResult = count($financialAccountType[$financialAccountTypeId]);
if (!empty($result)) {
foreach ($result as $id => $name) {
if (in_array($id, $financialAccountType[$financialAccountTypeId]) && $_GET['_value'] != 'select') {
if ($countResult != 1) {
$elements[] = array('name' => $name, 'value' => $id);
} else {
$elements[] = array('name' => $name, 'value' => $id, 'selected' => 'Selected');
}
} elseif ($_GET['_value'] == 'select') {
$elements[] = array('name' => $name, 'value' => $id);
}
}
}
CRM_Utils_JSON::output($elements);
}
示例2: validateRelationship
/**
* Validate account relationship with financial account type
*
* @param obj $financialTypeAccount of CRM_Financial_DAO_EntityFinancialAccount
*
*/
public static function validateRelationship($financialTypeAccount)
{
$financialAccountLinks = CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations();
$financialAccountType = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialAccount', $financialTypeAccount->financial_account_id, 'financial_account_type_id');
if (CRM_Utils_Array::value($financialTypeAccount->account_relationship, $financialAccountLinks) != $financialAccountType) {
$accountRelationships = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_EntityFinancialAccount', 'account_relationship');
$params = array(1 => $accountRelationships[$financialTypeAccount->account_relationship]);
throw new Exception(ts("This financial account cannot have '%1' relationship.", $params));
}
}
示例3: testGetFinancialAccountRelations
/**
* Test getting financial account relations for a given financial type.
*/
public function testGetFinancialAccountRelations()
{
$fAccounts = $rAccounts = array();
$relations = CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations();
$links = array('Expense Account is' => 'Expenses', 'Accounts Receivable Account is' => 'Asset', 'Income Account is' => 'Revenue', 'Asset Account is' => 'Asset', 'Cost of Sales Account is' => 'Cost of Sales', 'Premiums Inventory Account is' => 'Asset', 'Discounts Account is' => 'Revenue', 'Sales Tax Account is' => 'Liability', 'Deferred Revenue Account is' => 'Liability');
$dao = CRM_Core_DAO::executeQuery("SELECT ov.value, ov.name\n FROM civicrm_option_value ov\n INNER JOIN civicrm_option_group og ON og.id = ov.option_group_id\n AND og.name = 'financial_account_type'");
while ($dao->fetch()) {
$fAccounts[$dao->value] = $dao->name;
}
$dao = CRM_Core_DAO::executeQuery("SELECT ov.value, ov.name\n FROM civicrm_option_value ov\n INNER JOIN civicrm_option_group og ON og.id = ov.option_group_id\n AND og.name = 'account_relationship'");
while ($dao->fetch()) {
$rAccounts[$dao->value] = $dao->name;
}
foreach ($links as $accountRelation => $accountType) {
$financialAccountLinks[array_search($accountRelation, $rAccounts)] = array_search($accountType, $fAccounts);
}
$this->assertTrue($relations == $financialAccountLinks, "The two arrays are not the same");
}
示例4: buildQuickForm
/**
* Build the form object.
*/
public function buildQuickForm()
{
parent::buildQuickForm();
$this->setPageTitle(ts('Financial Type Account'));
if ($this->_action & CRM_Core_Action::DELETE) {
return;
}
if (isset($this->_id)) {
$params = array('id' => $this->_id);
CRM_Financial_BAO_FinancialTypeAccount::retrieve($params, $defaults);
$this->setDefaults($defaults);
$financialAccountTitle = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialAccount', $defaults['financial_account_id'], 'name');
}
$this->applyFilter('__ALL__', 'trim');
if ($this->_action == CRM_Core_Action::UPDATE) {
$this->assign('aid', $this->_id);
// hidden field to catch the group id in profile
$this->add('hidden', 'financial_type_id', $this->_aid);
// hidden field to catch the field id in profile
$this->add('hidden', 'account_type_id', $this->_id);
}
$params['orderColumn'] = 'label';
$AccountTypeRelationship = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_EntityFinancialAccount', 'account_relationship', $params);
if (!empty($AccountTypeRelationship)) {
$element = $this->add('select', 'account_relationship', ts('Financial Account Relationship'), array('select' => ts('- Select Financial Account Relationship -')) + $AccountTypeRelationship, TRUE);
}
if ($this->_isARFlag) {
$element->freeze();
}
if ($this->_action == CRM_Core_Action::ADD) {
if (!empty($this->_submitValues['account_relationship']) || !empty($this->_submitValues['financial_account_id'])) {
$financialAccountType = CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations();
$financialAccountType = CRM_Utils_Array::value($this->_submitValues['account_relationship'], $financialAccountType);
$result = CRM_Contribute_PseudoConstant::financialAccount(NULL, $financialAccountType);
$financialAccountSelect = array('' => ts('- select -')) + $result;
} else {
$financialAccountSelect = array('select' => ts('- select -')) + CRM_Contribute_PseudoConstant::financialAccount();
}
}
if ($this->_action == CRM_Core_Action::UPDATE) {
$financialAccountType = CRM_Financial_BAO_FinancialAccount::getfinancialAccountRelations();
$financialAccountType = $financialAccountType[$this->_defaultValues['account_relationship']];
$result = CRM_Contribute_PseudoConstant::financialAccount(NULL, $financialAccountType);
$financialAccountSelect = array('' => ts('- select -')) + $result;
}
$this->add('select', 'financial_account_id', ts('Financial Account'), $financialAccountSelect, TRUE);
$this->addButtons(array(array('type' => 'next', 'name' => ts('Save'), 'isDefault' => TRUE), array('type' => 'next', 'name' => ts('Save and New'), 'subName' => 'new'), array('type' => 'cancel', 'name' => ts('Cancel'))));
$this->addFormRule(array('CRM_Financial_Form_FinancialTypeAccount', 'formRule'), $this);
}