function preProcess() { CRM_Utils_Request::retrieve('id', 'Int', $this, false); $readonly = CRM_Utils_Request::retrieve('readonly', 'Boolean', $this, false); $this->assign('readonly', $readonly); $id = $this->get('id'); $params = $this->controller->exportValues(); $selector = new CRM_Finance_Selector_Import($id, $params); $this->assign('importId', $id); $dataExchange = new CRM_Finance_Utils_DataExchange(); $processData = $dataExchange->getProcessById($id); if (isset($processData['data']['status'])) { $this->assign('validationSummary', $processData['data']['status']); } require_once 'CRM/Finance/BAO/Import/Source.php'; $sourceOptions = CRM_Finance_BAO_Import_Source::getAllAsOptions(); $processData['sourceName'] = $sourceOptions[$processData['source']]; $this->assign('importSummary', $processData); $output = CRM_Core_Selector_Controller::TEMPLATE; $sortID = null; if ($this->get(CRM_Utils_Sort::SORT_ID)) { $sortID = CRM_Utils_Sort::sortIDValue($this->get(CRM_Utils_Sort::SORT_ID), $this->get(CRM_Utils_Sort::SORT_DIRECTION)); } $controller = new CRM_Core_Selector_Controller($selector, $this->get(CRM_Utils_Pager::PAGE_ID), $sortID, CRM_Core_Action::VIEW, $this, $output); $controller->setEmbedded(true); $controller->run(); }
class CRM_Finance_Page_AJAX { function updateImport() { $importId = CRM_Utils_Array::value('import_id', $_GET); $importId = CRM_Utils_Type::escape($importId, 'Int'); $recId = CRM_Utils_Array::value('id', $_GET); $recId = CRM_Utils_Type::escape($recId, 'Int'); $contactId = CRM_Utils_Array::value('contact_id', $_GET); $contactId = CRM_Utils_Type::escape($contactId, 'Int'); $contact = civicrm_api('Contact', 'get', array('version' => 3, 'id' => $contactId)); if ($contact['count'] != 1) { throw new Exception("No contact!"); } $displayName = CRM_Utils_Array::value('contact_display_name', $_GET); if (empty($displayName)) { //take it from contact loaded! $displayName = $contact['values'][$contact['id']]['display_name']; } $data = array('status' => 0, 'contact_id' => $contactId, 'contact_display_name' => $displayName); require_once 'CRM/Finance/Utils/DataExchange.php'; $dataExchange = new CRM_Finance_Utils_DataExchange(); $dataExchange->updateData($importId, $recId, $data); echo json_encode(array('is_error' => 0, 'data' => array('status_desc' => 'Updated - needs validation', 'contact_id' => $contactId, 'contact_display_name' => $displayName)));
/** * returns all the rows in the given offset and rowCount * * @param enum $action the action being performed * @param int $offset the row number to start from * @param int $rowCount the number of rows to return * @param string $sort the sql string that describes the sort order * @param enum $type what should the result set include (web/email/csv) * * @return int the total number of rows for this action * @access public */ function &getRows($action, $offset, $rowCount, $sort, $type = null) { $id = $this->importData['id']; $params = array_merge($this->params, array('limitOffset' => $offset, 'limitCount' => $rowCount)); $dao = $this->dataExchange->getDataDAO($id, $params); $msgs = $this->bao->getStatuses(); $rows = array(); while ($dao->fetch()) { $row = $dao->toArray(); $row['search_contact_name'] = $this->bao->getSearchContactName($row); $status = $row['status']; $row['error_status'] = CRM_Finance_BAO_Import_SourceAbstract::isErrorStatus($status); $row['status_desc'] = $msgs[$status]; $rows[] = $row; } return $rows; }