/** * 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 * * @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_ContributionType object * @access public * @static */ static function retrieve(&$params, &$defaults) { $financialItem = new CRM_Financial_DAO_FinancialTrxn(); $financialItem->copyValues($params); if ($financialItem->find(true)) { CRM_Core_DAO::storeValues($financialItem, $defaults); return $financialItem; } return null; }
/** * assignProportionalLineItems() method (add and edit modes of participant) */ public function testAssignProportionalLineItems() { list($lineItems, $contribution) = $this->addParticipantWithContribution(); $contributions['total_amount'] = $contribution->total_amount; $params = array('contribution_id' => $contribution->id, 'total_amount' => 150.0); $trxn = new CRM_Financial_DAO_FinancialTrxn(); $trxn->orderBy('id DESC'); $trxn->find(TRUE); CRM_Contribute_BAO_Contribution::assignProportionalLineItems($params, $trxn, $contributions); $this->checkItemValues($contribution); }