/**
  * 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;
 }
Exemplo n.º 2
0
 /**
  * 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);
 }