diff --git a/CRM/Grant/BAO/GrantPayment.php b/CRM/Grant/BAO/GrantPayment.php index 3d7a179c9fcb14ffddf7ec5e76bb837d6a9674c8..f1b019b3401e397f1b512a3866b91ac348a9a785 100755 --- a/CRM/Grant/BAO/GrantPayment.php +++ b/CRM/Grant/BAO/GrantPayment.php @@ -310,13 +310,6 @@ class CRM_Grant_BAO_GrantPayment extends CRM_Grant_DAO_GrantPayment { fputs($fp, $line); fclose($fp); } - - static function replaceVariables($html, $values) { - foreach ($values as $key => $value) { - $html = str_replace($key, $value, $html); - } - return $html; - } static function makePDF($fileName, $rows) { $config = CRM_Core_Config::singleton(); @@ -334,20 +327,20 @@ class CRM_Grant_BAO_GrantPayment extends CRM_Grant_DAO_GrantPayment { } $subject = $grantDao->subject; $html = $grantDao->html; - - $final_html = NULL; - foreach ($rows as $values) { - $words = new CRM_Grant_Words(); - $amount = $values['amount']; - $values['check_total'] = ltrim($amount, '$'); - $amount = str_replace (',', '', $amount); - $values['total_in_words'] = ucwords($words->convert_number_to_words(ltrim($amount, '$'))); - $final_html .= self::replaceVariables($html, $values) . "<br>"; + $text = $grantDao->text; + $format = $grantDao->format; + $grantDao->free(); + + civicrm_smarty_register_string_resource(); + $smarty = CRM_Core_Smarty::singleton(); + foreach(array('text', 'html') as $elem) { + $$elem = $smarty->fetch("string:{$$elem}"); } + $output = file_put_contents( $pdf_filename, CRM_Utils_PDF_Utils::html2pdf( - $final_html, + $html, $fileName, TRUE, 'Letter' diff --git a/CRM/Grant/Form/Task/GrantPayment.php b/CRM/Grant/Form/Task/GrantPayment.php index 5e8502c762747e87567054ca94b26b3fc43947de..8ffb3ea4b12b9f500f5c71ccd9ff1d417452e788 100755 --- a/CRM/Grant/Form/Task/GrantPayment.php +++ b/CRM/Grant/Form/Task/GrantPayment.php @@ -213,6 +213,7 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form { } } $totalAmount = 0; + $words = new CRM_Grant_Words(); foreach ($details as $id => $value) { $grantPayment[$id]['contact_id'] = $id; $grantPayment[$id]['financial_type_id'] = $values['financial_type_id']; @@ -253,9 +254,9 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form { require_once 'CRM/Grant/Words.php'; $words = new CRM_Grant_Words(); $amountInWords = ucwords($words->convert_number_to_words($values['amount'])); - $values['total_in_words'] = $grantValues['total_in_words'] = $amountInWords; + $grantPayment[$grantKey]['total_in_words'] = $values['total_in_words'] = $grantValues['total_in_words'] = $amountInWords; $result = CRM_Grant_BAO_GrantPayment::add( &$values, $ids = array()); - $grantPayment[$grantKey]['amount'] = CRM_Utils_Money::format($values['amount'], NULL, NULL,FALSE); + $grantPayment[$grantKey]['amount'] = $values['amount']; $contactPayments[$grantKey] = $result->id; unset($grantPayment[$grantKey]['payment_status_id']); if ($makePdf) { @@ -265,6 +266,7 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form { $downloadName = check_plain('grantPayment'); $downloadName .= '_'.date('Ymdhis'); + $this->assign('grantPayment', $grantPayment); if (!$makePdf) { $downloadName .= '.csv'; $fileName = CRM_Utils_File::makeFileName($downloadName); @@ -282,7 +284,6 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form { $this->assign('account_name',CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialType', $values['financial_type_id'], 'name')); $this->assign('batch_number', $values['payment_batch_number']); $this->assign('contact',CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $_SESSION[ 'CiviCRM' ][ 'userID' ], 'display_name')); - $this->assign('grantPayment', $grantPayment); $this->assign('total_payments', count($grantPayment)); $this->assign('total_amount' , CRM_Utils_Money::format($totalAmount, NULL, NULL,FALSE)); $this->assign('domain_name', CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain', CRM_Core_Config::domainID(), 'name')); diff --git a/sql/message_templates/grant_payment_check_html.tpl b/sql/message_templates/grant_payment_check_html.tpl index f55a517c90eb305d2fcb348a42601c0e50513de5..b2c742f7f20e4928524abcdd613331fb1a07403f 100644 --- a/sql/message_templates/grant_payment_check_html.tpl +++ b/sql/message_templates/grant_payment_check_html.tpl @@ -4,57 +4,59 @@ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> + {foreach from=$grantPayment key=key item=data} <body > <div style="height:140px" > - <div style="float:right; text-align:right; margin-top:-40px;"> payment_id </div> + <div style="float:right; text-align:right; margin-top:-40px;">{$data.payment_id}</div> <table width="100%" cellpadding=0 cellspacing=0 ; style="margin-top:40px;"> <tr> - <td width="85%"></td><td width="15%" style="float:right; text-align:right;">payment_date</td> + <td width="85%"></td><td width="15%" style="float:right; text-align:right;">{$data.payment_date}</td> </tr> <tr> - <td width="85%">total_in_words</td><td width="15%" style="float:right; text-align:right;">check_total</td> - </tr> + <td width="85%">{$data.total_in_words}</td><td width="15%" style="float:right; text-align:right;">{$data.amount|crmMoney:$data.currency}</td> + </tr> </table> </div> <div style="height:60px" > <table width="100%" cellpadding=0 cellspacing=0 ;"> <tr> - <td width="100%">payable_to_name</td> - </tr> + <td width="100%">{$data.payable_to_name}</td> + </tr> <tr> - <td width="100%">payable_to_address</td> + <td width="100%">{$data.payable_to_address}</td> </tr> </table> </div> <div style="height:100px" > <table width="100%" cellpadding=0 cellspacing=0 ;> <tr> - <td width="100%">RE: payment_reason</td> + <td width="100%">RE: {$data.payment_reason}</td> </tr> </table> </div> <div style="height:300px" > - <div style="float:right; text-align:right;"> payment_id </div> + <div style="float:right; text-align:right;">{$data.payment_id}</div> <table width="100%" cellpadding=0 cellspacing=0 > - <tr><td width="100%" colspan="4">RE: payment_reason</td></tr> + <tr><td width="100%" colspan="4">RE: {$data.payment_reason}</td></tr> <tr><td width="15%">Payment Date</td><td width="15%">Grant ID</td><td width="50%">Payee</td><td width="20%">Amount</td></tr> - <tr><td width="15%">payment_details</td> </tr> + <tr><td width="15%">{$data.payment_details}</td> </tr> <tr> - <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right;" >Total Amount </td><td width="15%" >currency amount</td> - </tr> + <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right;" >Total Amount </td><td width="15%" >CAD: {$data.amount|crmMoney:$data.currency}</td> + </tr> </table> </div> <div style="height:265px" > - <div style="float:right; text-align:right;"> payment_id </div> + <div style="float:right; text-align:right;"> {$data.payment_id} </div> <table width="100%" cellpadding=0 cellspacing=0 > - <tr><td width="100%" colspan="4">RE: payment_reason</td></tr> + <tr><td width="100%" colspan="4">RE: {$data.payment_reason}</td></tr> <tr><td width="15%">Payment Date</td><td width="15%">Grant ID</td><td width="50%">Payee</td><td width="20%">Amount</td></tr> - <tr><td width="15%">payment_details</td> - </tr> + <tr><td width="15%">{$data.payment_details}</td> + </tr> <tr> - <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right; ">Total Amount </td><td width="20%" >currency amount</td> - </tr> + <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right; ">Total Amount </td><td width="20%" >CAD: {$data.amount|crmMoney:$data.currency}</td> + </tr> </table> </div> </body> +{/foreach} </html> \ No newline at end of file