/** * CRM-17815 - Test due date and payment advice block in generated * invoice pdf for pending and completed contributions */ public function testInvoiceForDueDate() { $contactIds = array(); $params = array('output' => 'pdf_invoice', 'forPage' => 1); $form = new CRM_Contribute_Form_Task_Invoice(); $this->_individualId = $this->individualCreate(); $contributionParams = array('contact_id' => $this->_individualId, 'total_amount' => 100, 'financial_type_id' => 'Donation'); $result = $this->callAPISuccess('Contribution', 'create', $contributionParams); $contributionParams['contribution_status_id'] = 2; $contributionParams['is_pay_later'] = 1; $contribution = $this->callAPISuccess('Contribution', 'create', $contributionParams); $contributionIDs = array(array($result['id']), array($contribution['id'])); $contactIds[] = $this->_individualId; foreach ($contributionIDs as $contributionID) { $invoiceHTML[current($contributionID)] = CRM_Contribute_Form_Task_Invoice::printPDF($contributionID, $params, $contactIds, $form); } $this->assertNotContains('Due Date', $invoiceHTML[$result['id']]); $this->assertNotContains('PAYMENT ADVICE', $invoiceHTML[$result['id']]); $this->assertContains('Due Date', $invoiceHTML[$contribution['id']]); $this->assertContains('PAYMENT ADVICE', $invoiceHTML[$contribution['id']]); }
/** * Callback to perform action on Print Invoice button. */ public static function getPrintPDF() { $contributionId = CRM_Utils_Request::retrieve('id', 'Positive', CRM_Core_DAO::$_nullObject, FALSE); $contributionIDs = array($contributionId); $contactId = CRM_Utils_Request::retrieve('cid', 'Positive', CRM_Core_DAO::$_nullObject, FALSE); $params = array('output' => 'pdf_invoice'); CRM_Contribute_Form_Task_Invoice::printPDF($contributionIDs, $params, $contactId, CRM_Core_DAO::$_nullObject); }
/** * Generate html for pdf in confirmation receipt email attachment. * @param int $contributionId * Contribution Page Id. * @param int $userID * Contact id for contributor. * @return array */ public static function addInvoicePdfToEmail($contributionId, $userID) { $contributionID = array($contributionId); $contactId = array($userID); $pdfParams = array('output' => 'pdf_invoice', 'forPage' => 'confirmpage'); $pdfHtml = CRM_Contribute_Form_Task_Invoice::printPDF($contributionID, $pdfParams, $contactId, CRM_Core_DAO::$_nullObject); return $pdfHtml; }