From a484786737625b9f272ff6e1ef29cfdd53f56dad Mon Sep 17 00:00:00 2001 From: Karl Cordes Date: Sun, 14 Apr 2013 13:14:11 +1000 Subject: [PATCH] Lots of work on documents. OAs can now be made without a new job. Job can be changed. --- app/controllers/documents_controller.php | 1 + app/controllers/enquiries_controller.php | 4 +-- app/views/documents/pdf_invoice.ctp | 5 +-- app/views/documents/pdf_po.ctp | 38 ++++++++++++++++++++ app/views/elements/document_invoice_view.ctp | 11 ++++-- app/webroot/js/document_add_edit.js | 2 +- 6 files changed, 52 insertions(+), 9 deletions(-) create mode 100755 app/views/documents/pdf_po.ctp diff --git a/app/controllers/documents_controller.php b/app/controllers/documents_controller.php index 28288e2a..7a4de97b 100755 --- a/app/controllers/documents_controller.php +++ b/app/controllers/documents_controller.php @@ -578,6 +578,7 @@ class DocumentsController extends AppController { case "purchaseOrder": $filename = $document['PurchaseOrder']['title']; + $template_name = 'pdf_po'; break; case "orderAck": diff --git a/app/controllers/enquiries_controller.php b/app/controllers/enquiries_controller.php index 9be16e7d..270bde7d 100755 --- a/app/controllers/enquiries_controller.php +++ b/app/controllers/enquiries_controller.php @@ -62,8 +62,8 @@ class EnquiriesController extends AppController { //$this->set('number_of_files', $this->Enquiry->EnquiryFile->find('count', array('conditions' => array('EnquiryFile.enquiry_id'=>$id)))); $this->set('principle_emails', $this->Enquiry->Principle->PrincipleContact->findAllByPrincipleId($enquiry['Enquiry']['principle_id'])); - $this->set('jobs', $this->Enquiry->Job->find('all', array('conditions'=>array('Job.enquiry_id'=>$id)))); - $this->set('order_acknowledgements', $this->Enquiry->OrderAcknowledgement->find('all', array('conditions'=>array('OrderAcknowledgement.enquiry_id'=>$id)))); + $this->set('jobs', $this->Enquiry->Job->find('all', array('conditions'=>array('Job.enquiry_id'=>$id, ),'order'=>'Job.id DESC'))); + $this->set('order_acknowledgements', $this->Enquiry->OrderAcknowledgement->find('all', array('conditions'=>array('OrderAcknowledgement.enquiry_id'=>$id), 'order'=>'OrderAcknowledgement.id DESC'))); if($enquiry['Enquiry']['billing_address_id'] != 0) { $this->set('billingaddress', $this->Enquiry->BillingAddress->findById($enquiry['Enquiry']['billing_address_id'])); diff --git a/app/views/documents/pdf_invoice.ctp b/app/views/documents/pdf_invoice.ctp index 180f8564..e5da9f87 100755 --- a/app/views/documents/pdf_invoice.ctp +++ b/app/views/documents/pdf_invoice.ctp @@ -33,9 +33,6 @@ $this->element('pdf_output', array('pdfdoc'=>$pdfdoc)); ?> - - - \ No newline at end of file diff --git a/app/views/documents/pdf_po.ctp b/app/views/documents/pdf_po.ctp new file mode 100755 index 00000000..e5da9f87 --- /dev/null +++ b/app/views/documents/pdf_po.ctp @@ -0,0 +1,38 @@ +SetPrintHeader(false); +$pdfdoc->SetPrintFooter(false); + + +$pdfdoc->AddPage(); +$pdfdoc->Page1Header(); + +$pageTitle = "

TAX INVOICE

"; +$pdfdoc->writeHTML($pageTitle, true, false, false, false, 'C'); + +$pdfdoc->SetTextColor(0); + +$pageNo = $pdfdoc->PageNoFormatted(); +$totalCount = $pdfdoc->getAliasNbPages(); + + +$shippingBillingBox = $this->element('pdf_shipping_billing_box', array('pageNo'=>$pageNo, 'totalCount'=>$totalCount)); + +$pdfdoc->writeHTML($shippingBillingBox, false); + +$LineItemTable = $this->element('line_items_table_with_shipping'); +$pdfdoc->SetPrintHeader(true); + +$pdfdoc->pageContent($LineItemTable); + +$this->element('pdf_output', array('pdfdoc'=>$pdfdoc)); + +?> + + + diff --git a/app/views/elements/document_invoice_view.ctp b/app/views/elements/document_invoice_view.ctp index ec3beeda..e5f477e7 100755 --- a/app/views/elements/document_invoice_view.ctp +++ b/app/views/elements/document_invoice_view.ctp @@ -5,8 +5,8 @@
- link('Generate PDF of this Invoice', '/documents/pdf/'.$document['Document']['id']);?> - link('Email PDF to Customer', '/documents/email_pdf/'.$document['Document']['id']);?> + +
@@ -16,13 +16,20 @@ create('Document',array('type'=>'post','action'=>'edit', 'default'=>false)); echo $form->input('Document.id'); echo $form->input('Invoice.id'); + echo $form->input('Invoice.job_id'); echo $form->input('Invoice.currency_id'); echo $form->input('Invoice.issue_date'); echo $form->input('Invoice.due_date'); + echo $form->input('billing_address_id', array('div' => 'addressradio', 'legend' => 'Select Billing Address', 'options' => $billing_addresses_list, 'type' => 'radio', 'class'=>'billing_address')); echo $form->input('Document.bill_to'); + + + echo $form->input('shipping_address_id', array('div' => 'addressradio','legend' => 'Select Shipping Address', 'options' => $shipping_addresses_list, 'type' => 'radio', 'class' => 'shipping_address')); echo $form->input('Document.ship_to'); + + echo $form->input('Invoice.ship_via'); echo $form->input('Invoice.fob'); echo $form->input('Document.shipping_details', array('id'=>'shippingDetails')); diff --git a/app/webroot/js/document_add_edit.js b/app/webroot/js/document_add_edit.js index 7247d73f..9e89b36d 100755 --- a/app/webroot/js/document_add_edit.js +++ b/app/webroot/js/document_add_edit.js @@ -575,7 +575,7 @@ function savePages() { }); $.post('/documents/ajax_edit', docPages, function(data) { - $("#flashMessage").html("Pages Saved Successfully"); + $("#flashMessage").html("Document saved"); $("#flashMessage").show(); loadLineItems(); });