Invoice PDF generation working
This commit is contained in:
parent
e400230c41
commit
35c9534407
|
|
@ -436,6 +436,7 @@ class DocumentsController extends AppController {
|
||||||
$this->set('principlesList', $this->Document->LineItem->Product->Principle->find('list'));
|
$this->set('principlesList', $this->Document->LineItem->Product->Principle->find('list'));
|
||||||
|
|
||||||
$this->set('products', $document['LineItem']);
|
$this->set('products', $document['LineItem']);
|
||||||
|
$this->set('states', $this->Document->Invoice->Enquiry->State->find('list'));
|
||||||
|
|
||||||
|
|
||||||
//Set filename for the document.
|
//Set filename for the document.
|
||||||
|
|
@ -443,10 +444,13 @@ class DocumentsController extends AppController {
|
||||||
switch($docType) {
|
switch($docType) {
|
||||||
case "quote":
|
case "quote":
|
||||||
$filename = $enquiry['Enquiry']['title'];
|
$filename = $enquiry['Enquiry']['title'];
|
||||||
|
$template_name = 'pdf_quote';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "invoice":
|
case "invoice":
|
||||||
$filename = $document['Invoice']['title'];
|
$filename = $document['Invoice']['title'];
|
||||||
|
$this->set('job', $this->Document->Invoice->Job->find('first', array('conditions'=>array('Job.id'=>$document['Invoice']['job_id']))));
|
||||||
|
$template_name = 'pdf_invoice';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "purchaseOrder":
|
case "purchaseOrder":
|
||||||
|
|
@ -487,6 +491,8 @@ class DocumentsController extends AppController {
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->set('colWidths',$colWidths);
|
$this->set('colWidths',$colWidths);
|
||||||
|
|
||||||
|
$this->render($template_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
7
vendors/pdfdoc.php
vendored
7
vendors/pdfdoc.php
vendored
|
|
@ -92,7 +92,7 @@ ENDHTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For Quotes and (hopefully) Invoices. Identifies who the document is for, date, reference number, etc.
|
* For Quotes and (hopefully) Invoices. Identifies who the document is for, date, reference number, etc.
|
||||||
*/
|
*/
|
||||||
|
|
@ -101,7 +101,7 @@ ENDHTML;
|
||||||
|
|
||||||
$pageNo = $this->PageNoFormatted();
|
$pageNo = $this->PageNoFormatted();
|
||||||
$totalCount = $this->getAliasNbPages();
|
$totalCount = $this->getAliasNbPages();
|
||||||
|
|
||||||
$col1width = '20%';
|
$col1width = '20%';
|
||||||
$col2width = '30%';
|
$col2width = '30%';
|
||||||
$col3width = $col1width;
|
$col3width = $col1width;
|
||||||
|
|
@ -160,13 +160,14 @@ ENDTABLE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function header() {
|
function header() {
|
||||||
|
|
||||||
//$this->Image(K_PATH_IMAGES.'cmclogosmall.jpg', 10, 10, 15, 13.6, null, 'http://www.cmctechnologies.com.au', null, false, null, 'L');
|
//$this->Image(K_PATH_IMAGES.'cmclogosmall.jpg', 10, 10, 15, 13.6, null, 'http://www.cmctechnologies.com.au', null, false, null, 'L');
|
||||||
$this->SetFontSize(10);
|
$this->SetFontSize(10);
|
||||||
$pageNo = $this->PageNoFormatted();
|
$pageNo = $this->PageNoFormatted();
|
||||||
$totalCount = $this->getAliasNbPages();
|
$totalCount = $this->getAliasNbPages();
|
||||||
|
|
||||||
|
|
||||||
//$currentX = $this->GetX();
|
//$currentX = $this->GetX();
|
||||||
|
|
||||||
|
|
|
||||||
73
views/documents/pdf_invoice.ctp
Normal file
73
views/documents/pdf_invoice.ctp
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
<?php
|
||||||
|
App::import('Vendor','pdfdoc');
|
||||||
|
|
||||||
|
$pdfdoc = new PDFDOC();
|
||||||
|
|
||||||
|
$pdfdoc->SetPrintHeader(false);
|
||||||
|
$pdfdoc->SetPrintFooter(false);
|
||||||
|
|
||||||
|
|
||||||
|
$pdfdoc->AddPage();
|
||||||
|
$pdfdoc->Page1Header();
|
||||||
|
|
||||||
|
$pageTitle = "<h1>TAX INVOICE</h1>";
|
||||||
|
$pdfdoc->writeHTML($pageTitle, true, false, false, false, 'C');
|
||||||
|
|
||||||
|
$pdfdoc->SetTextColor(0);
|
||||||
|
$shippingBillingBox = $this->element('pdf_shipping_billing_box');
|
||||||
|
|
||||||
|
$pdfdoc->writeHTML($shippingBillingBox, false);
|
||||||
|
|
||||||
|
$LineItemTable = $this->element('line_items_table');
|
||||||
|
$pdfdoc->SetPrintHeader(true);
|
||||||
|
|
||||||
|
$pdfdoc->pageContent($LineItemTable);
|
||||||
|
$pdfdoc->lastPage();
|
||||||
|
|
||||||
|
if($docType == 'quote') {
|
||||||
|
|
||||||
|
$commercialComments = '<div nobr="true">'.$document['Quote']['commercial_comments'].'</div>';
|
||||||
|
$pdfdoc->pageContent($commercialComments);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$output_dir = '/Users/karlcordes/Sites/quotenik/app/webroot/pdf/';
|
||||||
|
|
||||||
|
$debuglevel = Configure::read('debug');
|
||||||
|
|
||||||
|
if($debuglevel == 0) {
|
||||||
|
$output_dir = '/var/www/cakephp/app/webroot/pdf/';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$pdfdoc->Output($output_dir.$filename, 'F');
|
||||||
|
|
||||||
|
echo "<br> Wrote: ".$output_dir.$filename;
|
||||||
|
|
||||||
|
App::import('Vendor', 'xfpdi');
|
||||||
|
|
||||||
|
|
||||||
|
//$newpdf = new concat_pdf();
|
||||||
|
|
||||||
|
$newpdf = new XFPDI();
|
||||||
|
|
||||||
|
$newpdf->SetMargins(2, 2);
|
||||||
|
$newpdf->setPrintHeader(false);
|
||||||
|
$newpdf->setPrintFooter(false);
|
||||||
|
|
||||||
|
$newpdf->setFiles(array($output_dir.$filename, $output_dir.'CMC_terms_and_conditions2006_A4.pdf'));
|
||||||
|
$newpdf->concat();
|
||||||
|
$newpdf->Output($output_dir.$filename, "F");
|
||||||
|
//$pdfdoc->Output($output_dir = '/Users/karlcordes/Sites/quotenik/app/webroot/pdf/'.'example_060.pdf', 'F');
|
||||||
|
|
||||||
|
//echo $html->link($filename, '/pdf/'.$filename);
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
//window.location.replace("/documents/view/<?=$document['Document']['id']?>");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<? debug($job); ?>
|
||||||
|
<? //debug($enquiry); ?>
|
||||||
0
views/documents/pdf_order_ack.ctp
Normal file
0
views/documents/pdf_order_ack.ctp
Normal file
|
|
@ -9,7 +9,6 @@ $pdfdoc->SetPrintFooter(false);
|
||||||
|
|
||||||
$firstPageDone = false;
|
$firstPageDone = false;
|
||||||
|
|
||||||
|
|
||||||
$companyName = $enquiry['Customer']['name'];
|
$companyName = $enquiry['Customer']['name'];
|
||||||
$emailTo = $enquiry['Contact']['email'];
|
$emailTo = $enquiry['Contact']['email'];
|
||||||
$attention = $enquiry['Contact']['first_name'].' '.$enquiry['Contact']['last_name'];
|
$attention = $enquiry['Contact']['first_name'].' '.$enquiry['Contact']['last_name'];
|
||||||
|
|
@ -8,9 +8,9 @@ echo $form->input('Document.id');
|
||||||
|
|
||||||
<div class="docButtons">
|
<div class="docButtons">
|
||||||
<button id="generateFirstPage">(re)Generate First Page</button>
|
<button id="generateFirstPage">(re)Generate First Page</button>
|
||||||
<button id="addPage">Add Content Page</button>
|
|
||||||
<button id="editQuoteDetails">View/Edit Quote Details</button>
|
<button id="editInvoiceDetails">View/Edit Invoice Details</button>
|
||||||
<?=$html->link('Generate PDF of this Quote', '/documents/pdf/'.$document['Document']['id']);?>
|
<?=$html->link('Generate PDF of this Invoice', '/documents/pdf/'.$document['Document']['id']);?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="flashMessage" class="message">
|
<div id="flashMessage" class="message">
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,9 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?endforeach;?>
|
<?endforeach;?>
|
||||||
|
</tbody>
|
||||||
|
<tfoot nobr="true">
|
||||||
|
|
||||||
<tr nobr="true">
|
<tr nobr="true">
|
||||||
<td width="<?=$colWidths['item'];?>"></td>
|
<td width="<?=$colWidths['item'];?>"></td>
|
||||||
<td width="<?=$colWidths['qty'];?>"></td>
|
<td width="<?=$colWidths['qty'];?>"></td>
|
||||||
|
|
@ -102,5 +105,5 @@
|
||||||
}
|
}
|
||||||
?></td>
|
?></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tfoot>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
0
views/elements/pdf_document_data_payment.ctp
Normal file
0
views/elements/pdf_document_data_payment.ctp
Normal file
57
views/elements/pdf_shipping_billing_box.ctp
Normal file
57
views/elements/pdf_shipping_billing_box.ctp
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
<?
|
||||||
|
$col1width = '30%';
|
||||||
|
$col2width = '30%';
|
||||||
|
$col3width = '30%';
|
||||||
|
|
||||||
|
?>
|
||||||
|
<table cellpadding="2" cellspacing="0" >
|
||||||
|
<tr>
|
||||||
|
<td style="width: <?=$col1width?>; border-top: 1px solid black; border-left: 1px solid black; border-bottom: 1px solid black; background-color: #f2f2f2">BILL TO:</td>
|
||||||
|
<td style="width: <?=$col1width?>; border-top: 1px solid black; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; background-color: #f2f2f2">SHIP TO:</td>
|
||||||
|
<td style="width: 3%;"></td>
|
||||||
|
<td style="font-size: 9pt; width: 37%;" colspan="4" rowspan="2">
|
||||||
|
<span style="text-decoration: underline; font-size: 11pt">CMC INVOICE#: CMCIN4745</span><br>
|
||||||
|
<span style="text-decoration: none">Date: <?=$document['Invoice']['issue_date'];?></span><br><br>
|
||||||
|
<span style="text-decoration: underline">MAKE PAYMENT TO:</span><br>
|
||||||
|
<span style="text-decoration: none">Account Name: CMC Technologies Pty Ltd<br>
|
||||||
|
Bank Number BSB#: 062-458<br>
|
||||||
|
Account Number: 10067982<br>
|
||||||
|
SWIFT Code: CTBAAU2S
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width: <?=$col1width?>; border-top: 1px solid black; border-left: 1px solid black; border-bottom: 1px solid black">
|
||||||
|
<?=$enquiry['BillingAddress']['address'];?><br>
|
||||||
|
<?=$enquiry['BillingAddress']['city'];?><br>
|
||||||
|
<?=$enquiry['BillingAddress']['postcode'];?>
|
||||||
|
<?=strtoupper($states[$enquiry['BillingAddress']['state_id']]);?><br>
|
||||||
|
</td>
|
||||||
|
<td style="width: <?=$col1width?>; border-top: 1px solid black; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">
|
||||||
|
<?=$enquiry['ShippingAddress']['address'];?><br>
|
||||||
|
<?=$enquiry['ShippingAddress']['city'];?><br>
|
||||||
|
<?=$enquiry['ShippingAddress']['postcode'];?>
|
||||||
|
<?=strtoupper($states[$enquiry['ShippingAddress']['state_id']]);?><br>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
<table border="1" cellpadding="2" cellspacing="0">
|
||||||
|
<tr bgcolor="#f2f2f2" align="center">
|
||||||
|
<? $moreDetailsFont = '9pt'; ?>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">CUSTOMER ORDER NO</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">CMC JOB #</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">FOB</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">SHIP VIA</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">TERMS</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">CUSTOMER ABN</td>
|
||||||
|
</tr>
|
||||||
|
<tr align="center">
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>"><?=$job['Job']['customer_order_number'];?></td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>"><?=$job['Job']['title'];?></td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">??</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>">??</td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>"><?=$job['Customer']['payment_terms'];?></td>
|
||||||
|
<td style="font-size: <?=$moreDetailsFont?>"><?=$this->element('abn', array('abn'=>$job['Customer']['abn']));?></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
Loading…
Reference in a new issue