/**
  * Check method del()
  */
 public function testDel()
 {
     list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount('Expenses', 'Expense Account is');
     CRM_Financial_BAO_FinancialTypeAccount::del($financialAccountType->id);
     $params = array('id' => $financialAccountType->id);
     $result = CRM_Financial_BAO_FinancialType::retrieve($params, $defaults);
     $this->assertEquals(empty($result), TRUE, 'Verify financial types record deletion.');
 }
 /**
  * check method del()
  */
 function testDel()
 {
     $params = array('name' => 'TestFinancialAccount_2', 'is_deductible' => 0, 'is_active' => 1, 'is_reserved' => 0);
     $ids = array();
     $defaults = array();
     $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids);
     $params['name'] = 'test_financialType2';
     $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
     $relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Expense Account is' "));
     $financialParams = array('entity_table' => 'civicrm_financial_type', 'entity_id' => $financialType->id, 'account_relationship' => $relationTypeId, 'financial_account_id' => $financialAccount->id);
     $financialAccountType = CRM_Financial_BAO_FinancialTypeAccount::add($financialParams, $ids);
     CRM_Financial_BAO_FinancialTypeAccount::del($financialAccountType->id);
     $params = array('id' => $financialAccountType->id);
     $result = CRM_Financial_BAO_FinancialType::retrieve($params, $defaults);
     $this->assertEquals(empty($result), true, 'Verify financial types record deletion.');
 }
 /**
  * Function to process the form
  *
  * @access public
  * @return void
  */
 public function postProcess()
 {
     if ($this->_action & CRM_Core_Action::DELETE) {
         CRM_Financial_BAO_FinancialTypeAccount::del($this->_id, $this->_aid);
         CRM_Core_Session::setStatus(ts('Selected financial type account has been deleted.'));
     } else {
         $params = $ids = array();
         // store the submitted values in an array
         $params = $this->exportValues();
         if ($this->_action & CRM_Core_Action::UPDATE) {
             $ids['entityFinancialAccount'] = $this->_id;
         }
         if ($this->_action & CRM_Core_Action::ADD || $this->_action & CRM_Core_Action::UPDATE) {
             $params['financial_account_id'] = $this->_submitValues['financial_account_id'];
         }
         $params['entity_table'] = 'civicrm_financial_type';
         if ($this->_action & CRM_Core_Action::ADD) {
             $params['entity_id'] = $this->_aid;
         }
         $financialTypeAccount = CRM_Financial_BAO_FinancialTypeAccount::add($params, $ids);
         CRM_Core_Session::setStatus(ts('The financial type Account has been saved.'));
     }
     $buttonName = $this->controller->getButtonName();
     $session = CRM_Core_Session::singleton();
     if ($buttonName == $this->getButtonName('next', 'new')) {
         CRM_Core_Session::setStatus(ts(' You can add another Financial Account Type.'));
         $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/financial/financialType/accounts', "reset=1&action=add&aid={$this->_aid}"));
     } else {
         $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/financial/financialType/accounts', "reset=1&action=browse&aid={$this->_aid}"));
     }
 }